Software Projects CSC 394 / IS 376. Primary purpose Work in a team to complete a software project by...
-
date post
19-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Software Projects CSC 394 / IS 376. Primary purpose Work in a team to complete a software project by...
Software ProjectsSoftware Projects
CSC 394 / IS 376 CSC 394 / IS 376
Primary purposePrimary purpose
Work in a team to complete a software project by delivering a good-sized, working, software system.
Secondary purposeSecondary purpose
Enable the next stage of the project -- enhance or replace the delivered system.
A team is necessary becauseA 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 ProjectCriteria 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 What if the environment is “extreme” “extreme”
• fast-paced
• competitive
• full of uncertainty
Criteria for a Successful Project Criteria for a Successful Project (Extreme environment)(Extreme environment)
• The product gets shipped
• The product approaches its mission profile
• The project team is healthy at the end.
Project conceptualizationProject conceptualization
Develop a goal
– some business objective worth doing.
Why search for a 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: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 Let’s Brainstorm some project goalsgoals
Goals are clear if theyGoals 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 The project goal becomes the project missionproject 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 The project goal becomes the project missionproject 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 The project goal becomes the project missionproject mission
The Executive Sponsor must get a good sense of the – intent of the project – project scope, schedule and resource
utilization.
The Team should determineThe Team should determinethe Scope of Workthe 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 The project mission also helps determine the software determine the software
requirementsrequirements
A software requirement is a capability that someone wants
““Good” software requirements Good” software requirements are: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 Since requirements will be used for development, they should for development, they should
also be: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 A list of requirements further helpshelps
• 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 elicitedRequirements are elicited from from
• Users
• Stakeholders
• Customers
• Sponsors
• Focus groups
• Use-case scenarios
Output of requirements Output of requirements elicitation elicitation
• a prioritized list organized by function
• a set of use case scenarios and prototypes, where applicable
Creative teams have a mix of Creative teams have a mix of individuals with different individuals with different
personality typespersonality types
• One Model of Personality types is the Myers-Briggs Type Indicator (MBTI)
MBTI TypeMBTI Type Dimension 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 TypeMBTI Type Dimension Dimension
• Sensing (S)• iNtuitive (N)
Preferred method of information reception:
• S: Sensory, empirical data• N: Meaningful patterns and
abstractions
MBTI TypeMBTI Type Dimension 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 TypeMBTI Type Dimension 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 TypesAnother model of Personality Types
• Kahler Process Communication Model (PCM)
PCM Type -- DreamerPCM 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 -- WorkaholicPCM 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 -- ReactorPCM 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 -- RebelPCM Type -- Rebel
Characteristics:
• Spontaneous, creative, playful, expressive, energetic.
• Reactions through likes and dislikes
Motivators:
• Frequent interaction with others
• Personal contact and fun
PCM Type -- PersisterPCM 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 -- PromoterPCM Type -- Promoter
Characteristics:
• Adaptable, persuasive, charming, resourceful.
• Action-oriented
Motivators:
• Risk taking,
• high finance
Models of Individual MotivationModels of Individual Motivation Expectancy TheoryExpectancy Theory
Victor Vroom
• An effort-performance relationship exists.
• People perform if they expect rewards
Models of Individual MotivationModels of Individual MotivationPath-Goal ModelPath-Goal Model
Robert House
• Clarify the path to a performer’s perceived goal and they will work to achieve it
Models of Individual MotivationModels of Individual MotivationGoal-Setting TheoryGoal-Setting Theory
Edwin Locke
• Commitment increases if performers set their own goals.
Models of Individual MotivationModels of Individual MotivationHawthorne EffectHawthorne 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 MotivationModels of Individual MotivationForce Field AnalysisForce Field Analysis
Kurt Lewin
• Status quo is maintained by driving and restraining forces in opposition.
Models of Individual MotivationModels of Individual MotivationTheory X / Theory YTheory 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 MotivationModels of Individual MotivationTheory ZTheory Z
William Ouchi
• A combination of American and Japanese humanistic management
Models of Individual MotivationModels of Individual MotivationMotivator/Hygiene TheoryMotivator/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 MotivationModels of Individual MotivationHierarchy of NeedsHierarchy 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 A team needs individuals with a variety of skills and work variety of skills and work
experiencesexperiences
HCI, domain programmers, database programmers, architects, system analysts, technical writers, work group leaders, customers, etc
Functional Responsibility MatrixFunctional 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 ModelTeam Formation Model
Bruce Tuckman
• Teams go through developmental stages when forming
Team StagesTeam StagesFormingForming
• 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 StagesTeam StagesStormingStorming
• 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 StagesTeam StagesNormingNorming
• 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 StagesTeam StagesPerformingPerforming
• 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 StagesTeam StagesAdjourningAdjourning
• The group has fulfilled its purpose
• Characterized by: compromise, communication, consensus and closure
Software Engineering Software Engineering Ethics and Professional PracticesEthics and Professional Practices
Established by an IEEE-CS/ACM joint task force, the code is on the web at (computer.org/tab/code11.htm).
Your Team FormationYour 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 FormationYour 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 By next week, each team should developdevelop
• Project Charter
• Prioritized list of software requirements
• Responsibility Assignment Matrix
• A web site containing all the above
Before leaving today, each individual Before leaving today, each individual should hand in a card withshould 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 CharterProject 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)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)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