An overview of agile methodologies

430
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
430
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

An overview of agile methodologies

  1. 1. Extreme Programming • Focusses on ongoing and rapid delivery of small releases of software • Relies on close collaboration and continuous refinements of requirement. • Small self directing teams. Outputs are simple in design, rigorously tested and constantly updated. • Team sets their own coding standards and plan coding work based on set of customer stories • XP Core values – Communication – Simplicity – Feedback – Courage
  2. 2. Extreme Programming • XP Principles – Collective ownership • Any member can alter code – Continuous integration • Code changes fully integrated into the larger system – Energized work • Encourage healthy work life balance and 40 hour work week. Avoid working overtime • Maintain sustainable workspace – Shared workspaces • Work in one room – On-site customer • Customer located in the same workspace as the development team.
  3. 3. Extreme Programming • XP Practices – Pair programing – Testing – Refactoring – Simple design – Planning game • Which functionality to take up first • Customer gives requirements as story cards. – Metaphor
  4. 4. Lean development • Streamlined, efficient and high quality outputs • Focus on activities that adds value to the customer • Lean principles – Eliminating waste • IT wastes – Unnecessary processes – Production delays – Incomplete work – Multi tasking – Building integrity in – Seeing the whole • Team members focus on whole system and how it integrates – Deciding late – Delivering fast – Empowering team • All team members are responsible for learning and applying lean principles – Amplifying learning
  5. 5. Lean development • Lean tools – Value stream mapping • For eliminating waste • Visually representing the development process • Begin with the end point and then move backward with all process steps – Kanban • It’s a Japanese term meaning Card or board • Uses cards to control the flow of work and show task status • Improves efficiency and communication • Summary
  6. 6. The crystal methodologies • Crystal development process – Highly flexible light weight approach. – Shouldn’t work on multiple projects – Pauses between iterations – Focus on people rather then rules, documentation and matrix – Crystal methodologies • Crystal clear – Small teams – 3 to 6 members • Crystal yellow – 6 to 20 team members • Crystal orange – 20 to 40 team members • Crystal Red – 40 to 80 team members •
  7. 7. The crystal methodologies – Chartering 1. Building team 2. Perform exploratory 360 degree 3. Shaping and fine tuning methodology 4. Building initial project plan – Delivery cycles • Iteration planning • Daily activities • Integration cycle activities • Updating release plans – Takes breaks between iterations – Project wrapup •
  8. 8. The crystal methodologies • Crystal principles 1. Frequent delivery 2. Reflective improvement 3. Osmotic communication 4. Personal safety 5. Focus 6. Easy access to subject-matter expert 7. Technical environment. • Automation testing • Configuration management etc • Continuous integration
  9. 9. The crystal methodologies • Crystal tools – Walking skeleton • End to end workflow of basic functionality • Tested production quality code • Functionality is incrementally completed and added in to the system • Supports frequent delivery – Information radiators • Visual representation of status like dashboards – Reflective improvement workshops • Discuss success and failures of the work done in each iteration • Other tools – Burndown chart – Planning games – Daily standup meetings
  10. 10. Feature Driven development • Describes specific development process in detail • Iterative development methodology • Planned managed and tracked at feature level • Used for a large complex software projects • Three levels – Subject area – Feature sets – Features
  11. 11. Feature Driven development • 6 main roles in FDD team – Project manager – Chief architect – Development Manager – Chief programmer – Class owner – Domain expert – Other roles • Tester • Deployers • Technical writers
  12. 12. Feature Driven development • FDD process – Develop overall model • Conducting high level walk through with the customer to define overall scope and context of a project – Build feature list – Plan by feature – Design by feature – Build by feature • FDD Tools – To track and report its progress • Task list • Milestone tables • Line graph • Progress report • Summary
  13. 13. DSDM and Agile Unified process • Instead of focusing on technical aspect of the project development, DSDM takes a business perspective • Based on RAD model (Rapid application development) • Continuous customer involvement • Prototypes created • For projects that have tight schedules and budgets
  14. 14. DSDM and Agile Unified process • Dynamic system development – DSDM principles • Integrated testing • 80/20 rule • Business fit – DSDL Phases • Pre-project phase – Project is identified and commissioned and necessary funding is committed • Project life cycle phase – Feasibility » Business requirements » DSDM’s suitability as a methodology for project » Project Scope » Risk » Technical solutions » Cost and timelines » Quality test
  15. 15. DSDM and Agile Unified process – Business Study » Gather business requirement and what to include in each iteration » Prototype planning – Functional model iteration » Convert requirements into models » Create working prototypes – Design and build iteration » Develop, integrate and test » Writes user documentation – Implementation » Install and test in the customers working environment » Test customers • Post project phase
  16. 16. DSDM and Agile Unified process – DSDM core techniques • MosCow principle • Prototyping – Demonstrates proposed software to the customer • Workshops – Discuss project related issues • Visual modeling • Configuration management
  17. 17. DSDL and Agile Unified process • Framework for iterative and incremental development of software • Simplified version of RUP • Number of pre production phases and one final production release • The agile unified process – Phases • Inception phase • Elaboration phase • Construction phase • Transition phase – Disciplines • Modeling • Implementation • Testing • Deployment • Configuration Management • Project Management • Environment – Principles • Provide high level guidance • Simple and concise • Conforms with agile principles • Focus on value • Independent of toolsets • Tailor process to suite needs

×