Figuring Out Where You’re Headed AND How to Get There
Building software that solves a customer’s problem requires simultaneous focuses on the product owner, end user, and the product itself.
The customer we have today, or think we want today, may not be the customer we end up targeting at all. And the same is true for the product; you’re likely to start building your product before you know exactly what you should be building. This paradigm is not new to software development.
What is different is the approach we are taking to manage this simultaneous focus.
Even though building and releasing a viable product is the end game for a development agency, history has shown that product development can actually get in the way of the tri-focus we need to have today: product owner, end user, and product. This business method requires continuous learning and discovery. Waste must be minimized and build cycles must remain small.
This is where Lean fits into the picture.
The Lean methodology for software project management comes from Lean Manufacturing and is a set of principles for achieving quality, speed & customer alignment by:
- eliminating waste,
- building quality in,
- creating knowledge,
- deferring commitment,
- delivering fast,
- valuing people, and
- optimizing the whole.
Much greater efficiency is gained by properly developing the customer before going into production. In today’s quickly evolving culture, “customer” means “product owner” and “end user,” and the focus continuously examines each customer as we define, design, build, measure and learn.
Agile refers to a set of values and principles put forth in the Agile Manifesto which places primary value on
- Individuals and interactions rather than processes and tools;
- working software rather than comprehensive documentation;
- customer collaboration rather than contract negotiation; and,
- responding to change rather than following a plan.
This changes your focus from managing activity to managing goals. The Agile process takes the traditional (Waterfall) development process and turns it 90 degrees on its side by letting Customers make the difficult decisions about what can be left undone in a more intelligent way.
David Hawkes of Agile Velocity in Austin, TX, sees Lean and Agile as individual enjoined loops: “As it applies to software development I see two main cycles that should be working in conjunction (imagine two loops with overlap). The first loop is Lean Product Discovery and the second is Agile Execution.”
“For years Agile and Scrum,” he continued, “have focused on optimizing the Agile Execution loop. We have shortened delivery time, increased productivity and become more predictable. We have learned how to build the product the right way.”
“SaaS and Cloud environments have allowed us to run quicker experiments on our ideas of what to build, leading to new techniques like Lean Startup and User Story Mapping in the last few years. These new techniques allow us to quickly determine if we are even building the right product. I call this the Lean Product Discovery loop,” he concluded.
Ash Maurya, of LeanStack, and author of Running Lean, describes the synergy of Lean and Agile this way: “Lean is the agile mindset applied for business where the business model, not just the solution, is the product. While agile focuses on build velocity, lean focuses on customer traction velocity.”
At CabForward, we like to think of Lean as the compass and Agile as the steering wheel. It’s one thing to know where you’re going and another thing to get there.
This is lean. Minimizing waste and studying data and making well-informed (scientific, even) decisions to maximize your chance of success.
Here’s How to Implement Lean & Agile in Your Next Project
- 1. Identify the Product Vision. Define what your product is, how it will support your company or organization’s strategy, and who will use the product.
- 2. Create a Product Roadmap. A high-level view of the product requirements, with a loose time frame for when you will develop those requirements.
- 3. Draft a Release Plan. Create a high-level timetable for the release of working software iterations.
- 4. Plan Sprints. The product owner, the scrum master, and the development team plan iteration releases.
- 5. Hold Daily Meetings. Discuss what was completed yesterday, what will be worked on today, and any roadblocks in the way.
- 6. Conduct Sprint Reviews. Demonstrate the working product created during the sprint to the product stakeholders.
- 7. Hold a Sprint Retrospective. Review how the sprint went and plan for improvements in the process.
A Deeper Dive for Your Business
If you’re ready to see what lean and agile can do for you, together, contact us at 512-693-4142 to get a FREE consultation for your business development and design needs. No gimmicks. No commitments. Just a free discussion about how you can achieve your app, site, and domain goals. And, be sure to download our free white paper, “Why Lean Is Different Than Agile,” here.
Be A Part of the Discussion:
What are your thoughts, comments or questions? Do you prefer the Agile or Waterfall methodology? Why? Have you successfully combined the two? Please join the discussion and contribute to the dialogue as we explore why Lean is different than Agile.