Title: Software Projects
1Software Projects
2Primary purpose
- Work in a team to complete a software project
by delivering a good-sized, working, software
system.
3Secondary purpose
- Enable the next stage of the project --
enhance or replace the delivered system.
4A team is necessary because
- the software project will be so large and so
complex that a single individual cannot
accomplish the work.
5Criteria 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
6What if the environment is extreme
- fast-paced
- competitive
- full of uncertainty
7Criteria for a Successful Project (Extreme
environment)
- The product gets shipped
- The product approaches its mission profile
- The project team is healthy at the end.
8Project conceptualization
- Develop a goal
- some business objective worth doing.
9Why 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.
10Project 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
11Lets Brainstorm some project goals
12Goals 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
13The 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.).
14The 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).
15The 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.
16The 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
17The project mission also helps determine the
software requirements
- A software requirement is a capability that
someone wants
18Good software requirements are
- Correct (match customer needs)
- Possible (feasible)
- Necessary (rather than nice-to-have)
- Prioritized (very important, important, optional)
- Unambiguous (users language )
- Concise
- Verifiable (testable, measurable)
19Since 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.
20A 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
21Requirements are elicited from
- Users
- Stakeholders
- Customers
- Sponsors
- Focus groups
- Use-case scenarios
22Output of requirements elicitation
- a prioritized list organized by function
- a set of use case scenarios and prototypes, where
applicable
23Creative teams have a mix of individuals with
different personality types
- One Model of Personality types is the
Myers-Briggs Type Indicator (MBTI)
24MBTI 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)
25MBTI Type Dimension
- Sensing (S)
- iNtuitive (N)
- Preferred method of information reception
- S Sensory, empirical data
- N Meaningful patterns and abstractions
26MBTI Type Dimension
- Way of processing information
- T Makes decisions according to their impersonal
logic - F Makes a decision according to their personal
values
27MBTI 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
28Another model of Personality Types
- Kahler Process Communication Model (PCM)
29PCM 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
30PCM 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
31PCM 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
32PCM Type -- Rebel
- Characteristics
- Spontaneous, creative, playful, expressive,
energetic. - Reactions through likes and dislikes
- Motivators
- Frequent interaction with others
- Personal contact and fun
33PCM Type -- Persister
- Characteristics
- Dedicated, observant, conscientious, tenacious.
- Evaluates through opinions
- Motivators
- Recognition of achievements due to strong
commitment to a mission or goal
34PCM Type -- Promoter
- Characteristics
- Adaptable, persuasive, charming, resourceful.
- Action-oriented
- Motivators
- Risk taking,
- high finance
35Models of Individual Motivation Expectancy
Theory
- Victor Vroom
- An effort-performance relationship exists.
- People perform if they expect rewards
36Models of Individual MotivationPath-Goal Model
- Robert House
- Clarify the path to a performers perceived goal
and they will work to achieve it
37Models of Individual MotivationGoal-Setting
Theory
- Edwin Locke
- Commitment increases if performers set their own
goals.
38Models 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.
39Models of Individual MotivationForce Field
Analysis
- Kurt Lewin
- Status quo is maintained by driving and
restraining forces in opposition.
40Models 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.
41Models of Individual MotivationTheory Z
- William Ouchi
- A combination of American and Japanese humanistic
management
42Models of Individual MotivationMotivator/Hygiene
Theory
- Frederick Herzberg
- Motivator
- An element of work that satisfies a performers
needs. - Hygiene
- Factors that must be present for any motivation.
43Models 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)
44A 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
45Functional Responsibility Matrix
- A team can sing at the same time but not talk at
the same time. - A framework is needed for working together.
46Team Formation Model
- Bruce Tuckman
- Teams go through developmental stages when forming
47Team 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.
48Team StagesStorming
- Members begin resisting the influence of the
group. There is conflict over competing
approaches to reaching the groups goals. - Characterized by tension, criticism and
confrontation.
49Team 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.
50Team 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
51Team StagesAdjourning
- The group has fulfilled its purpose
- Characterized by compromise, communication,
consensus and closure
52Software Engineering Ethics and Professional
Practices
- Established by an IEEE-CS/ACM joint task force,
the code is on the web at (computer.org/tab/code11
.htm).
53Your 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
54Your Team Formation
- Two 10 minute sessions (20 minutes altogether)
will be set aside so to meet with others
interested in working on the same projects - Teams will be made up of 5 (1 or 1) individuals
55By next week, each team should develop
- Project Charter
- Prioritized list of software requirements
- Responsibility Assignment Matrix
- A web site containing all the above
56Before leaving today, each individual should hand
in a card with
- Team name
- Team members name
- List the tasks the team member is responsible for
accomplishing by the next session.
57Project 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.
58Project 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
59Project Charter (Continued)
- Performance Generalized specifications
- Constraints Limitations outside the teams
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