What Is AgileAn iterative and incremental (evolutionary) approach performed in a highly collaborative manner with just the right amount of ceremony to produce high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.
Myth Reality1. No Documentation 1. Agile Documentation2. Undisciplined 2. Requires great discipline3. No Planning 3. Just-in-time (JIT) planning4. Not Predictable 4. Far more predictable5. Does Not Scale 5. Eclipse is agile6. Not Fixed Price 6. It’s quickly becoming the norm 7. It requires skilled people 8. Agile provides stakeholders control over the budget, schedule, and scope
Agile Software DevelopmentAgile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.Software developed during one unit of time is referred to as an iteration.Agile methods also emphasize working software as the primary measure of progress.
Agile Software Development: IntroCharacteristics of Agile Software Development -- Light Weighted methodology -- Small to medium sized teams -- changing requirements -- changing techniques -- Simple design -- Minimal system into production
Extreme ProgrammingMost prominent Agile Software development methodPrescribes a set of daily stakeholder practices“Extreme” levels of practicing leads to more responsive software.Changes are more realistic, natural.
Agile Unified ProcessAUP is a simplified version of RUP Phases of AUP Inception Elaboration Construction Transition
Introduction to SCRUMScrum is an Agile Software Development Process.Scrum is not an acronymname taken from the sport of Rugby, where everyone in the team pack acts together to move the ball down the fieldanalogy to development is the team works together to successfully develop quality software
ConclusionSynthesizes the existing literature.Each method is described in terms of process, roles, responsibilities, practices, adoption and experiences.Enables a selection criteria for comparing methods and pointing out their differences.