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.

DSDM

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.

OpenUP

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.

Scrum

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.

Scrumban

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

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...
User Story Scenarios Each User Story needs to be testable, need to demonstrate, that requirement has been met. Here is effective formula, which demonstrate, that specific user story has been met: Given , When Then
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 ...