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

Scrum with Multiple Teams Scrum says a team should be 3 to 9 people. But sometimes you want or need to go faster, so you add more teams. This process calls Multi-team Scrum or Scaled Scrum. Challenges of Multi-team Scrum Now you need to coordinate not only a single tea...
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...
Definition of DONE in Software Developent Let’s imagine, that at the end of every iteration in SCRUM or any other Agile Software Development method, the developer is coming to you and saying: "I'm done with this functionality!" But you of course ask: "What do you mean done? Are you done or...
User Stories User Stories are an Agile term for what traditionally have been called "software requirements". They are a brief statements of the intent or need that the system must do for a particular users. Here is the basic formula of writing a user story: A...