Scrum and Agile are often used are synonym, but the reality is a bit different.
Scrum, XP, FDD or Kanban are some of the many methodologies that share common characteristics, practices and philosophy but at the same time they differ at implementation standpoint, where each methodology has its own practices, terminology and tactics.
Following I have tried to summarize some of the mains methodologies used at the moment:
- Agile Modeling (AM) is a chaordic, practice-based methodology foreffective modeling of software-based systems. The AM methodology is a collection of practices – guided by principles and values – that are meant to be applied by software professionals on a day-to-day basis. AM is not a prescriptive process, in other words it does not define detailed procedures for how to create a given type of model, instead it provides advice for how to be effective as a modeler. AM is “touchy-feely” in that it is not hard and fast – think of AM as an art, not a science.
Thanks to Ambysoft Agile Modeling, additional info Wikipedia Agile Modeling
- Agile Unified Process (AUP) is a simplified version of the Rational Unified Process (RUP). It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP.
Thanks to Ambysoft Agile UP, additional info Wikipedia Agile Unified Process
- Crystal Clear is an agile methodology for projects with small teams, less than about 10 people in size.
It is a book (and a growing community of users) which is based on observations of many successful teams. It has a different slant on things, supports fixed price contracts, it’s not “all or nothing” and it gives you useful guidance on how to adopt the methodology.
Thanks to AgileKiwi Crystal Clear Methodology, additional info Alistair Crystal light methods and Wikipedia Crystal Clear
- Dynamic Systems Development Method (DSDM) is a robust Agile project management and delivery framework that delivers the right solution at the right time. DSDM has been for many years the leading, proven Agile approach, providing governance and rigour along with the agility and flexibility demanded by organisations today. The approach is the culmination of practitioners’ experience drawn from a wide range of public and private sector projects over nearly two decades.
Thanks to DSDM CONSORTiUM, additional info Wikipedia Dynamic systems development method
- In Extreme Programming (XP), every contributor to the project is an integral part of the “Whole Team“. The Extreme Programming team keeps the system integrated and running all the time. The programmers write all production code in pairs, and all work together all the time. They code in a consistent style so that everyone can understand and improve all the code as needed.
Thanks to xProgramming What is XP, additional info Wikipedia Extreme Programming
- Feature-Driven Development (FDD) while just as applicable for small teams, FDD was designed from the ground up to work for a larger team. FDD blends a number of industry-recognized best practices into a cohesive whole. These practices are all driven from a client-valued functionality (feature) perspective. Its main purpose is to deliver tangible, working software repeatedly in a timely manner.
Thanks to Wikipedia Feature-driven development, additional info Feature Driven Development portal and Agile Zone introduction to FDD
- Graphical system design (GSD) is a modern approach to designing measurement and control systems that integrates system design software with COTS hardware to dramatically simplify development. This approach combines user interfaces, models of computation, math and analysis, Input/output signals, technology abstractions, and various deployment target.
Thanks to Wikipedia Graphical System Design, additional info University of Illinois Agile Methods course content
- The Kanban Board helps visually signal tasks and limit WIP (tasks actively being worked on). But no “processes” (upstream or downstream) are found here, and a new concept of “iteration” appears. For each iteration, tasks are newly identified by breaking down user stories into tasks and it is these tasks that are posted onto the ToDo area.
Thanks to infoQ Kanban Applied, additional info Wikipedia Kanban and TechWell Scrum or Kanban
- Lean Software Development (LSD) is the application of lean principles to the craft of software development. So what is Lean? According to the National Institute of Standards and Technology Manufacturing Extensions Partnership’s Lean Network, Lean is: “A systematic approach to identifying and eliminating waste through continuous improvement, flowing the product at the pull of the customer in pursuit of perfection.” “Lean Software Development reduces defects and cycle times while delivering a steady stream of incremental business value.”
Thanks to CodeBetter Lean Software Development Overview, additional info Wikipedia Lean Software Development
- Scrum is a simple yet incredibly powerful set of principles and practices that help teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid adaptation to change.
Thanks to ScrumAlliance, additional info Wikipedia Scrum (development)
…please let me know if I am missing any methodology or if I should add or update information.