Download presentation
Presentation is loading. Please wait.
Published byAda Dennis Modified over 9 years ago
1
© 2010 Bennett, McRobb and Farmer1 Agile Methodologies—DSDM, XP and Scrum Based on Chapter 21 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (4th Edition), McGraw Hill, 2010.
2
2© 2010 Bennett, McRobb and Farmer In This Lecture You Will Learn: The characteristics of Agile software development The key features of three leading Agile Methodologies: DSDM Scrum eXtreme Programming (XP)
3
3© 2010 Bennett, McRobb and Farmer Agile Software Development Agile approaches to development are linked by the Agile Manifesto, which emphasises: –People over process –Software over documentation –Collaboration over contracts –Change over plans (paraphrased from agilemanifesto.org)
4
4© 2010 Bennett, McRobb and Farmer Characteristics of Agile Methodologies All agile approaches share a few characteristics: –Iterative development –Flexible, empowered teams –A “lightweight” approach - i.e. a preference for producing working code rather than analysis or design models –E.g. proponents of XP claim that “the code is the model”
5
5© 2010 Bennett, McRobb and Farmer Dynamic Systems Development Method DSDM predates the Agile Manifesto It is a management and control framework for Rapid Application Development RAD aims to build a working system rapidly Prototyping aims to build elements of a system (a partial system) quickly Similar development environments can be used for both A prototype may incrementally become a working system
6
6© 2010 Bennett, McRobb and Farmer Why RAD? Traditional waterfall approach has various deficiencies Also problems controlling iterative development
7
7© 2010 Bennett, McRobb and Farmer Origins of DSDM RAD became popular in early 1990s, due to various deficiencies of waterfall lifecycle DSDM created in 1994, to define the structure and controls for a RAD project Does not specify the development methodology Has been used with SSADM (a structured methodology) and OO
8
8© 2010 Bennett, McRobb and Farmer DSDM Project Management DSDM takes a radical perspective on project control Historically, requirements were fixed, while resources were allowed to vary DSDM fixes resources for the project (time available and budget), then delivers only what can be achieved within these limits
9
9© 2010 Bennett, McRobb and Farmer DSDM Principles The latest version, DSDM Atern is based on 8 principles. 1.Focus on business need. Fitness for purpose is the essential test for all products. 2.Deliver on time. Deadlines are never sacrificed for lower priority requirements (relates to timeboxing and MoSCoW rules). 3.Collaborate. In DSDM all stakeholders are important, including end-users and resource managers.
10
10© 2010 Bennett, McRobb and Farmer DSDM Principles 4.Never compromise quality. For this reason, testing is integrated throughout the life cycle. 5.Develop iteratively. Allows the project to converge on an accurate business solution. 6.Build incrementally from firm foundations. Partial solutions are acceptable if they satisfy an immediate need, and this encourages feedback from users. 7.Communicate continuously and clearly. 8.Demonstrate control.
11
11© 2010 Bennett, McRobb and Farmer DSDM Life Cycle The DSDM life cycle has 7 phases: –Pre-Project –Feasibility –Foundations –Exploration –Engineering –Deployment –Post-Project
12
12© 2010 Bennett, McRobb and Farmer Simplified DSDM life cycle Forward paths through process Backward paths to evolve the system Exploration Engineering Feasibility Foundations post- project pre- project Deployment
13
13© 2010 Bennett, McRobb and Farmer DSDM Life Cycle Feasibility –Determines whether the project is suitable for a DSDM approach –Typically lasts only weeks –Should also address the following questions Is the computerized information system technically possible? Will the benefit of the system be outweighed by its costs? Will the information system operate acceptably within the organization?
14
14© 2010 Bennett, McRobb and Farmer DSDM Life Cycle Foundations –Identifies overall scope of the project –Results in agreed high level functional and non- functional requirements –Maintainability objectives set at this stage determine the quality goals for the remainder of the project: maintainable from initial operation not necessarily maintainable when first installed but this can be addressed later short life-span system that will not be subject to maintenance
15
15© 2010 Bennett, McRobb and Farmer DSDM Life Cycle Exploration –Development of prototypes to elicit detailed requirements –These may ultimately be delivered as operational systems—for operational use and non-functional requirements –Includes analysis models as well as prototypes
16
16© 2010 Bennett, McRobb and Farmer DSDM Life Cycle Engineering –Prototypes developed to the point where they can be used operationally –Distinction between exploration and engineering is not clear-cut –Project may move back and forth between these phases for several iterations
17
17© 2010 Bennett, McRobb and Farmer DSDM Life Cycle Deployment –Install latest increment and train users –Review how well requirements have been met –May return to earlier phases: To Engineering to complete non-functional requirements To Exploration to complete functional requirements To Foundations if a new functional area has been identified
18
18© 2010 Bennett, McRobb and Farmer Timeboxing Fixes resource allocation for a project or a part of a project Limits time available for refinement of requirements, design, construction and implementation as appropriate Each timebox has a set of prioritised objectives
19
19© 2010 Bennett, McRobb and Farmer Timeboxing Each timebox produces one or more deliverables Within a timebox, there are 3 main concerns –Investigate what needs to be done (determines the direction of work) –Develop and refine the specified deliverables –Consolidate the work prior to the final deadline
20
20© 2010 Bennett, McRobb and Farmer Timeboxes A timebox has three phases, each with a different focus of attention Activity within each phase is iterated as necessary Investigate / set objectives Produce Deliverables Consolidate Work Done A timebox occurs in an overall sequence of other timeboxes The end of a timebox is an absolutely inflexible deadline Investigate / set objectives Produce Deliverables Consolidate Work Done Investigate / set objectives Produce Deliverables Consolidate Work Done
21
21© 2010 Bennett, McRobb and Farmer MoSCoW Rules Heuristic to help prioritise requirements – (Must, Should, Could, Want) –Must have requirements are crucial –Should have requirements are important –Could have requirements are less important –Want to have but not this time around requirements can reasonably be left for development in a later increment
22
22© 2010 Bennett, McRobb and Farmer Scrum: a framework for developing complex products Unusually, “Scrum” is not an acronym - it derives from rugby In Scrum, people are either pigs or chickens –Pigs are full team members, chickens are everyone else –Some chickens can specify a product, but no chicken can tell a pig how to do their work
23
23© 2010 Bennett, McRobb and Farmer Scrum Framework This mainly consists of: –Roles of the people –Timeboxes (borrowed from DSDM) –Artefacts produced or used by the team –Rules about who can do what Scrum has no defined lifecycle, although it does insist on an iterative approach
24
24© 2010 Bennett, McRobb and Farmer Scrum Roles Team members do the development work in whatever way they think best ScrumMaster coaches and motivates the team and ensures that Scrum rules are followed Product Owner has the power to decide when an increment is “done” These roles are the only pigs, all others are chickens
25
25© 2010 Bennett, McRobb and Farmer Scrum Timeboxes As in DSDM, all work iterations and meetings are timeboxed Required meetings include: –Sprint Planning Meeting –Daily Scrum –Sprint Review Meeting Known as Scrum’s ceremonies, these meetings punctuate each sprint (a 2 to 4 week work iteration)
26
26© 2010 Bennett, McRobb and Farmer Scrum Artefacts Four key artefacts are continuously updated as the project proceeds: –Product Backlog: a prioritised list of requirements, maintained by Product Owner. –Release Burndown: a graphic estimate of the total work needed to complete the project. –Sprint Backlog and Sprint Burndown are similar, but apply to the current Sprint, not the project as a whole
27
27© 2010 Bennett, McRobb and Farmer Scrum Rules The process of Scrum is defined by its rules, which include: –Scrum teams are self-organizing, and no formal leader is imposed –Only pigs can talk during a Daily Scrum –Chickens cannot tell pigs how to do their work –Only the Product Owner can define what it means to say that an increment is “done”
28
28© 2010 Bennett, McRobb and Farmer Extreme Programming XP is a novel combination of elements of best practice in systems development First publicized by Kent Beck (Beck, 2000) Known for its use of pair programming but has other important aspects
29
29© 2010 Bennett, McRobb and Farmer Underlying Principles of XP Communication. XP highlights the importance of good communication among developers and between developers and users Simplicity. XP focuses on the simplest solution for the immediate known requirements
30
30© 2010 Bennett, McRobb and Farmer Underlying Principles of XP Feedback. Feedback in XP is geared to giving the developers frequent and timely feedback from users and also in terms of test results. Work estimates are based on the work actually completed in the previous iteration Courage. Urges the developer to throw away code that is not quite correct and start again. Essentially the developer has to leave unproductive lines of development despite personal investment in the ideas
31
31© 2010 Bennett, McRobb and Farmer Extreme Programming XP also emphasises –embracing change is important and key to systems development –development staff are motivated by producing quality work
32
32© 2010 Bennett, McRobb and Farmer Requirements Capture in XP Based on user stories that describe the requirements –written by the user –basis of project planning and the development of test harnesses Very similar to use cases though some proponents of XP suggest that there are key differences in granularity –typical user story is about three sentences with no technology indicated –Developers get detailed descriptions from the customer when they start developing
33
33© 2010 Bennett, McRobb and Farmer XP Activities The planning game involves quickly defining the scope of the next release from user priorities and technical estimates. The plan is updated regularly as the iteration progresses The information system should be delivered in small releases that incrementally build up functionality through rapid iteration A unifying metaphor or high level shared story focuses the development
34
34© 2010 Bennett, McRobb and Farmer XP Activities The system should be based on a simple design Programmers prepare unit tests in advance of software construction and customers define acceptance tests The programme code should be restructured to remove duplication, simplify the code and improve flexibility—this is known as refactoring, and is discussed in Fowler (1999) in detail
35
35© 2010 Bennett, McRobb and Farmer XP Activities Pair programming means that code is written by two programmers using one workstation The code is owned collectively and anyone can change any code The system is integrated and built frequently each day. This gives the opportunity for regular testing and feedback
36
36© 2010 Bennett, McRobb and Farmer XP Activities Normally staff should work no more than forty hours a week A user should be a full-time member of the team All programmers should write code according to agreed standards that emphasise good communication through the code
37
37© 2010 Bennett, McRobb and Farmer Using XP Best suited to projects with a relatively small number of programmers—say no more than ten Critical to maintain clear communicative code and to have rapid feedback –If these are not possible then XP would be problematic XP not sympathetic to using UML for analysis & design
38
38© 2010 Bennett, McRobb and Farmer Summary In this lecture you have learned about Some characteristics of Agile software development The key features of three leading Agile Methodologies: DSDM SCRUM eXtreme Programming (XP)
39
39© 2010 Bennett, McRobb and Farmer References DSDM Consortium (2007) Schwaber (2009) Beck (2004) (For full bibliographic details, see Bennett, McRobb and Farmer)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.