Imagine you are a business owner who needs software to automate some crucial business functions. What will you do? Approach a team of developers who in turn will ask you for the required functionalities and based on that information give you a delivery date. You receive the software on the said date but realize that it is obsolete and doesn’t fulfill the business requirements. All the efforts: time and money gone to waste!
The reason behind such failure is the lack of communication between the owner and the development team. Developers designed the software based on the then given business needs; as a result, they failed to incorporate the industry changes that took place during the development process. To tackle such development failures, the concept of Agile Methodology or Agile Software Development came into existence.
Agile methodology advises that a project should be developed and delivered in phases instead of as a whole. The team works in a continuous cycle of planning, executing, and evaluating; receiving continuous feedback from the owner, thereby making the final product relevant for the business environment.
The manifesto of Agile methodology lays down four founding values and twelve supporting principles. These are as follows.
Four Values of Agile Methodology
Individuals and interactions over processes and tools.
The first value of agile methodology focuses on the interaction within the team involved in the development. The basic reason is that communication between individuals is swift and result-oriented as compared to following set processes.
Working software over comprehensive documentation.
Interface design documents, technical specifications, technical prospectus, documentation plans, test plans; the documentation list in traditional approaches is extensive, which consume an ample amount of time. The second value emphasizes on delivering working software instead of focussing only on extensive documentation.
Customer collaboration over contract negotiation.
The third value underlines the importance of customer involvement during the development process instead of limited involvement in the traditional methods at the initial negotiation and delivery stage only.
Responding to change over following a plan.
In the fourth value, agile methodology stresses upon its core concept that is adaptability to change. Traditional methods view changes during development as negative, whereas agile looks at it as an opportunity to learn and grow.
Customers feel happier and satisfied with the early and continuous delivery of valuable software.
Welcome changing requirements; even if they come during the later stages of development.
Valuable and working pieces of software should be delivered in short intervals (weeks rather than months).
Frequent discussion between developers and stakeholders for better decision making.
Create a happy environment in the workplace by supporting and motivating the team members. Projects delivered by motivated individuals are best.
Conversation with, and between the development team should be conducted face-to-face for efficient and effective exchange.
Progress is measured by the delivery of functional/ working software.
The agile methodology supports sustainable development that is the team should be able to maintain a decent speed indefinitely.
Promoting agility by constant improvement in design and attention to technical excellence.
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, designs, and requirements emanate from self-organizing teams.
The development team undertakes regular reviews for process improvement, self-improvement, skill enhancement, and more for efficient working.
There are almost a dozen of agile software development frameworks, but the notable and widely-used ones are: Scrum, Kanban, Lean Software Development, Crystal, Extreme Programming, Dynamic Systems Development Method.
In our next series of articles, we’ll touch upon each of the agile frameworks and discuss them in detail. If you’d like to share your feedback or contribute to the article, then please reach us through our contact page.