Published on

Agile Development

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Abhinav Regmi KCMBBIS (2008-2012)
  2. 2. What is Agile Development? Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self- organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
  3. 3. Characteristics Agile methods break tasks into small increments with minimal planning and do not directly involve long- term planning. Iterations are short time frames that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This minimizes overall risk and allows the project to adapt to changes quickly.
  4. 4. Contd. Team composition in an agile project is usually cross- functional and self-organizing, without consideration for any existing corporate hierarchy or the corporate roles of team members. Team members normally take responsibility for tasks that deliver the functionality an iteration requires. They decide individually how to meet an iterations requirements.
  5. 5. Contd. Agile methods emphasize face-to-face communication over written documents when the team is all in the same location. Most agile teams work in a single open office which facilitates such communication. Team size is typically small (5-9 people) to simplify team communication and team collaboration. Larger development efforts can be delivered by multiple teams working toward a common goal or on different parts of an effort. This might require a coordination of priorities across teams. When a team works in different locations, they maintain daily contact through videoconferencing, voice, e-mail, etc.
  6. 6. How Agile is Different Focus on collaboration:  Less paperwork and more conversation  Stakeholders actively involved Focus on working software:  Greater feedback makes agile projects easier to manage  Less documentation is required  Less bureaucracy Agilists are generalizing specialists:  Less hand offs between people  Less people required  Specialists find it difficult at first to fit into the team Agile is based on practice, not theory:  This is a significant change from traditional  You need to see how agile works in practice to truly understand it
  7. 7. Challenges of Agile
  8. 8. Challenges of Agile Some of the primary challenges observed in organizations moving towards an Agile mindset are: People working as cohesive teams and not a set of individuals Increased visibility into the work that is actually done Titles become redundant Privacy is less important than sharing Costs often increase when implementing change
  9. 9. Contd. Failure is acceptable, as long as it is identified earlier Consistent velocity versus peaks and troughs Micro management is felt even though teams are supposed to be self-organizing. Teams need support from multiple directions. Reactionary is acceptable and expected. Target scope often moves, thus less upfront design
  10. 10. Agile methods SCRUM and eXtreme Programming [XP] are the most common). These methodologies consist of best practices and processes that, when development teams align with them, lead to the following positive outcomes: •Increased quality of code delivered •Teams evolving to constantly get better •Higher levels of customer satisfaction (both internal and external) •Consistency in delivery estimates
  11. 11. Comparison with other methods Traditional Methods: sequential phased approach. Eg. Water flow model. Project Phase Requirement Architecture Code Test Analysis & Design Deploy
  12. 12.  Iterative approach: Overlapping phases of development. Eg. Agile development.
  13. 13. Criticism Agile methodologies have been criticized for lacking any scientifically- based evidence to support their proponents claims. Another common criticism of agile software development methods is that it is developer-centric rather than user-centric. Agile software development focuses on processes for getting requirements and developing code and does not focus on product design. Agile methodologies can also be inefficient in large organizations and certain types of projects. Agile methods seem best for developmental and non-sequential projects. Many organizations believe that agile methodologies are too extreme, and adopt a hybrid approach that mixes elements of agile and plan- driven approaches.
  14. 14. THANK YOU