Software Projects CSC 394 IS 376 Primary purpose



























































- Slides: 59
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
Let’s Brainstorm some project goals
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 Sponsor must get a good sense of the – intent of the project – project scope, schedule and resource utilization.
The Team should determine the 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, 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)
MBTI Type Dimension • 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 • i. Ntuitive (S) (N) Preferred method of information reception: • S: Sensory, empirical data • N: Meaningful patterns and abstractions
MBTI Type Dimension • Thinking • Feeling (T) (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
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, timeoriented. • 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 Motivation Expectancy Theory Victor Vroom • An effort-performance relationship exists. • People perform if they expect rewards
Models of Individual Motivation Path-Goal Model Robert House • Clarify the path to a performer’s perceived goal and they will work to achieve it
Models of Individual Motivation Goal-Setting Theory Edwin Locke • Commitment increases if performers set their own goals.
Models of Individual Motivation Hawthorne 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 Motivation Force Field Analysis Kurt Lewin • Status quo is maintained by driving and restraining forces in opposition.
Models of Individual Motivation Theory X / Theory Y Douglas Mc. Gregor 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 Motivation Theory Z William Ouchi • A combination of American and Japanese humanistic management
Models of Individual Motivation Motivator/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 Motivation Hierarchy 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 Stages Forming • 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 Stages Storming • 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 Stages Norming • 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 Stages Performing • 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
Team Stages Adjourning • The group has fulfilled its purpose • Characterized by: compromise, communication, consensus and closure
Software Engineering Ethics and Professional Practices Established by an IEEE-CS/ACM joint task force, the code is on the web at (computer. org/tab/code 11. htm).
Your Team Formation • introduce yourselves, • pick 1 or more project goals that you would be interested in working on • explain how you can help a team build the software • give other relevant background -schooling, work experience, relevant domain experience, etc
Your Team Formation • Two 10 minute sessions (20 minutes altogether) will be set aside so to meet with other’s interested in working on the same projects • Teams will be made up of 5 (+1 or – 1) individuals
By next week, each team should develop • • Project Charter Prioritized list of software requirements Responsibility Assignment Matrix A web site containing all the above
Before leaving today, each individual should hand in a card with • Team name • Team member’s name • List the tasks the team member is responsible for accomplishing by the next session.
Project Charter • Describe the environment that the project will affect directly or indirectly • Objectives: seize an opportunity; solve a problem, increase revenue, decrease costs, etc. • Product name and category • Customers: Who are they; what are their needs and how will the product help them.
Project Charter (Continued) • Features: major functionality and benefits of the product. Classify features as: • Strategic -- operating systems and hardware platforms • Competitive -- stuff the competition has or might implement • Customer satisfying – usually requested by customers • Paradigmatic – changes the way people work
Project Charter (Continued) • Performance: Generalized specifications • Constraints: Limitations outside the team’s control • Scope: Boundaries of the project • Costs/benefits: Rough order of magnitude estimates • Uniqueness of the product (does competition have anything comparable? ) • Risks to successful project completion