An overview of agile methodologies
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

An overview of agile methodologies

on

  • 493 views

 

Statistics

Views

Total Views
493
Views on SlideShare
493
Embed Views
0

Actions

Likes
0
Downloads
15
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

An overview of agile methodologies Presentation Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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