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

An overview of agile methodologies

on

  • 461 views

 

Statistics

Views

Total Views
461
Views on SlideShare
461
Embed Views
0

Actions

Likes
0
Downloads
13
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 An overview of agile methodologies Presentation Transcript

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