Agile is a term that generates heated debates within the project management and software development communities. This is because not everyone really understands what Agile is, and many people use the term very loosely and mix it up with project management methodologies and frameworks. Additionally, Agile, like other practices before it, became a buzzword and a cool term that many want to claim they do and want to add it to their presentations and lingo. This article attempts to clear up some of this confusion. First, let’s start with some key definitions.
What is Agile?
Agile is a set of values and principles as defined by the “Manifesto for Software Development,” which emphasizes responding to change over following a plan, delivering smaller increments of working software within a shorter timescale, and actively involving the customer in the development cycle and project team. Agile did not define a specific way for applying these principles in practice.
Before Agile, Waterfall was the dominant approach used in software development projects until the 1990’s were some organizations and teams started adopting other frameworks such as Extreme Programming (XP), Scrum and Kanban that are more closely aligned with Agile principles.
Waterfall refers to the software development life cycle model used for implementing software engineering projects, which follows a sequential process and includes separate phases where the output of one phase serves as input to the next phase. In practice, there can be some overlap between one phase and another, as well as some iteration within a phase and across phases. Basically, following a waterfall approach means that more time is spent up-front on detailed planning, analysis and design before starting to build the product.
So, where does the confusion come from?
Mixing up Agile with project management methodologies. Many people use the term Agile and Agile frameworks such as Scrum and Kanban loosely and interchangeably and refer to them as project management methodologies. These are frameworks for building products and developing software rather than managing projects. Project management is much broader than Scrum and Kanban and involves all aspects starting from project initiation to rolling out the final product, as well as other deliverables. Project management includes not only defining and managing the process and people involved or needed to deliver the product but also other areas such as project schedule, budget management, legal and contract management, communication, risk management, stakeholder management and business change management. Scrum or Kanban if chosen would be part of the overall project management cycle.
Salah Bugazia, PMP, MBA, is based in Washington, DC, and London, England. He has over 20 years of background in business and information technology, large project delivery and program management, as well as strong business acumen and hands-on technical expertise. Salah has significant global experience with planning business strategies, managing complex large-scale programs and delivering high-quality results through strong leadership, team and stakeholder collaboration, and effective communication across all organizational levels. Salah writes about business change management and leadership.