Lean App Development 102: The Best of Both Worlds
Our first blog post in this series touched on the three golden rules of lean app development. To expand on that idea, we need to dive into how we ended up on lean app development.
In the beginning
Traditional development is also known as a waterfall process. Longer cycles that are very plan driven is the name of the game — you define and plan, then spend a lot of time building the software before releasing it the world. And this could take months to a year or two, depending on what you’re building.
After that came the Scrum-Agile wave which focused on sprints, allowing for iterative and incremental development. Sprints were often set as two week time periods — you had to define, plan, build, and release something within two weeks. Then you would work on a new part of the product for the next two weeks, or improve on what you just released based on feedback.
Where we took it
We liked items from both waterfall and scrum but we also wanted to look at them through a ‘lean startup’ or ‘MVP’ approach.
In order to do this we need to ‘eat our own dog food’ and follow the three golden rules of lean app development:
Rule 1 = Identify a clear goal
This new process needs to enable the, “fastest, most predictable, and reliable software”. A slightly crazy and audacious goal, but at least it’s clear.
Rule 2 = Core functionality
This new process needs to be simple. Each step is documented in a living document, which is being tested with our current clients.
Rule 3 = User Needs/Wants
Lastly, we need to ensure this process focuses on customer wants. Enterprises always want faster, more predictable and reliable app development. Hence the goal for the project.
What are the traits of each of these processes?
To help give you an idea of the difference in results between Traditional vs. Scrum-agile vs. Lean we drew up this handy diagram:
You can see that traditional methods tend to have a more predictable end product as opposed to the scrum-agile approach. And that is hugely important when you’re building applications for businesses — they’re spending money on building an app, they need to know what the end product is going to be. The major benefit of scrum-agile though is that it provides high customer feedback. You’re getting input every two weeks instead of at the end of a very long process. So the end product is better, and is better aligned to the customer wants/needs.
Best of both worlds
We took the best from both the traditional and the agile/scrum world by looking at both processes at a high level through a lean methodology lens. Combine that with a lot of customer feedback and you get a process that is predictable, fast, reliable, MVP defined, and has high customer feedback.
This process will do amazing things for development. Keeping our developers happy and working on the code that matters, and keeping our clients happy with providing them an amazing product. We’ll be a lean, mean app developing team!