- History of Agile
- Three Methodologies
- Extreme Programming (XP)
- Scrum
- Kanban
- Which one is right for us?
(Use the "right-arrow" key to progress through the presentation)
"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. It is a conceptual framework that promotes foreseen interactions throughout the development cycle."
Why did the Waterfall Method fail?
."The curious task of economics is to demonstrate to men how little they really know about what they imagine they can design." - Friedrich Von Hayek
Agile development techniques have been around for quite a while. Barry Boehm proposed the iterative Spiral Model in 1986.
In 2001, 17 leading luminaries of software methodology met at Snowbird, Utah to discuss the shortcomings of current software development. They published the Manifesto for Agile Software Development.
The Manifesto has Four Values and Twelve Principles.
In 2001, 17 leading luminaries of software methodology met at Snowbird, Utah to discuss the shortcomings of current software development. They published the Manifesto for Agile Software Development.
The Manifesto has Four Values and Twelve Principles.
The Rational Unified Process, RUP, has 120+ rules (30 roles, 20 activities, and 70+ artifacts)
Extreme Programming, XP, has 13 rules (Test Driven Development, pair programming, continuous integration, ...)
Kanban has only 3 rules
Extreme Programming (XP) is a software development processes emphasizing frequent releases of code, flexibility, communication, simplicity, respect and courage.
Extreme Programming - Principles
Image from www.mountaingoatsoftware.com
Scrum is an iterative, incremental product development framework with emphasis on time-boxed "sprints" by self-organizing teams where the next list of items to do is constantly being updated by business interests.
Three Roles - Product Owner, Scrum Master, Team Member
Three Artifacts - Product Backlog, Sprint Backlog, Burndown chart
Four Ceremonies - start of sprint, daily standups, sprint review, sprint retrospective
Product Owner - communicates vision of product, represents the business interests, and does prioritizing, accepts or rejects work results.
Scrum Master - Is an Agile Coach, removes any organizational barriers preventing work, advises on the Scrum process. This is not a full time job on most projects.
Team Member - cross-functional, self-organizing, usually 5-9 people, members are full time on project. Team members pick tasks to perform without managers intervention. This can lead to problems.
Image from www.mountaingoatsoftware.com
Image from www.mountaingoatsoftware.com
It depends.