140 likes | 293 Views
Agile Development Philosophy and Modeling. Agile Development A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment Requires agility - being able to change direction rapidly, even in the middle of a project Agile Modeling
E N D
Agile Development Philosophy and Modeling • Agile Development • A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment • Requires agility - being able to change direction rapidly, even in the middle of a project • Agile Modeling • A philosophy about how to build models, some of which are formal and detailed and others sketchy and minimal Object-Oriented Analysis and Design with the Unified Process
Figure 14-2 Agile Modeling principles Object-Oriented Analysis and Design with the Unified Process
The heart of AM is in its modeling practices, which give the practitioner specific modeling techniques Figure 14-3 Agile Modeling practices Object-Oriented Analysis and Design with the Unified Process
Figure 14-1 Adaptive methodologies using Agile Modeling Object-Oriented Analysis and Design with the Unified Process
Extreme Programming • An adaptive, agile development methodology created in the mid-1990s • Extreme programming • Takes proven industry best practices and focuses on them intensely • Combines those best practices (in their intense form) in a new way to produce a result that is greater than the sum of the parts Object-Oriented Analysis and Design with the Unified Process
Figure 14-4 XP core values and practices Object-Oriented Analysis and Design with the Unified Process
Figure 14-5 The XP development approach Object-Oriented Analysis and Design with the Unified Process
Scrum • A quick, adaptive, and self-organizing development methodology • Named after rugby’s system for getting an out-of-play ball into play • Responds to a current situation as rapidly and positively as possible • A truly empirical process control approach to developing software Object-Oriented Analysis and Design with the Unified Process
Figure 14-6 Scrum software development process Object-Oriented Analysis and Design with the Unified Process
Scrum Philosophy • Responsive to a highly changing, dynamic environment • Focuses primarily on the team level • Team exerts total control over its own organization and work processes • Uses a product backlog as the basic control mechanism • Prioritized list of user requirements used to choose work to be done during a Scrum project Object-Oriented Analysis and Design with the Unified Process
Scrum Organization • Product owner • The client stakeholder for whom a system is being built • Maintains the product backlog list • Scrum master • Person in charge of a Scrum project • Scrum team or teams • Small group of developers • Set their own goals and distribute work among themselves Object-Oriented Analysis and Design with the Unified Process
Scrum Practices • Sprint • The basic work process in Scrum • A time-controlled miniproject • Firm 30-day time box with a specific goal or deliverable • Parts of a sprint • Begins with a one-day planning session • A short daily Scrum meeting to report progress • Ends with a final half-day review Object-Oriented Analysis and Design with the Unified Process