120 likes | 265 Views
Agile methods and techniques– some method comparisons. Dave Parsons Mark Cranshaw. KEY: Project management. Process Practices / activities / work products. Software development lifecycle support in agile methods. Adapted from Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002).
E N D
Agile methods and techniques– some method comparisons Dave Parsons Mark Cranshaw
KEY: Project management Process Practices / activities / work products Software development lifecycle support in agile methods Adapted from Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software Development Methods: Review and Analysis. VTT Publications 478. (pp. 95) Agile RUP Crystal DSDM XP FDD Scrum System in use Concept Creation Requirements Specification Design Code Unit test Integration test System test Acceptance test
Agile Microsoft Solutions Framework • Foundational Principles • Foster open communications • Work toward a shared vision • Empower team members • Establish clear accountability and shared responsibility • Focus on delivering business value • Stay agile, expect change • Invest in quality • Learn from all experiences
Agile UP • Phases • Inception, Elaboration, Construction, Transition • Disciplines • Model, Implementation, Test, Deployment, Configuration Management, Project Management, Environment • Philosophies • Your staff knows what they're doing, Simplicity, Agility, Focus on high-value activities, Tool independence, You'll want to tailor the AUP to meet your own needs
Crystal Clear • Frequent Delivery of Usable Code to Users (required) • Reflective Improvement (required) • Osmotic Communication Preferably by Being Co-Located (required) • Personal Safety • Focus • Easy Access to Expert Users • Automated Tests, Configuration Management, and Frequent Integration
DSDM • Principles • User involvement is the main key, The project team must be empowered, Frequent delivery of products, Delivering a system that addresses the current business needs, Development is iterative and incremental, Changes are reversible, High level scope and requirements should be base-lined, Testing is carried out throughout the project life-cycle, Communication and cooperation among all project stakeholders • Techniques • Timeboxing, MoSCoW, Prototyping, Testing, Workshop, Modelling
eXtreme Programming (XP) • Values • Communication, Simplicity, Feedback, Courage, Respect • Activities • Coding, Testing, Listening, Designing • Practices • Pair programming, Planning Game, Test Driven Development, Whole team, Continuous Integration, Design Improvement, Small Releases, Coding Standards, Collective Code Ownership, Simple Design, System Metaphor, Sustainable Pace
Feature Driven Development • Activities • Develop Overall Model, Build Feature List, Plan By Feature, Design By Feature, Build By Feature, Milestones • Best practices • Domain Object Modeling • Developing by Feature • Individual Class (Code) Ownership • Feature Teams • Inspections • Configuration Management • Regular Builds • Visibility of progress and results
Scrum • Techniques • Team creation • Backlog creation • Project segmentation • Scrum meetings • Burndown charts • Phases • Review release plans • Distribution, review and adjustment of product standards • Sprint • Sprint review • Closure
Techniques Stressed in Methods These techniques explicitly excluded