Pepper: Chapter 3 - Agile Software Development
Pepper: Chapter 3 - Agile Software Development
Pepper: Chapter 3 - Agile Software Development
Pepper
modification of Sommerville presentation
& Colm O’hEocha – AgileInnovation Ltd presentation
Agile methods
Plan-driven and agile development
Extreme programming
Agile project management
Scaling agile methods
Why?
Need to react to changes more quickly than 2 year long waterfall projects
2 years and then you got the design wrong anyway! Small deliveries aren't
abstract
How?
Goal - Deliver working software quickly
• Compromise - less functionality in a delivery, not lower quality
• Less documentation
Focus on the code rather than the design
Interleave
• Specification, design and implementation are inter-leaved
Deliver small versions and get user (stakeholder) input
Our values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
User's full
agreement at
end, not before
code
Iteration of stage
It can be difficult to keep the interest of customers / users who are involved
in the process.
Team members may be unsuited to the intense involvement that
characterizes agile methods.
Prioritizing changes can be difficult where there are multiple stakeholders.
Maintaining simplicity requires extra work.
Contracts may be a problem as with other approaches to iterative
development.
Because of their focus on small, tightly-integrated teams, there are
problems in scaling agile methods to large systems.
Less emphasis on documentation - harder to maintain when you get a new
team for maintenance
• Iteration Plan
• Daily Stand-Up