Show all posts
10 years ago

Agile Development Future: Will Lean, Scrum and Extreme Programming evolve into one framework?

People often ask questions like "What is the difference between Scrum/XP/Lean/Agile/You name it"? I don't see much difference between XP and Scrum on that matter. If you already have XP, most likely don't need to switch. Maybe adopt some Scrum specific practices for a better scalability like Scrum-of-Scrums. Almost all the other practices like daily meetings, iterations, roles separation, retrospectives, etc. exist in XP already.

In fact I am not sure if such separation brings benefits. It is better to spot what's going wrong in your development process during retrospective meetings and apply practices from any agile process (or create own solutions) to your specific problems. XP, Scrum or Lean give you a framework that helps to be adaptive and creative, whereas traditional processes give you a set of rules hindering any creative behavior.

Your team and your project IS special. Think and communicate to sharpen your development process.

I do understand why people are so enthusiastic about Scrum or XP. These processes provide tools and practices out of the box. You may just start doing it and see what happens. It is not the best way, since quite often agile adoption fails. People don't get the new way, they implement it without proper support and under the pressure. They maybe don't have a deep understanding how it should work. So it is expected that agile adoption might not be smooth for all.

Agile Development Future

I wish all agile methodologies evolve into one elegant, smart, simple framework. For me it is a natural trend and it should be something like Theory of Everything in physics. This framework should explain why agile processes work. It should based on natural laws of Complex Adaptive Systems. It should provide general guidance on agile adoption and a repository of possible practices that might be used to build your own development process. The framework should be simple and unobtrusive, since complex rules will not work for software development. The framework should empower creativity, communication, learning, feedback and self-organization. The framework should support nonlinearity, emergence and edge of chaos concepts.

Software development is young. Currently we are having transition from waterfall to agile. It is mainly based on practice rather than theory. Practice has proven that agile works better. However, there's almost no research explaining why. There are some blog posts and short explanations with reference to Complexity Theory. That is a right direction I think, but there's no depth behind these posts, they are quite superficial.

I expect we will have deeper understanding of the agile roots and why it works. This knowledge will simplify transition and help us to find better practices, patterns and solutions. I expect there will be a unified agile software development framework in the future.

So far Scrum and Lean are closest processes to this framework. Lean has a strong philosophy and nice background. It is general enough. Scrum is simpler and more understandable for mere mortals. XP has a set of best practices and heavier in general. All of them have strong and weak sides. But still I feel there's a deeper level and all modern processes are just a subset of some hypothetical (at the moment) unified agile software development framework.

  • Aleksey

    I think that IBM/Rational already tries to fix the gap: they work on Open Unified Process (OpenUP).

  • Michael Dubakov

    I don’t have such feeling. OpenUP looks just like RUP evolution. There is no references to CAS at all and all process definition and presentation does not have any novelty. And it does not look simple at all.

    I think it is a dead end.

  • Aleksey

    Since when the novelty in presentation become the necessity?

    OpenUP for sure is RUP evolution. What it does well is definition and unification of common SD processes. It is simple, as long as you try not to implement it in full all the time. It is all about combining all best practices into one repository, so you can pick up the ones, which work for your particular project/team. Isn’t that what you wrote about in your post?

  • Michael Dubakov

    Not exactly. I wish there will be framework based on CAS research. Definitely RUP is not the case. It does not bridge CAS and Software Development Process. Repository of best practices is just one (small) part of the framework. OpenUP ignores almost all CAS related questions/properties mentioned in the article above.

  • tbiz

    Great post. I appreciate your thinking in the agile space and value your opinion. Would value your comments on books on

    Would also like to link to some of your posts on… if that is ok with you?

  • SBL Software

    Lot to think regarding the question, we hope they will try to fill the gap

    SBL Software Development Solutions