1 / 7

Agile Processes

Agile Processes. Development processes that address the problem of volatile requirements : requirements that change due to rapidly changing technology or market, requirements that are difficult to define in advance because of the exploratory nature of the development.

jsmail
Download Presentation

Agile Processes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile Processes • Development processes that address the problem of volatile requirements: • requirements that change due to rapidly changing technology or market, • requirements that are difficult to define in advance because of the exploratory nature of the development. • They cope with change in the following ways: • they employ short iteration cycles, which permit incremental delivery and rapid feedback for projectmanagement purposes • they generally have low documentation overheads • they encourage an inclusive relationship with the customer, often with flexible contract arrangements

  2. Key Idea - OODA Loop

  3. Exemplar Agile Processes • Extreme Programming (XP) • based on Test-Driven Development (TDD). • Feature-Driven Development (FDD) • integrates ideas from plan-driven processes, too. • SCRUM • Crystal family • Agile Modelling • Dynamic Systems Development Method (DSDM)

  4. Classification of Agile Processes • Agile processes possess the following main characteristics: • incremental, focusing on delivering small releases; • cooperative, where the customer is embedded in the team; • straightforward, where the processes are easy to learn and sufficiently (and accurately) documented; • adaptive, welcoming changes, even late in the lifecycle.

  5. Problems and Pitfalls/Challenges • Wide skepticism at the moment: • XP claimed to be “suitable for projects in the ‘low criticality’ band”, but this view is not widely shared. • The lack of process fits badly with current standards. • Though there are views that CMMI etc are to a point compatible with XP practices. • Criticisms about effectiveness of project management in agile processes. • Hard to extract data; data is of less value as it is much more difficult to extrapolate. • Unsuitable for long-lived projects. • No documentation, reuse is difficult.

  6. Problems and Pitfalls • Customer participation • There’s no single, clear role for customers in some systems; no one customer can know everything (aerodynamics, materials, structure, propulsion ...) • Also, independence may be an issue for safety • Without a customer, management of the agile process will be hard. • Scaling issues • We need new means of enabling communication (or need to adapt the means we use already). • How do we manage 300 people? Sub-teams of domain experts? • Testing • White box testing is often ignored. • Also acceptance testing for some safety critical systems is usually expensive, and in some cases one-off.

  7. Problems and Pitfalls • Simple design may be incompatible with the naturally long life of many systems. • Incremental development: • Agile proposes deprecating low priority requirements; critical systems normally have large numbers of inflexible requirements of high priority. • Can a safe but incomplete design be incrementally certified?

More Related