Thad Scheer
SPHERE OF INFLUENCE, INC. – software studios and services
What is Agile?
At least once every week I get asked, “What is Agile?”
I decided to answer the question in blog format this time. My answer has 2.1 parts. I’ll provide two parallel short definitions (one slightly academic, the other more pragmatic) plus in tomorrow's post I'll add contrast by tackling a common myth.
Definition 1 (more academic):
Agile is a philosophy, not a methodology or process. Agile entered the scene as a fusion of two communities, SCRUM and XP, but now takes inputs from an assortment of groups. For its part, XP is a collection of relatively intense disciplines that programmers use to inject rigor into their environment. XP is a set of practices wrapped in a philosophy about programming. SCRUM is more about managing projects and has a life-cycle perspective. Both XP and SCRUM represent a collection of terminology, practices, and philosophies. More recently, Lean Software Development has become a powerful influence on the Agile community, and Lean is now mixed inseparably with Agile. As time passes, the original Agile philosophies, as expressed by XP and SCRUM, are simultaneously expanding and being diluted by a continuous flow of new ideas and case experience.
Definition 2 (more pragmatic):
Agile is a customer intimate approach to building high quality software with the smallest possible (but no smaller) investment. It embraces the idea that a buyer does not know what they want at the time they order a system, and that it is more efficient to work with such uncertainty than to force commitments from uninformed decisions. It also drives a set of common engineering practices that encourage product quality and efficient development.