Agile management, or simply Agile is a framework to use which allows for efficient and leaner software project management. It is an iterative process that focuses on customer value first, team interaction over tasks, and adapting to current business reality rather than following a prescriptive plan [Ref. 1]. It requires openness to consistent customer input.
Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one [Ref. 2]. Especially useful in complex projects, Agile can result in more customer needs met at less cost. The focus on team responsibility in Scrum is critical.
Other processes related to Agile are: Scrum, Large-Scale Scrum (LeSS), Extreme programming (XP), Lean and Kanban. A brief definition follows: [Ref. 3]
- Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one.
- Large-Scale Scrum (LeSS) is a product development framework that extends Scrum with scaling rules and guidelines without losing the original purposes of Scrum.
- Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.
- Kanban: In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see. Team members pull work from a queue.
- Lean software development (LSD) is a translation of lean manufacturing and lean IT principles and practices to the software development domain. Lean is most popular with startups that want to penetrate the market, or test their idea and see if it would make a viable business.
- The waterfall model is a sequential design process, used in software development processes. The waterfall development model originates in the manufacturing and construction industries: highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.