600 likes | 839 Views
Software Projects. CSC 394 / IS 376 . Primary purpose. Work in a team to complete a software project by delivering a good-sized, working, software system. Secondary purpose. Enable the next stage of the project -- enhance or replace the delivered system . A team is necessary because.
E N D
Software Projects CSC 394 / IS 376
Primary purpose Work in a team to complete a software project by delivering a good-sized, working, software system.
Secondary purpose Enable the next stage of the project -- enhance or replace the delivered system.
A team is necessary because the software project will be so large and so complex that a single individual cannot accomplish the work.
Criteria for a Successful Project • Meet business objectives • Meet requirements • Meet quality expectations • Stay within budget • Meet its time deadline • Deliver actual benefits • Provide the project team with professional satisfaction and an opportunity for learning
What if the environment is “extreme” • fast-paced • competitive • full of uncertainty
Criteria for a Successful Project (Extreme environment) • The product gets shipped • The product approaches its mission profile • The project team is healthy at the end.
Project conceptualization Develop a goal – some business objective worth doing.
Why search for a Goal? • Every project needs at least one good goal to exist. • Many projects have multiple goals. • The goals also are known as the project mission.
Project Goals can come from: • Brainstorming sessions among colleagues • Researching market trends and literature. • Analyzing the competition • Interviewing customers • Surveys at conventions or trade shows • Feedback from user groups
Goals are clear if they • are a deliverable • are measurable and testable • state the action needed to achieve the goal (build, deploy, etc.) • are conversational (can be explained). • are reasonable and doable. • are communicated and published as part of the project charter
The project goal becomes the project mission Developers must determine whether the project mission • is purposeful • develops a sense of excitement and commitment • is clear (know what to do) • has other developers that can be good teammates (trust, collaboration, etc.).
The project goal becomes the project mission Customers must determine whether the project mission: • identifies the business functions to be automated • has clear benefits (fills a need or takes advantage of an opportunity).
The project goal becomes the project mission The Executive Sponsormust get a good sense of the • intent of the project • project scope, schedule and resource utilization.
The Team should determinethe Scope of Work Uncover hidden assumptions among team members • For each goal, brainstorm • what it is and make it a list • what it is not and make it a list • Use both lists to • clarify assumptions • set boundary conditions
The project mission also helps determine the software requirements A software requirement is a capability that someone wants
“Good” software requirements are: • Correct (match customer needs) • Possible (feasible) • Necessary (rather than nice-to-have) • Prioritized (very important, important, optional) • Unambiguous (user’s language ) • Concise • Verifiable (testable, measurable)
Since requirements will be used for development, they should also be: • Complete – have all significant requirements • Consistent – all documents internally consistent • Changeable – changes are a fact of life • Traceable – a requirement can followed from its source to its fulfillment in design and code.
A list of requirements further helps • Form agreement on what the system should do • Provide a basis for planning the technical content of software solutions • Give developers a better understanding of the system
Requirements are elicited from • Users • Stakeholders • Customers • Sponsors • Focus groups • Use-case scenarios
Output of requirements elicitation • a prioritized list organized by function • a set of use case scenarios and prototypes, where applicable
Creative teams have a mix of individuals with different personality types • One Model of Personality types is the Myers-Briggs Type Indicator (MBTI)
Introvert (I) Extrovert (E) Source and direction of energy: I: From internal concentration (is drained of energy by being around others) E: From external contact (derives energy from others) MBTI Type Dimension
Sensing (S) iNtuitive (N) Preferred method of information reception: S: Sensory, empirical data N: Meaningful patterns and abstractions MBTI Type Dimension
Thinking (T) Feeling (F) Way of processing information: T: Makes decisions according to their impersonal logic F: Makes a decision according to their personal values: MBTI Type Dimension
Judging (J) Perceiving (P) Way of living out processed information: J: Organizes all life events and acts strictly according to their plans P: Inclined to improvising and seeking different alternatives MBTI Type Dimension
Another model of Personality Types • Kahler Process Communication Model (PCM)
PCM Type -- Dreamer Characteristics: • Imaginative, reflective, calm, introspective, directable. • Motivated into action by others rather than self Motivators: • Solitude and Direction • Time alone to reflect and to be creative
PCM Type -- Workaholic Characteristics: • Logical, responsible, organized, time-oriented. • Perceptions through logic, things Motivators: • Work recognition: awards, bonuses, pat on the back. • Structured time and a plan
PCM Type -- Reactor Characteristics: • Warm, sensitive, compassionate, kind, empathetic, nurturing. • Perceptions through feelings and emotions Motivators: • A pleasant environment (both places and people). • Comfort and relaxation
PCM Type -- Rebel Characteristics: • Spontaneous, creative, playful, expressive, energetic. • Reactions through likes and dislikes Motivators: • Frequent interaction with others • Personal contact and fun
PCM Type -- Persister Characteristics: • Dedicated, observant, conscientious, tenacious. • Evaluates through opinions Motivators: • Recognition of achievements due to strong commitment to a mission or goal
PCM Type -- Promoter Characteristics: • Adaptable, persuasive, charming, resourceful. • Action-oriented Motivators: • Risk taking, • high finance
Models of Individual MotivationExpectancy Theory Victor Vroom • An effort-performance relationship exists. • People perform if they expect rewards
Models of Individual MotivationPath-Goal Model Robert House • Clarify the path to a performer’s perceived goal and they will work to achieve it
Models of Individual MotivationGoal-Setting Theory Edwin Locke • Commitment increases if performers set their own goals.
Models of Individual MotivationHawthorne Effect Elton-Mayo • Just the act of measuring influences the outcome of social experiments. • When watched, people perform as the watchers expect them to.
Models of Individual MotivationForce Field Analysis Kurt Lewin • Status quo is maintained by driving and restraining forces in opposition.
Models of Individual MotivationTheory X / Theory Y Douglas McGregor Attitudes towards people: • X: People are inherently lazy and must be forced to work. • Y: People will be self-directed and creative if favorably motivated.
Models of Individual MotivationTheory Z William Ouchi • A combination of American and Japanese humanistic management
Models of Individual MotivationMotivator/Hygiene Theory Frederick Herzberg Motivator: • An element of work that satisfies a performer’s needs. Hygiene: • Factors that must be present for any motivation.
Models of Individual MotivationHierarchy of Needs Abraham Maslow People have a needs hierarchy: • Physiological (food) • Safety (security, shelter) • Love (social belonging) • Self-esteem (ego) • Self-actualization (fulfillment)
A team needs individuals with a variety of skills and work experiences HCI, domain programmers, database programmers, architects, system analysts, technical writers, work group leaders, customers, etc
Functional Responsibility Matrix A team can sing at the same time but not talk at the same time. A framework is needed for working together.
Team Formation Model Bruce Tuckman • Teams go through developmental stages when forming
Team StagesForming • Members find out what they will be doing, the styles of acceptable leadership and possible kinds of interpersonal and task relationships. • Characterized by: courtesy, confusion, caution and commonality.
Team StagesStorming • Members begin resisting the influence of the group. There is conflict over competing approaches to reaching the group’s goals. • Characterized by: tension, criticism and confrontation.
Team StagesNorming • Resistance is overcome as the group establishes its rules and standards, develops intragroup cohesiveness and delineates task standards and expectations. • Characterized by: cooperation, collaboration, cohesion and commitment.
Team StagesPerforming • The group is ready to focus attention on task accomplishment. Issues of interpersonal relations, member status and division of tasks are settled. • Characterized by: challenge, creativity, group consciousness and consideration of members