Lean Manufacturing reduces failure rates, focuses on continual improvement and brings long term value to business owners. Sounds like Agile software development. Many companies like leankit are capitalizing on this fact and are building products that bring those two worlds together.
The Agile Manifesto
Agile development springs from what’s known as the Agile Manifesto: a collection of values and principles for software development that allow solutions to evolve through collaborative effort.
The manifesto was created in 2001 by a group of software engineers, who dedicated themselves to finding lightweight, more efficient methods of meeting requirements and solving problems.
In the years since, agile practices have continued to grow and expand, with input from developers all over the world. Still, the core of agile remains based in those original principles and values; many of those have their roots in the principles of Lean Manufacturing.
Lean manufacturing is now several decades old with countless books and articles published that support the principles that were actually started at Toyota Motor Company. Lean is a system for eliminating waste during production while maintaining productivity. It focuses only on aspects of production that add value for the customer while reducing or eliminating anything that does not. There are a number of benefits to this method that are in line with the principles of agile as well.
Lean manufacturing allows you to deliver product quickly without committing to a larger number than you need. This high speed, delayed commitment model is important to agile as well. In software development, circumstances are constantly changing so it’s important to be able to go with the flow and adjust as you go along. Therefore, decisions aren’t made until the moment they’re needed to avoid decisions made early on from needing to be rethought later on as needs change.
A swifter response time also allows for shorter feedback loops. Both in lean and agile, doing things as needed allows you to see the results of your decision immediately and make any necessary changes quickly.
Lean manufacturing integrates real-time customer feedback into the manufacturing process. Customers can alert you to a flaw in your product or an improvement that can be made as soon as they receive it. Then, that change can be implemented immediately going forward, to create a product that’s more in line with what’s of value to the customer.
With agile, that feedback comes during development rather than manufacturing. It allows for open lines of communication between developers and executives, stakeholders, and other key members of your organization who have a say in the final product. By developing each facet of your software separately, you can get their input on each part as it’s ready and implement suggestions immediately.
But these are the obvious connections between Lean and Agile. A more subtle connection is how you can use lean thinking “Eliminating waste along entire value streams“ with how you are running your IT organization.
Ask yourself these questions when thinking about how lean your IT operations are:
- Are IT developers more productive in an office that you pay to maintain and support, or would you save money and get more out of your workers if they worked remote?
- How expensive is it for you to ramp up and down your IT staff to match the needs of your business?
- How much more are you paying to keep your under-utilized and under-motivated IT staff from leaving?
These are the most painful and critical questions to ask about your technology strategy because the answers almost always point you to massive waste. In previous blogs, we have documented studies that show developers are more productive and happy working remotely. Combine all of this with the reality that replacing your staff is incredibly time-consuming, risky, and expensive.
Streamlining decision making and eliminating waste
In the end, both lean and agile processes have the same overall goals: simplifying the decision-making process to do things as-needed and eliminating the waste that comes with making those decisions all at once.
Lean principles translate perfectly well to software but require tough decision making at an executive level. Bringing in the resources you need as you need them is most often the best solution for your customers.
Having a lean IT organization likely means that you have very few IT employees employed at your company working in your offices. You would mean that you hire development capacity only as your company needs and they would most likely be working remote. These same developers would leverage the latest in agile tools and methodology.