Every software development methodology has a number of distinctive notions. In this article, we will tell you about the terms used in Agile methodology. But before doing that, we should say a few words about the methodology itself.
Agile originated in the early 2000s in response to the traditional software development methodology. Its inventors wanted to create a project management method that fully meets the requirements of modern software development projects. They have formulated the 12 Agile principles. There is no need to describe all of them. We should name only three basic principles: strong communication inside of the teams, iterative structure of projects, and high degree of customer involvement.
Now let’s name some terms that are used in Agile methodology.
As already mentioned above, all Agile projects have iterative structure. It means that, unlike Waterfall projects, they don’t have sequential stages that should be passed one after another. They have iterative cycles instead of that. An iterative cycle is a period of the project, limited in time and tasks. Usually, such cycles have their own plans. Agile teams produce a part of the final product during each iterative cycle. It is usually called an intermediate product. The intermediate product is revised by the customer or his representative after each iteration. This approach helps Agile teams know the requirements of their clients to the final product better.
An Agile team is one of the main distinctive features of this methodology. Before Agile method was invented, software development teams were large. They had lots of roles like project managers, analysts, testers, and developers. Their structure was hierarchical. In Agile teams things are different. Such teams are usually small. Most of them include less than 15 people. They have only several roles. That is why their members have to be interchangeable. A typical Agile developer must be capable of performing the tasks of a tester, a business analyst, and a project manager. Agile teams are self-managing. They don’t have project managers at all. The team is always responsible for the result of its work as a whole.
Communication is extremely important for Agile teams. Partially that can be explained by the fact that they are small. It means that there is no need to formulate a lot of documents and exchange them inside of the team. Good communication is also required because Agile developers often work in strict time frames. They need to discuss important issues of their projects constantly to find the best solutions for them.
In Agile methodologies the customer is almost a part of the team. He participates in all team meetings and estimates the final and intermediate products. Such an approach allows Agile developers to achieve high user and customer acceptance of their production because they always consider the changing demands of their clients.