Posts categorized "Risk Management"

February 02, 2008

Need for nimbleness

The interesting thing about the Microsoft-Yahoo merger to me is not that two companies that lost out to Google now are combining, but rather why they lost to Google in the first place.
 
Here is one common thread in the commentary:
"Yahoo management has not been nimble, Microsoft has not been nimble, Google has a management team that is nimble and dynamic."  - SF Chronicle

Over the past few years, "Yahoo became less nimble ... " -  Diab

"I'd add that since Google is a faster growing, more nimble company than Microsoft or Yahoo ... " - Techsmart

"
Word has it that Yahoo's once nimble and entrepreneurial culture has turned sluggish and bureaucratic. The company's organizational structure and compensation system appears to be rewarding silo behavior that inhibits change."  - Steve Tobak

"... what some see as an inability to respond to more nimble (though considerably larger) Google" - CNET

Falling back into a "comfort zone" and building mechanisms (bureaucratic or otherwise) that "ensure stability", is a typical human response to success.  In its time Yahoo had plenty of success and slowed their rate of change as a result. 

For a Internet service business where the "network effect" applies and there are "very low switching costs" for the end user.  It is critical that you respond to success by staying nimble and accelerating your rate of progress.  Otherwise someone else will see what you have achieved so far and take the initiative to eat your lunch.

 

January 21, 2008

Setbacks and Success

“Success is not final, failure is not fatal,
it is the courage to continue that counts.”
                                      - Winston Churchill

There are some typical software venture dysfunctions that come from assuming that success is final and failure is fatal. 

The success delusion tempts you into sticking with what worked last year instead of focusing on what needs to change to succeed this year.  In the famous words of Andy Grove "only the paranoid survive" and success unfortunately drives out paranoia.

Failure tempts you into abandoning a direction that could succeed with an appropriate and active course correction.

November 27, 2007

The good kind of failure

“I have not failed. I have just found ten thousand ways that won’t work.”
                                                                                    - Thomas Edison

Resiliency and learning from your "mistakes" are critical to building a successful venture. 

Organizing your efforts to avoid "mistakes" and to have no risk of "failure" is a bad strategy.  Organizing your efforts to "fail faster" so that you can learn from your mistakes and course correct as you go is a good strategy.

It is important to distinguish between making new mistakes which are the good kind that you learn from; and simply repeating the same mistakes that have been made before and should now be avoidable.

                                                                               copyright 2007 Kerry Champion

November 26, 2007

You can't improve without change

Different Isn't Always Better, But Better's Always Different
                                                      - 
Jonathan Schwartz

January 22, 2007

Run the rapids with your helmet on

Shouting Distance has an interesting post on risk-taking and innovation in software (they are in favor of it :-). 

While I fundamentally agree with the post, there is an additional aspect of risk-taking that is important to emphasize: it is critical that you match the nature of your risk-taking to the nature of your goals and challenges.

If your team is doing maintenance of embedded software for a pacemaker, than general risk aversion is probably the right strategy.  If you are at a Web 2.0 venture backed start-up than a knee-jerk risk-aversion is a bad thing.

However, even in the case of the Web 2.0 start-up it is important to be selective about what risks you take, and match the risks to the goals.  Push-hard and take risks where the pay-off from that risk directly addresses your audacious goals and defining questions.  However in all other aspects of what you are doing, avoid risks and do what is proven to work.

If you travel 7000 miles to Futaleufu Valley so you can raft the river, than you certainly should not portage around the Level 5 rapids.  You should take the risk and run the rapids, that is the whole reason you are there.  Taking that risk is needed to achieve the objective.  However you should not tell the driver to drive 60 mph down the cliff-hugging dirt road and when you get in raft you should not leave your helmet on the shore, taking that risk does not help you achieve your goal.

Once your realize that taking a particular risk provides no meaningful acceleration towards your big goals, than you need do no more research and no further cost benefit analysis.  For example if one of your crew says "Ok using one of these new 'aerogel' helmets does not help us achieve the main goal, but it is cheaper and more comfortable and it is cool!  Can't we at least look into it and learn more about it."  than a good response might be "No, lets avoid the distraction, lets use the conventional tried-and-true helmets and lets focus 100% of our mental energy making sure we succeed where we are taking big risks, because those risks are the ones that matter."

In the case of the Web 2.0 start-up you may need to bet the project on your ability to add some fundamental new capabilities in AJAX, that others have not delivered before.  Because those capabilities are required to deliver the user experience which is your goal.  Once it is clear you need to take that risk you should embrace it and get everyone jazzed about taking on this challenge However, in other aspects of the project my advice is be conventional , and stick to the tried-and-true.  You are much better off taking on a small number of big risks and making making sure they pay-off, than you would be if you took on a larger number of smaller risks and had one blow up in your face because you were distracted.


                                                                                 copyright 2007 Kerry Champion

January 21, 2007

Wishing on a BHAG or why impossible is not the best route to optimal


BHAG
(BEE.hag) acronym. An ambitious or difficult plan.  A big, hairy, audacious goal.

It was Jim Collins who popularized the term BHAG.  The concept is simple:  It is impossible to transform an organization and drive a high level of sustained excellence without setting audacious goals that shake up the team and encourage them to stretch out. 

This BHAG mind-set is clearly right on the mark and should be part of the personality of any organization that wants to deliver extraordinary achievements.

Problems arise when teams confuse BHAGs with two counter-productive approaches:

  • wish based execution
  • aiming for impossible to deliver optimal

These two mind-sets are closely related.

Here is a common scenario that illustrates "wish-based execution":

  • we promised the board we will deliver our audacious goal of the first $500k in revenue in Q1
  • we must have product by March to deliver that revenue
  • which means we must be ready for beta by 2/1
  • and we must get all needed beta feedback and incorporate critical fixes by 3/1
  • given that it is 1/31 today that means the bugs we see today "must be" inconsequential enough not to interfere with a rapid and productive beta cycle

Notice in this scenario the big goal is used to determine short term tactical actions and to predefine our assessment of our current results.  This is a problem.  Your execution of the beta cycle is based on your "wish" for how things should  be, rather than based on a cold hard assessment of reality.

"Wish-based execution" is an example of kidding yourself about reality.  Trying to use "the impossible to deliver the optimal" is an example of a more coldly cynical mindset. For example consider this "logic":

  • We have this big hairy audacious goal. it is not clear exactly what we have to deliver to achieve this goal therefore lets assume we need to deliver the maximum capabilities in the minimum time at the minimum cost.
  • There is one-and-only-one perfect "optimal plan" for delivering the maximum capabilities in the minimum time at the minimum cost.
  • The relationships between the parts are so complicated and there are so many unknowns that it is impossible to really devise from the bottom up that "optimal plan" therefore we have to mandate some top-down plan
  • If there are 100 possible plans that we might devise and only one "optimal plan", the obvious conclusion is that the other 99 plans are "bad plans" and any proposed plan has a 99% chance of being a "bad plan"
  • "Bad plans" come in two varieties.  Plans that have too much "slack" and plans that will be delivered "late" compared to the original proposal.
  • "Slack plans" are wasteful since clearly the team is not delivering at top productivity.
  • Therefore you should consciously pick a plan where it is impossible to deliver on schedule, because it is impossible to create the optimal plan and it is better to be "late" then to have "slack". 
  • In fact the more impossibly aggressive the plan is, the better, as that will put more pressure on the team, increase their hours and focus, and get you even closer to the "optimal plan".

Unfortunately I have seen the above thinking repeated many times in real companies that were betting tens of millions of dollars on the success of their software projects.  There are multiple flaws in this logic, I will just mention two.  First it actually decrease productivity to have superior efforts judged failures because they don't measure up to plans/goals that were at best implausible when they were set.  Second executing steps from a later project stage before you have actually reached that stage is incredibly wasteful (for example starting a QA cycle on software that is not yet testable, or expanding the support team to support a product that is not ready to ship).

BHAGs are wonderful tools to give you:

  • a framework for doing strategic planning
  • a vision to motivate the team
  • a yardstick to measure the relevance of your plans
  • a definition of what success means to you

However the use of BHAGs should not:

  • corrupt your ability to realistically assess your current status, leading to an inability to proactively manage the project
  • tempt you to execute latter stage steps too early , leading to wasted efforts
  • pressure you into declaring victory when it is not yet achieved, leading to a loss of credibility

                                                                                 copyright 2007 Kerry Champion

January 19, 2007

Congratulations! It is do-or-die time. What now?

So you have just been given the burden opportunity of managing a high profile software development project with an aggressive set of goals that are critical to your organization’s future success. A true “do-or-die” project.

The expectations have been set high. The time frame is short, the feature content is ground-breaking, the competition is moving quickly to leap-frog over you, and the customers have critical needs many of which have not yet been uncovered.

Cool! So what do you do now?

Certainly step one is to make an assessment of the state of the project, where one of the key things you are looking to learn is: what is within my control and what is outside my control. You almost never have the luxury of putting everything on hold while making that assessment, so this will need to be an in-flight evaluation. (A later post will discuss this process.)

You will discover a dispiritingly large number of things that are outside your control. But there is one thing certain to be in your control: how you will behave, what example you will set for others.

Luckily that is the one thing that will matter the most to your sanity. This is a project that will consume a meaningful chunk of your life. You will accomplish more and feel better about the experience if you have a directed conscious agenda for how you get things done.

Sometimes you get things done by proactively defining what issues need attention and then pushing those to the front-burner. Other times you will reactively respond to issues raised by others. The accepted wisdom is: Proactive = Good, Reactive=Bad. Two interesting points about this truism: first it is not always true; second when it is true it is almost never fully put into action.

90% of the time falling into a reactive management mode is the wrong thing to do. Yet there are exceptions, for example if you have a solid team in place with good candidates banging on the door to join, and your product is being caught up into a tornado of user acceptance then it very well may make sense to respond to the obvious issues that are right in front of your face and scramble up the user acceptance curve as fast as you can go. Moore’s classic Inside the Tornado does a good job of describing this state.

Remember though riding the tornado is the exception, even teams that do eventually “bang it out of the park” can spend long stretches of time pushing to get all the right pieces in place. The fact that you were just given the burden opportunity of managing this project suggests there is something that needs to be fixed before you get to that whirlwind of user acceptance. If nothing needed changing no one would shake up such a critical project by putting a new manager in place.

So you know change is required and it makes sense that a conscious proactive effort is the right way to approach that change. What then are the seductive forces that so often pulls managers into a reactive mindset:

  • Confusion of the urgent and the important      

  • Wish based planning       

  • Misunderstanding what it means to support your team       

We will talk about each of the above in coming posts.

Having navigated around the above landmines and completed your assessment of the state of the project you are ready to start you informed proactive management of the team. What now?

You can start by doing following the time-honored maxim: “when in doubt – create a PowerPoint”. A presentation covering the key topics has some advantages:

  • by writing it down you are forced to think clearly about the issues     
     
  • the presentation format means a minimum number of words which means a minimum amount of time spent on crafting and wordsmithing the document itself
     
  • having taken the time to create a “presentation” you will feel a moral imperative to actually show it to somebody. No matter how salient your insights they really have no value if you don’t test them, evolve them and put them into practice, To do that you most communicate them early and often, hording them for a special occasion tends not to work as well

The topics to hit in this first presentation depend on the specifics of the project. Generically there are three things you will want to cover:

  • Do you have the right people on the team?    
     
  • Have you articulated a set of defining questions/actions/results?           
       
  • How will you refine your process, so that with each turn of the wheel you get better and better at what you are doing?        

We will talk about each of the above in coming posts.

                                                                                 copyright 2007 Kerry Champion

April 2008

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Blog powered by TypePad