September 01, 2011 at 7:29 PM
Some nearshore outsourcing companies have successfully differentiated themselves by being disciples of the Lean IT development movement. Or crusade, some might call it, because there is a certain proselytizing tendency among some Lean disciples. But that's okay, because the things they preach are good and righteous, and ought to be universal business practices.
In fact, many service providers are probably implementing Lean ideas without calling them that.
Let's take a look at 7 principles of Lean development:
1. Eliminate Waste
Of course everyone is all for this. But what does it mean? For a development team, it means avoiding writing unnecessary code or adding functions or creating useless bureaucracy.
2. Build-in Quality
Something else that everyone strives for, but a Lean team keeps it at top of mind and structures teams accordingly" Put two developers on the task, let testing drive development, and provide feedback constantly.
3. Create Knowledge
Code reviews, daily gab sessions, sharing experiences. Senior staff can play a huge role in this objective by mentoring younger programmers. The company should implement education and training and info-distribution as often as possible.
4. Defer Commitment
Eventually you have to commit, but don't rush into things if a better decision or option is possible tomorrow.
5. Deliver Fast
Don't get bogged down. Instill in the team the notion that no job is too small, and that if a co-worker is stuck on something else, jump in to keep things moving.
6. Respect People
No one would argue with this. But as a development principle, it can ensure harmony when the going gets rough and a deadline looms and things are breaking.
7. Optimize the Whole
Rather than focusing on a single function or component, optimize the entire value stream. Hiring a multidisciplined, multitalented team is one way to accomplish this.
(Agile development expert Kelly Waters does a nice job breaking down these seven aspects here.)
Now, there are variations on these principles. Some prefer the guidelines or interpretation from Lean pioneers Mary and Tom Popendieck, who articulate the key principles much better than I am. Lean manufacturing, where the philosophy got its start, tends to list five principles, the first one being: Specify value from the perspective of the customer.
But no matter how expressed or enumerated, the key phrase behind all Lean thinking is: Value for the customer. The end goal of those seven principles above is value for the customer. A development team that adopts those Lean principles is going to have that goal at top of mind, because they all reinforce the idea of providing value for the customer. Of course most development teams set out to provide value, but the Lean team, the crew that takes Lean to heart, is going to eventually find that creating value is first-nature. It becomes imbued in the design process, the code-writing process, the testing process. It becomes an integral, inherent part of every engagement.
Besides providing solid software, Lean is also being seen as an approach that boosts innovation. A recent report from Wharton School of Business found: “Lean brings structure and predictability to innovation, and sharpens the distinction between idea generation and the development process." Lean and innovation both share the goal of meeting the customer's objectives in a cost-effective way. “And lean can help empower researchers and reduce uncertainty in the innovation process itself,” the business professors conclude.
Giving customers the value they need and pay for, and making the process of innovation less risky, are things every Nearshore IT provider would strive for. Even if they don't consciously subscribe to the Lean way of thinking.