Comparing Agile Methodologies

    This article briefly summarizes the key modern software development methodologies. Carrying out a comparative comparison, one can be guided by a wide range of criteria: life cycle, roles, practices, metrics, etc. This article proposes the following formula for comparing methodologies:

    Values ​​+ Principles + Practices

    image


    Values are a set of beliefs that drive development and control decision making. The minimum set of beliefs that are important and significant for each project participant. An analogue of values ​​can serve the 10 commandments of Moses. It is very difficult for many to change their beliefs. If a team accepts these values, it rebuilds team behavior, working principles, and even habits. Beliefs determine the style of thinking and ways of interaction in a team.

    Principles - a bridge between values ​​and practices, are clarifying the nature of values. The principles in a general form disclose the content of a particular value, express the requirements developed in successful projects regarding the organization of the project, team structure, etc.

    Practices are a set of activities, following which you increase the likelihood of success. Mostly the set of practices can vary from team to team according to the situation in the current project, but the values ​​and principles remain unchanged. For example, the practice of pair programming in one project may be approved, and in another it may be useless.

    So, what kind of alignment do methodologies give:
    Agile Manifesto = 4 + 12 + 0
    Extreme Programming = 5 + 14 +24
    Scrum = 5 + 5 + 7
    Agile Modeling = 5 + 13 + 21
    Lean = 0 + 7 + 7
    Feature Driven Development = 0 + 8 +16
    Adaptive Software Development = 0 + 6 + 18
    Kanban = 0 + 6 + 3
    RUP = 0 + 7 + 120

    Comparison table in Details available: link

    Also popular now: