“Lean” is one of those buzzwords that gets thrown into PowerPoint presentations to make the presenter sound really smart. The presenter will say things like “We’re taking a lean agile approach this year” or “Our whole marketing department is adopting a lean startup mentality” and then everyone is afraid to ask what that actually means.
The other problem with “lean?” It sounds so simple. It’s a four-letter word and we generally know what lean means (not excessive?) so we don’t feel like we can ask questions moving forward.
Much like how the best creative work is a mutation of already existing ideas, a lean approach in practice is very similar.
In this post, we’ll try to dispel some of the clouds hanging around the word lean and hone in on the principles that make it a valuable project management methodology and software development strategy. So here we go.
Background on Lean and Lean Manufacturing
Lean is actually a manufacturing system started by Toyota in the 1970s. The whole focus of lean manufacturing was to reduce waste. And rather than use workers in the American Henry Ford-style approach, where each person operated as just another cog in the manufacturing line, the Toyota Production System (better known as TPS…insert Office Space joke here) was extremely focused on eliminating any type of waste in the car-making process. Once they studied and evaluated their processes, they found these three types of waste:
Muda: These are any extras that are useless and don’t add any value. Some things don’t add any value but are essential to have–like product testing. Others are features that might look cool, but aren’t something customers are willing to pay for.
Mura: This is the irregularity of extra. Lean methods should even out the work between all parties and no one should be waiting or overstacked. The inventory of parts, resources, and products should be the right amount created by the right amount of employees at the right time.
Muri: This refers to an overburdened employee. Everyone on a team should be handling a similarly sized workload and also have the time to be re-invigorated. Workflows should be managed to account for this.
To say this worked and improved their bottom line is an understatement. All of Toyota’s competitors adopted a similar lean methodology.
Lean principles were then developed for the software development world. The ultimate goal of lean is to relentlessly pursue value over everything else–value for your company and value for your customer. It’s a tension that ideally keeps both ends of the spectrum honest. Toyota themselves were a shining example of this.
The Seven Principles of Lean
These seven principles are generally associated with Agile development and scrum, which makes sense. But guess what? They should really be the goals of every project, no matter what project methodology you’re using–even with Waterfall or Gantt charts.
There is nothing wrong with these values. If and how you decide to utilize them for your team is where the rubber meets the road.
How will you implement these steps and hold your team accountable? Are these going to be real values or just another piece of clip art in the Powerpoint? That’s up to your product management teams to decide.
1. Eliminate Waste
For product, software, and marketing teams, eliminating waste often looks too easy on the surface. Many times it could mean having fewer meetings and fewer smaller tasks to accomplish a project. Oftentimes improving your workflow management like this will save your company millions each year.
One idea to accomplish this is to have your workflows pre-approved. In his book 10x Marketing Formula, Garrett Moon says that pre-approved workflows are key to working ten times faster. The process is approved and has been refined enough to ensure that the end product is successful. The reason is that everyone feels like they need to contribute, even if they don’t really have to.
“When approval is part of the process, it becomes the enemy of shipping work quickly. Once you pass things up the ladder, approval will take forever. And you’ll be buried in small, 10 percent tweaks because everyone who has a hand in the pie-making process wants to ensure their thumbprints are visible,” Moon says.
If these suggestions mostly add waste rather than enhancements, then consider eliminating them.
That means a few more steps to corral some of the digital detritus and extraneous communication. Extra emails and Slack convos may need to be moved over to your project management tool to properly account for details and changes. In ClickUp, you can add comments and tasks directly from Slack and also create tasks from emails so no details are lost. Comments can be assigned so everyone knows who is responsible for what.
2. Build Quality In
An overarching theme for “Build Quality In” is to automate any processes that you can from the get-go. Once your processes or workflows have been tested and verified, find ways to automate those so your team can work on other parts of the process.
Teams that embrace lean management and agile project management don’t want to sacrifice any quality in the process of quick iterations. This often involves QA (quality assurance) and quality control in the process of building the product.
One way to do this is by pair programming. In its strictest form, this is when two programmers use one mouse, one keyboard, and one screen to do their programming. Sound intense? Yes, it’s not for everyone, but it reduces mistakes in the process. They can bounce ideas off one another and double check the work right in the process. Not everyone can afford to do this but it may save on QA in the long term.
Another way to ensure quality is to create the tests first before the programmer even creates it. This is called Test-Driven Development and is part of the Extreme Programming method. With this method, your user stories, requirements, and specs must be well-developed so that the tests meet the client/stakeholder needs. In this case, the test usually fails because it can’t be accomplished with your current code base (hence why you’re writing the code in the first place).
3. Create Knowledge
This is creating documentation on the fly for easy reference later. This can include a Wiki-like Notion or Confluence, or a code repository like GitHub or GitLab. With these in place, your team can quickly store their findings and make it accessible to others on the team or other developers who may be working on similar projects.
Offering comments on the code too can help those who come after these developers and programmers find their way through.
4. Defer Commitment
This one is a bit misleading. It doesn’t mean don’t ever commit your code, but to instead consider all options and information before making major commitments. In the end, this helps you stay flexible especially if things are uncertain or likely to change because of customer demand or fickle stakeholders. Sprints in agile are great at this because they allow teams to peel off only a certain part of the feature, analyze its importance, and then make a decision about whether or not it should be developed for that sprint.
To set up Sprints in ClickUp, set up individual Lists under Projects. Each List should represent an individual sprint with an additional List titled “Backlog”. This is where new features and requirements can be listed. Lists also feature start and end dates to capture all of your team’s tasks within that list. Go here for more on how to use Sprints in ClickUp.
5. Deliver Fast
Who doesn’t want to build or deliver fast? It seems contrary, but in reality, we’re much more comfortable dragging our feet. Why? We don’t truly want to know how the marketplace will respond. We want to be certain of every contingency. We want to dream about future requirements that may never come to pass.
Yes, it’s true that some developer may get bogged down in certain tasks. With a Deliver Fast mandate, everyone is incentivized to jump in the heap and scramble to finish what’s necessary. Having this mindset helps your speed-to-market, to either be the first one there or to catch up with your competitors.
And if you have a good project plan that’s executed quickly, there’s little room for change from the stakeholders. The product owner or project manager is empowered to say that it’s already in production. Lean production helps you avoid the dreaded scope creep.
6. Respect People
It’s funny that we even have to say this. Maybe it’s more of a reflection on how toxic some tech cultures have been? Unfortunately, this one is often ignored to accommodate the win-at-all-costs mentality that the Deliver Fast mandate can create. It’s the proper counterbalance. Because teams move quickly, a lean culture shouldn’t have time for harassment, abuse, or denigration of colleagues. Trust is paramount to accomplishing anything especially when you’re moving fast. Listening, documenting and trying to understand all foundational aspects of exceptional team communication.
7. Optimize The Whole
I’ll put it simply: Don’t let the vocal minority compromise the integrity of the majority. In other words, be careful about which features are included from squeaky wheels that may not be considering your big picture. That’s not lean thinking. It’s easy to include “must-have” features for the biggest client that sacrifices your place in the market for the rest of your current (and potential) clients. This is why cross-functional teams have really taken off in agile. Everyone on the team can handle the requests from beginning to end. That way multiple opinions are represented that are also thinking about the needs of clients from differing perspectives. It’s a lot harder for the team’s purposes and goals to be hijacked in this way.
The goal of implementing Lean principles shouldn’t be to have a more rigid structure that everyone should hold to. You want to embrace the spirit of Lean without being an authoritarian to the letter of the law. These guiding principles are just that–they should guide you to better workflows. They’re guidelines. To that end, you won’t do everything perfectly every time. But if your team sees and knows the guidelines, they can aim for continuous improvement: better products and releases, and hold one another accountable in the process. It’s quite literally better than nothing. Following these lean principles should up your productivity, make you more competitive, increase the quality of your product, and ultimately your revenue as well. Now that’s a lean organization that everyone can agree on.