Title: Z26%20Project%20Management%20%20Agile%20and%20Iterative%20Planning%20%20Lecture%202a%20Graham%20Collins,%20UCL
1Z26 Project Management Agile and Iterative
Planning Lecture 2aGraham Collins, UCL
graham.collins_at_ucl.ac.uk
2Phases of UP
- Inception. Agreement on scope
- Elaboration. Vision, requirements and
architecture stabilized, build and test risky
core several iterations - Construction. Build and test the rest, largest
set of iterations - Transition. System deployed, beta testing,
release evaluation, training
3Useful websites
- www.agilealliance.com
- www.agilemodelling.com
- www.martinfowler.com
- www.jimhighsmith.com
- www.alister.cockburn.com
- www.controlchaos.com
- www.dsdm.org
- www.rational.com
4Further reading
Kent Beck (2000), Extreme Programming
explainedembrace change, Addison-Wesley ISBN
0-201-61641-6 Jim Highsmith (2002) Agile Software
development Ecosystems, Addison-Wesley ISBN
0-201-76043-6 Paul Allen (2002), Realizing
e-Business with Components, Addison-Wesley
ISBN0-201-67520-X Walker Royce (1998), Software
Project Management A Unified Framework,
Addison-Wesley ISBN 0-201-30958-0 Ian Graham et
al (1997) ,The OPEN Process Specification,
Addison-Wesley ISBN0-201-33133-0 Murray Cantor
(2002) Software Leadership A Guide to Successful
Software Development,Addison-Wesley, ISBN
0-201-70044-1 Philippe Kruchten (2000) The
Rational Unified Process an Introduction, Second
Edition, Addison-Wesley new edition being
published Ian Graham (1998), Requirements
Engineering and Rapid Development An
object-Oriented Approach, Addison-Wesley ISBN
0-201-36047-0
5Predictable projects
- Possible to complete specifications then build
- Near start can estimate effort and cost
- Possible to define schedule and order activities
- Adaptation to unpredictable change not normal
6Innovative projects
- Cannot create upfront unchanging annd detailed
specification - Only as empirical data emerges is it possible to
plan and estimate - Adaptive steps driven by build-feedback cycles
are required - Creative adaptation the norm.
7Plan Driven Approaches
- Plan driven methods are considered the
traditional way to develop software - Methods encourage a waterfall style approach
- Requirements/design/build/test paradigm
- Well defined processes that organisations
continuously improve
8Introduction of Standards
- MIL-STD-1521
- IBM
- Siemens
- Often for internal use
9Software Engineering
- Process discipline and structured techniques were
developed - Fitted well with the concept of formal
mathematical specification and verification
10Characteristics
- Well defined work products
- Verification and validation
- Although iterative and incremental processes
(evolutionary) processes have gained momentum,
still a high documentation and traceability
mandates across requirements, design and code
11Process Improvement Cycle
Improve Process
Define Process
Control Process
Measure Process
Perform Process
12Plan-driven Concepts
- Process improvement
- Process capability
- Organizational Maturity
- Process group
- Risk management
- Verification and validation
- Software systems architecture
13Document generation rather than software
development
Planning can cause problems. If too strictly
applied, plans and processes can impede
innovation or lead to mechanical check list
mentality, where the object of the endeavor
becomes so focused on the process that the
product (often along with the customer) is
afforded secondary status.
Barry Boehm Richard Turner (2004), Balancing
Agility and Discipline A guide for the
perplexed, Addison-Wesley ISBN 0-321-18612-5
14eXtreme programming (XP)
- Planning game
- Small frequent releases
- System metaphors
- Simple design
- Testing
- Frequent refactoring
- Pair programming
- Team code ownership
- Continuous integration
- Sustainable pace
- Whole team together
- Coding standards
15Pair Programming
Study Effort Schedule Defect rate Satisfaction Length (hrs)
Williams 15 -43 -60 High gt10
Ciolkowski 9 -46 High 14
16Scrum
- Self directed and self-organizing teams
- No external addition of workload to an iteration
- Daily stand-up meetings
- 30 day iterations
- Client driven iterations with demo at end of each
to client
17Unified Process
- Development in short timeboxed iterations
- Develop high-risk high value first
- Use case driven
- Architecture centric
- Accommodate changes early
- Work together as a team
18Method Comparison
method Concept Dev. Requirements Design Development Maintenance
Scrum
ASD
Lean Dev
Crystal
XP
RUP
OPEN
19Adaptive Planning
R1 R2
R5 R7
Iterations
Milestone 1 1st May R1R10 complete
Milestone 2 1st July R11R20 complete
20Improving estimates with Wideband Delphi
- Kickoff meeting
- Estimation
- Meeting
- Repeat steps
- Calculate
21Planning
- Team members estimate their time budget each
iteration - Volunteering
- Visible project plans
- Iteration Goals risks, coverage, criticality,
(examples demo of product, skills development)
22Ranking lists
Request Type
Process Sale-pay by credit scenario
Log-in window not closing defect
Handle returns Use case
23Tracking Iteration Progress
- Frequent
- Wall list for small projects
- XP task cards held by the volunteer
- Asking team members to self-record their
remaining task effort. Better XP practice of a
daily tracker. - Test driven development
24Earned value
- Recognition rules
- rubber baseline
- Experimental stage
- Philippe Kruchten article
25Risk Management
Risk Probability Impact
Insufficient number of skilled OO developers H H
Demo not ready for OOP conference Munich M H
Then develop a management plan on wall, ie risk,
actions, owner, status
26Environment
- Continuous integration
- Project Wiki webs
- Reverse engineering- Somatik
- Caves, walls, digital technology