9 main Agile software development Methodologies

agile software development methodologies

Agile Modeling

Set of concepts, principles and techniques (practices) that enables you to quickly and easily perform design and documentation for software development projects. Does not include detailed instructions on designing, contains descriptions of how to build diagrams in UML. The main goal – effective modeling and documentation; but does not include programming and testing, the question does not include project management, deployment and maintenance of the system. However, involves checking the model code.


Based on the concept of rapid application development (Rapid Application Development, RAD). It is an iterative and incremental approach that emphasizes continuous engagement in the user / consumer.

Extreme programming (XP)

The idea is to use useful traditional development methods in new, extreme way. For example in code testing one developer is checking written code from another developer. Also is very common to use pair programming, where one coder is writing a code and he partner is checking the written code.

Feature driven development (FDD)

Functionally-oriented development. FDD concepts are very close to RUP, a significant difference – an additional restriction: “Every function should allow the implementation of no more than two weeks.” If the task small enough, it can be considered a feature. If large, then it should be divided into several relatively independent functions.


This method is iterative-incremental software development. Positioned as easy and flexible version of RUP. OpenUP divides the lifetime of the project into four phases: the initial phase, specification phase, construction and transmission. The life cycle of the project shall provide interested persons and members of collective points of reference and decision-making throughout the project. This effectively control the situation and take a decision on results. Project plan defines the lifecycle and the end result is the ultimate application.


Sets rules for management development process and allows to use existing coding practices, adjusting requirements or making tactical changes. Using this methodology makes it possible to detect and eliminate the deviation from the desired result in the earlier stages of the software.

Lean software development

Lean software development is using methodology from Lean Manufacturing. Main principles of this methodology are: maximal rapid product delivery to the customer with very short iterations, team motivation and focus on learning with short development cycles, early testing and customer feedback.

Kanban software development

Kanban realize principle “just in time” und make possible wage the work properly amount all developers. With this method the whole development process is clear for all team members. Kanban is a visual development model, which shows what needs to be produce, when and how much.


The Scrumban is a management framework and hybrid of Scrum and Kanban. Developers are working with user stories and trying to keep iterations as short as possible. The are no special roles, as for example in Scum, the team members keeps the role they already have.

Here are also some other Agile software development Methodologies: Agile Unified Process (AUP), Agile Data Method, Essential Unified Process (EssUP), Getting Real

Related Post

Understanding Product Owner Role Responsibility Must have a Shared Vision Developing Winning product Product Owner controls the development effort in order to create a product Other Features A) Create Product Vision B) Maintaining the product backlog C) Release pla...
3 Levels of requirements in Agile development In Software Development Requirements have 3 levels: - expanded description of customers business - business point of view requirements - functionalities which should be made in our application Example: “We need a tool for selecting big data...
Integration Team in Multi-team Scrum If one team in Scrum not enough, it's advisable use Multi Team. But here you get one more problem - how to manage more than one team. And the answer: use the Integration team. With Multi Team your Scrum will look a little bit different. Multi-team...
Who is actually the Scrum Master? The Scrum Master helps the team to be productive and use they creativity in order to deliver done, working software. The main point here is that the Scrum master leads the team, but not command the team The Scrum Master is a Coach. He is not a ...