I've stumbled on this post by Bruce Eckel. The question Bruce posed was:
Why does a company full of smart people make stupid decisions? How do we keep it from happening?
My thoughts:
- It all starts from hiring process. We just cannot treat a software developer as a resource or an entity that can be replaced and expect the same output and same quality as an earlier 'resource'. Innovation is the key to success, the need really is to find an employee not just with the 'qualifications' on paper but the one who is eager and enthusiastic about solving problems and think differently from the defined set of rules. This is easier said than done, but I think the organizations should continue to refine their hiring processes towards this goal.
- There is a lot of emphasis put on number years of experience. I'm sure many of us have seen some professionals with 10+ years of experience but it may not reflect that much when they write the code or when they make technical decisions (more on this later). Number of years of experience by itself cannot be a criteria, somebody said jokingly that 10 years of experience could be doing the same one year job 10 times. Seriously, if you keep doing the same stuff day-in and day-out you are not learning much in terms of new skills.
- Technical people should take technical decisions. It would be interesting to get this statistics, if available anywhere, but I believe there are many mid-level Managers who take decisions that they don't understand what the implications are.
- Bruce suggests that may be having small teams is the answer. I see where he is coming from, any given day a small team is better in terms of managing and providing direction. However, what I think many companies are lacking is good mid-level managers to effectively translate the broader company vision to more granular team goals.
- Collective vision and common goals are important for a company to succeed. There are many smart people in any average company. However, if different groups of the company push and work towards their own agenda the bigger picture is lost.
- If key members of the organization at different levels commit to this Uncle Bob's pledge, I'm sure collective stupidity can be minimized.
"I WILL NOT SHIP SHIT."
- "I am a professional -- a craftsman!"-- "No matter what pressures are on me."-- "No matter how I've had to bend the rules."-- "No matter what shortcuts I've had to take."-- "No matter what the gods, or managers, have done or may do."
-- -- "I WILL DO THE BEST WORK I CAN POSSIBLY DO."-- -- "Anything short of my best is shit."-- -- "I _ WILL _ NOT _ SHIP _ SHIT."

Follow on Twitter