Heavy vs Light Methods
- Predictive making it difficult to respond to change.
- Elaborate, long-term, detailed planning
- Disciplined, detailed process
- Lots of documentation produced in a bureaucratic environment
- Process oriented
- Adaptive – embrace change. n Iterative and incremental.
- Fast cycle/frequent delivery.
- Tacit knowledge – project knowledge in the participants’ heads rather than in documents.
- People oriented.
Predictive vs Adaptive
- A Predictive process attempts to plan and predict the activities and resource (people) allocations in detail over a long period of time, -the waterfall model.
- This works well until things change so their nature is to resist change.
- An adaptive process accepts change as an inevitable driver and encourages flexible adaptation
- Dissatisfaction with the overheads involved in design methods led to the creation of agile methods. These methods:
– Focus on the code rather than the design;
– Are based on an iterative approach to software development;
– Are intended to deliver working software quickly and evolve this quickly to meet changing requirements.
- Agile methods are probably best suited to small/medium-sized business systems or PC products.
What is an Agile Process?
- An agile software process addresses three key assumptions about the majority of software projects:
– It is difficult to predict in advance which software requirements will persist and which will change. In addition, how will customer priorities change as the project progresses?
– For many types of software design and construction are interleaved.
– Analysis, design, construction and testing are not as predictable (from a planning point of view) as we would like.
- An agile process must be :
- Adaptable – to changing project and technical conditions.
- Incremental – to allow adaptation to keep pace with change.
- Agile Methodologies
– XP (Extreme Programming)
– Feature-Driven Development
– DSDM (Dynamic System Development Method)
Practical work week 3.
Assignment week 4 in class.
Complete the following tasks:
What is the agile manifesto?
What are the principles behind the agile manifesto? Describe each.
What are the pros and cons of each value listed in the Agile Manifesto?
Why should an organisation go agile?
What are the problems with agile models?
What is agile modelling?
When should a company go agile, when should they not? (Select essays - home page)
What is XP? Describe its core practices.
Sample Agile Assignment