Team Assignment 1

advertisement
Software Project Management
Team Assignment 1
K15T2-Team 5- PoD Team
Table Content
Replace it with your original text.
1
Software Development Process
Replace it with your original text.
2
ExtremeReplace
Programming
Methodology
it with your original text.
Replace it with your original text.
Replace it with your original text.
Replace it with your original text.
Software Development Process
 The software development process is a
general term describing the over-arching
process of developing a software product.
Sometimes referred to as the software life
cycle, this process may be used for the
implementation of a single application or
a far-reaching ERP system.
Software Development Activity
Planning
Implementation
Testing
Documenting
Planning
Planning
Deployment
Maintenance
Code & Fix
Software Development Model
 Any software development process is
divided into several logical stages that
allow a software development company to
organize its work efficiently in order to build
a software product of the required
functionality within a specific time frame
and budget
Software Development Model
Waterfall Model
Spiral Model
Iterative and Incremental
Development
Agile Development
…
Table Content
Replace it with your original text.
1
Software Development Process
Replace it with your original text.
2
ExtremeReplace
Programming
(XP)
it with your original text.
Replace it with your original text.
Replace it with your original text.
Replace it with your original text.
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Introduction
 History
• Extreme Programming was created by Kent
Beck during his
work on the Chrysler Comprehensive
Compensation System payroll project.
• Although extreme programming itself is
relatively new, many of its practices have been
around for some time; the methodology, after
all, takes "best practices" to extreme levels.
 XP is a software development process
 XP is widely used in many medium or small sized
companies.
Introduction
Factors to the success of XP
 The customers associated with the
development process, need attention to
their needs. View them as members of
development team.
 Ability to respond flexibly and quickly
to changes of customer requirements at
any stage of the project.
 Ability to offer a version of the software
release quickly when customers need it.
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Lifecycle of XP Process
Iteration Lifecycle
The XP Development Lifecycle
The typical day of Developer
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Role & Responsibilities
Customer
Programmer
Coach
Tracker
Tester
Consultant
Manager (Big Boss)
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Practices
 Planning Game
The main planning process within
extreme programming is called the
Planning Game. The game is a meeting
that occurs once per iteration, typically
once a week. The planning process is
divided into two parts:
 Release Planning
 Iteration Planning
Practices
 On-site Customer
You are in hourly contact with a
customer who can resolve ambiguities,
set priorities, set scope, and provide
test scenarios.
 System Metaphor
The system is built around one or a
small set of cooperating metaphors,
from which class, method, variables,
and basic responsibilities are derived
Practices
 Pair Programming
Pair programming means that all code is
produced by two people programming on
one task on one workstation.
 Simple Design
Programmers should take a "simple is
best" approach to software design.
 Coding Standard
Coding standard is an agreed upon set of
rules that the entire development team
agree to adhere to throughout the project.
Practices
 Test Driven Development
Unit tests are automated tests that test the
functionality of pieces of the code (e.g.
classes, methods). Within XP, unit tests
are written before the eventual code is
coded
 Continuous Integration
Continuous integration will avoid delays
later on in the project cycle, caused by
integration problems.
Practices
 Refactoring
Refactoring is the technique of improving
code without changing functionality. An XP
team refactors mercilessly
 Collective code ownership
Collective code ownership means that
everyone is responsible for all the code
and t everybody is allowed to change any
part of the code .
Practices
 Forty Hours Week
Go home at 5.pm. Have a nice weekend
 Small release
Releases should be as small as possible
while still delivering enough business
value to make them worthwhile.
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Scope of use
o The projects usually ranged from 6 to 15
months.
o XP is aimed for small and medium sized
team
o Historically, XP only works on teams of
twelve or fewer people. One way to
circumvent this limitation is to break up
the project into smaller pieces and the
team into smaller groups. It has been
claimed that XP has been used
successfully on teams of over a hundred
developers.
XP Process
1
Introduction
2
3
Process
Roles and
Responsibility
4
Practices
5
Scope of use
6
Advantages &
Disadvantages
Advantages
 Decreases the risk on your project.
 Effective of the programming team,
pair programming
 Quick Response when requirement
change
Disadvantages
 XP is geared toward a single
project, developed and maintained
by a single team.
 XP is particularly vulnerable to some
developers
 XP will not work in an environment
where programmers are separated
geographically.
 XP has not been proven to work
with systems that have scalability
issues
Thanks for your
listening!
Download