Sunday, October 19, 2008

Leadership is a complex problem

Learn the business of your product. How does it fit into the operations of its ultimate users? Is it a productivity tool or a part of their sellable product? Does it automate a process between people or a protocol between equipment? These are important questions ultimately related to how your product can be priced and sold. In turn these core issues are contributors to how the product should evolve over time. When you understand what it does rather than how it works, you have taken a huge leap past many of your peers.

Business knowledge distinguishes the leader from others on the team. Understand how the product makes money. Understand how it is used. Know and communicate with customers when called upon. Have a good relationship with the representatives from every function that is required to release your product (QA, documentation, marketing, etc.). Think about what might have been missed in the project plan and mitigate risks proactively. Engage with other teams that you depend on to ensure that they are on track. Drive specification reviews between teams and customers. Learn the competition – what are the people like you at other companies thinking, and can you think smarter? Listen to everyone who has something at stake. It’s a long list, but if you are truly emerging as a manager, you will one day complete them all, and a hundred others, instinctively.

It is important for you to know the competition that works against your team or your company. Learn how your company profits from the product. Does it cut internal costs? Is it a big source of recurring maintenance revenue? Is it a loss leader that guarantees a long stream of customization revenue? If you are not selling a product but instead bill your time by the day or by the hour as a consultant to your clients, what is the core competency of your company that most interests those clients? All of these are important topics that will help you think differently about technical problems.

You have to solve the business of the problem, not just the technology of it. It may be necessary to do any of the following things even while in the process of doing what you have traditionally considered to be your job:

  • Determine how to solve a whole category of problems similar to the ones currently on your plate. If you get good at it (“gain a competency” in commercial parlance) then your company can rely on a steady stream of profits.
  • Determine how to lower the cost of solving the problem or deploying the solution. A cheaper solution that is just as good will always be more appealing. As a bonus, it is also generally true that simplicity is beneficial both for the cost and the elegance of your team’s work.
  • Determine how to make solutions more predictable from the perspective of the users. Would you ride in an airplane that has never been tested? Neither would your customers; the cost of ensuring stability will more than pay off in increased value.

Thanks for reading this Management Use Case. I'm the co-author of a new book on software development leadership entitled You.next() that features dozzens of other use cases for leadership. Please see more at www.youdotnext.com.

No comments: