Software Life Cycles
Roles in Project Team
and
Damian Fok s3859
Mirosław Dąbrowski s3672
Roles in
Project Team
Presentation plan:
• Introduction
• Project team and its role
• Choosing team members
• Project team structures
• Roles in IT project
• Summary
• Sources
Basic Terminology
What is a project?
– non-routine and time-limited unit of work, typically
producing a one-time product/service
What are project teams?
– consist of representatives from various disciplines
and/or
functional units brought together to work on the
development of a new product/service or an
incremental improvement over an existing
product/service (Cohen & Bailey, 1997)
What is project leadership?
– collection of roles associated with the management
of projects and project teams
Introduction
• The project team is the group of
people responsible for planning and
executing the project.
• Project team is created in strategy
phase.
• Project team chooses life cycle
model.
Project team and its role
• Solving complex problems
• Basic motto Time-Costs-Quality
• Project teams are especially useful
where results requires breakthrough
and creativity and the way of solving
a problem is not described.
Choosing team members
• Team consists of experts who know
the domain of problem.
• Having qualified team members will
not guarantee a success.
• Each member has his own specific
personality traits which have an
influence on other team members.
Project team structures
STAR structure
-Leader
position(central)
-Leader assigns tasks
-Time absence –
problems
For big project teams
Project team structures
NET structure
-Members have
contact with each
other.
-Leader doesn’t
cooperates
-5 participants limit
Roles in IT project
> Leaders –
coordinators
> Analysts
> Designers
> Programmers
> Testers
> Organizers
> Administrators
> Documentators
> Integrators
Leader
– Controls whole group
– Tackles with team conflicts
– Coordinates team
– Uses team resources
– Self confident
Analyst
–Creates system model
–Contacts with customer
–Analyzes problems
–Makes suggestions
•Depends on analyst job
•Implementation description
•Cooperates with programmers
•Specialised(i.e. database, user
interface)
Designer
Programmer
• Programming language skills
• Experience
• Imagination
• Cooperation with other programmers
Tester
»Makes reports
»Checks errors
»Checks functionality
Organizer
Technical Writer
Copywriter
Team-work atmosphere
Work atmosphere is very important, has a
big influence on team-work performance.
Leader should strongly cooperate with all
team members.
It’s very important to maintain
a good teamwork to achieve
success.
Sources
• 1. J. Płodzień, E. Stemposz: “Analiza i
projektowanie systemów informatycznych”,
wydawnictwo PJWSTK
• 2. Wikipedia
• 3. Andrzej Jaszkiewicz ‘Inżynieria
Oprogramowania CASE’, Helion 1997
• 4. Other internet sources
Software
Life Cycle
Introduction
• Itroduction
• Product Life cycles.
–
Waterfall
–
Prototyping
–
Incremental development
–
Spiral model
• Summary
• Sources
1. Waterfall model
This is a class model of
This is a class model of
product life cycle
product life cycle
introduced in 1970 by
introduced in 1970 by
Winston W. Royce
Winston W. Royce
Analisys
Analisys
Design
Design
Development
Development
Instalation
Instalation
all
all
requirements
requirements
blueprints
blueprints
whole completed
whole completed
product
product
Maintenanc
Maintenanc
e
e
User requirements
User requirements
1
2
3
4
6
The waterfall model is a
The waterfall model is a
sequential software
sequential software
development model
development model
Testing
Testing
5
Do and dont's about waterfall
model
• Forcing to very strict control testing.
• Very high cost of mistakes made in previous stages.
•
(mistakes made in stage of user requirements and specification are
revealed in testing stage)
• Client (investor) takes part only in early stages of product life cycle, (he is not
committed) so his commitement in product’s development weaker in time.
•
This has obviously negative influence on product’s quality in client’s eyes.
•
„We rate best things made by ourselves or made with our presence.”
• Easy to management (next phase starts after previous).
• Helps with planing and monitoring the product’s development.
2. Prototyping
• Is a methodology where main target is to minimize
risk connected with defining inappropriate requirements.
• Main stages in prototyping PLC:
• User requirements (general)
• Designing a prototype
• Proptotype verification by client
• Defining all requirements by client
• Designing whole system in cascade mode
• Allows to eliminate misunderstanding between client
and developers.
• Helps with spotting missing functions, not well design
services, lack of specific requirements.
• Has a fast product demonstration.
• Prototypes are mock-ups of the screens of an
application which allow users to visualize the
application that is not yet constructed
Prototyping
Do and donts about
prototyping
• Cost effective (Development costs reduced)
• Prototypes can be easily changed
• Time of receiving a final product after presentation of very
advanced prototype is very small.
• Ability to spot misunderstanding between client and developers.
• Helps with finding lacks in specification/requirements.
• High user satisfaction
• User’s expectation on prototype may be above its performance.
3. Incremental development
• defining all user requirements, creation of general project
• choosing subset of system functions
• detailed project development and implementation of a part of the
system doing choosen functions.
• testing and delivery to client
• repeat until ready
http://www-128.ibm.com/developerworks/library/j-ant/
Incremental development
pluses
►
very offen contact with client (shorter terms
comparing to cascade model)
►
no need to defining whole requiremnts at the
begining
►
If Potential delays occurs in specific part of project,
this can be easily racted by starting work on next
part. Delayed part can be finished later.
Incremental development
minuses
►
Additional cost basing on indepedences of
product parts
►
Potentail difficulties with getting subset of
functions to copletely
independent functions
Incremental development
User
User
requiremen
requiremen
ts
ts
General
General
project
project
Choosin
Choosin
g subset
g subset
of
of
function
function
s
s
Detailed
Detailed
project,
project,
implementa
implementa
tion, testing
tion, testing
Deliver
Deliver
part of
part of
the
the
system
system
Processed in
iterations
4. Spiral model
Each phase starts with a design goal and ends with the client (who may be internal)
Each phase starts with a design goal and ends with the client (who may be internal)
reviewing the progress thus far. Analysis and engineering efforts are applied
reviewing the progress thus far. Analysis and engineering efforts are applied
at each phase of the project, with an eye toward the end goal of the project
at each phase of the project, with an eye toward the end goal of the project
1. User requirements and planing,
1. User requirements and planing,
2. Risk analysys,
2. Risk analysys,
3. Development,
3. Development,
4. User evaluation and transition to point 1.
4. User evaluation and transition to point 1.
Defined by
Defined by
in his
in his
article
article
„
„
A Spiral Model of Software
A Spiral Model of Software
Development
Development
and Enhancement” from 1985
and Enhancement” from 1985
Stages in spiral model:
Stages in spiral model:
Spiral model
• Each spiral coresponds to create complete product.
• Analysys of risk targets to decision if project schould
be contiuned or not.
• This model is similar to prototyping but in spiral model
stages are process once again only in next iteration.
• The Spiral model is used most often in large projects
(by companies such as IBM and Microsoft) and needs
constant review to stay on target
Spiral model
Planing
Risk
analysy
s
testing
constructio
n
Summary
• The product lifecycle goes though many phases and
involves many professional disciplines and requires
many skills, tools and processes.
• Product life cycle (PLC) is to do with the life of a
product in the market with respect to
business/commercial costs and sales measures.
Sources
• 1. J. Płodzień, E. Stemposz: “Analiza i
projektowanie systemów informatycznych”,
wydawnictwo PJWSTK
• 2. Wikipedia
• 3. Andrzej Jaszkiewicz ‘Inżynieria
Oprogramowania CASE’, Helion 1997
• 4. Other internet sources
www.akof.nazwa.pl/byt
/
Software Life Cycle
Roles in Project Team
and