Software Projects CSC 394 IS 376 Primary purpose

  • Slides: 59
Download presentation
Software Projects CSC 394 / IS 376

Software Projects CSC 394 / IS 376

Primary purpose Work in a team to complete a software project by delivering a

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

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

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

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

What if the environment is “extreme” • fast-paced • competitive • full of uncertainty

Criteria for a Successful Project (Extreme environment) • The product gets shipped • The

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.

Project conceptualization Develop a goal – some business objective worth doing.

Why search for a Goal? • Every project needs at least one good goal

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

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

Let’s Brainstorm some project goals

Goals are clear if they • are a deliverable • are measurable and testable

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

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:

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

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

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

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

“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

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

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

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

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

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:

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

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: •

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

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)

Another model of Personality Types • Kahler Process Communication Model (PCM)

PCM Type -- Dreamer Characteristics: • Imaginative, reflective, calm, introspective, directable. • Motivated into

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,

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

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

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

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: •

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. •

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

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

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

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

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

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

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

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:

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

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

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 Formation Model Bruce Tuckman • Teams go through developmental stages when forming

Team Stages Forming • Members find out what they will be doing, the styles

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

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

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.

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,

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

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

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

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

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

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

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

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

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