Wednesday, April 4, 2007

Achieve Corporate Strategy in 11 Easy Steps

It's probably not that easy, but it is documented. Dr. Glenn Gomes has published a set of presentation slides on strategic management on his website. The slides provide a light overview of the strategic management process. While light, they will get you thinking about strategic issues. That's never a bad thing.

Wednesday, March 28, 2007

The 6 Sigma Myth

Admittedly, I have very little direct experience with 6-Sigma. It reeks to me as a management fad, much like other "Quality" initiatives. I'm sure there's nothing wrong with the fundamental tenants of 6 Sigma, but sometimes it seems as if getting a couple of "6 Sigma Black Belts in the room should solve our problems!" (actual quote).

I had an interesting experience with a 6 Sigma-trained project manager once. We were getting ready to "go-live" -- that is to process data in our system. We did not have any of the connectivity ready, nor any of the automation. However, she found a loophole for calling the task done: Apparently the concept of "go live" was narrowly defined to be the ability to process data (which was complete). Therefore, the task of "going live" was done, even though at a practical level we were nowhere near that milestone.

It seems funny to me how stamping a label on these quality fads (which really seem to amount to writing down and agreeing to a project plan) immediately impresses business people.

Then again, maybe I've had a tainted experience or two.

For a final laugh, check out this screen shot. It's from a Six-sigma how-to page at the Six Sigma Guide website.

Six-Sigma at work

Monday, March 26, 2007

Useful posts this week

I don't want this site to just be a link farm -- I really don't. I hope to come up with some of my own useful analysis and become a thinker on my own terms. But damn it if there aren't some posts out there really worth reading. I guess I haven't cornered the market on brains just yet.

Saturday, March 24, 2007

The Cure for Silver Bullet Syndrome

I had an invigorating conversation with a co-worker the other day. We were discussing the next generation of technologies for application component integration: Web Services and SOAA. As we got into the discussion, he made a statement to the effect that tools will help flatten out any difficult learning curve in implementing the architecture. This seems to be a fundamental flaw in thought at businesses worldwide, and thus is a worthy topic for consideration here.

What is it about software "tools" that allure? In my experience as a software engineer I have a great number of "tools" that I have had exposure to to "help" in the development process. Unfortunately, precious few actually were helpful, and more than a couple were complete disasters.

There was one tool, called Xenos d2e which was supposed to help our company mine print data so we could reformat the document with a new "look and feel" that conformed to the client's changing taste. This tool worked well enough -- given the page were static. Add too much dynamic formatting and the tool would loose track of its page markers. Of course that could be worked around by scripting code on the back end -- in REXX. Well, nobody knew REXX, so those tasked to work with this product had to ramp up quickly on the language. Then when the project transitioned to a new team the new team had to learn REXX to maintain the software. The tool was unhelpful.

Contrast that experience with a tool written by a colleague which did almost the same thing, though it was written without a back-end programming language. The tool did exactly what we needed -- to extract data from the input print stream based on defined markers. The difference? Even though the tool written by my colleague was less capable, it was designed to do exactly what was needed, took less overall time to learn and had fewer maintenance issues. This tool was helpful, and cost less on learning, maintenance and license fees.

In my current position, I deal with a certain source control package which has many integrated features and lots of bells and whistles. Unfortunately it cannot easily define multiple lines of development against a common code base, and therefore we have much difficulty in parallel development for small enhancements based on current production while doing major feature rewrites for upcoming releases. This extra management costs quite a bit of time and therefore is not efficient. And yet we gladly paid $20,000 for the privilege of being less productive than paying $0 and using Subversion, but lacking an integrated bug tracking function that we rarely make use of anyway.

Kathy Sierra over at Creating Passionate Users foresees an even more sinister issue. By hiding the implementation details, Kathy argues that we are training ourselves to not understand how technology works. One initial reaction might be that since the tool helps you get the job you want done, you don't need to know the underlying technology. This might be true for many end users, but it's extremely important for technology service providers to understand what's going on underneath the surface.

What were to happen if you suddenly had a client that was using a slightly different version of the technology? For instance, if your tool handled web services abstraction reasonably well, but your next 800 lb gorilla client used a web services handler from IBM that deviated from the standard in subtle but frustrating ways and your tool would be worthless.* If you never bothered to learn how to implement a web service without the tool, you would be stuck. Likewise if the spec was revised by the standards body and your tool's author had let the tool become obsolete. It's quite likely that your tool would limit your effectiveness in dealing with clients that had recently purchased their technology stack.

Don't let it happen to you! Use tools, sure. But be sure you know what's beneath the surface.

* I'm not saying that IBM has a deviant web services stack, but they're an easy target as their J2EE stack seems to deviate from the spec.

Tuesday, March 20, 2007

Why do most projects fail?

Michael Wade at Execupundit.com has written a short list of the reasons why most projects fail. He posits that many projects fail due to individual errors of omission. There's two things to like about this:

  1. I've been guilty of this, which ultimately caused problems, and
  2. This idea fits with one of my professional philosophies: "If there's a problem, look first to yourself."
That second one is key to leadership. I feel that as a leader it's my responsibility to figure out if there were something I could have done differently to avoid the problem situation. Only if there is nothing that I could have done can I fully blame another individual or organization. It's been my experience that the most effective leaders I've followed used this philosophy, and that they weren't "born" leaders, but they learned from their mistakes by reviewing their performance and incorporating those lessons into their approach.

Saturday, March 17, 2007

JRobots Contest II

The contest has come and gone, and I lost in the first round. I thought I had a pretty cool movement algorithm, but apparently the bots that survived are the ones that had targeting.

An apropos analysis: You can be mobile, but you better know where your target is heading.

Productivity is now returned to normal.

Thursday, March 15, 2007

Intrapreneurship: Entrepreneurship within your big company

We all know what Entrepreneurship is: creating new businesses from whole cloth, feeding a need in the marketplace and figuring out how to make a buck in the process.

What if you are an employee within a large company with an idea to revolutionize a portion of your business by creating a new product or service that is outside your company's portfolio of products and services? Furthermore, this idea might be outside the typical kind of business you do. Could you convince your superiors to see the value in your ideas? Could you get them to support the development of your ideas? Could you get funding, resources and time? Could you add real value to the bottom line of your company?

This is what I call Intrapreneurship -- Entrepreneurship within an existing company. Intrapreneurship is at least as hard as it's counterpart, and fails at least as often. However, it is essential to the success of the organization. Talented executives understand and foster environments that balance the necessary tasks of getting traditional work done with innovation and new business development.

Regrettably it is too common for the brass at the helm of the office to be up to their knees in tactical issues and keeping customer satisfaction high to focus on ideas that are evolutionary or revolutionary. Due to these constraints it is not possible to affect real change just by coming up with an idea and dropping it in the "suggestion box" or whatever the equivalent of that is for you.

It is therefore left to the individual contributor to develop as much of the project as can be done as a grass-roots effort before sending the project up the chain and actively selling the project to parties that might be positively effected by your idea. Find partners and advocates at any level within any group of the organization to help you develop your ideas. Two people from different functional areas making the argument for the resources to run the same project carries a lot of weight. Three is even better.

You must actively sell your idea. Develop training material, presentations and business cases, and be prepared to stop in the hallway and deliver a pitch to anyone willing to listen. Eventually (and this is, in my experience, a multi-year process) either the project will be explicitly adopted or rejected. Either way, you did your best.

Whenever I complete this process one way or the other I feel fulfilled. It is satisfying that your idea, thought up, developed, worked on and perhaps even built by you was considered carefully. Even if the idea is rejected, you know that important stakeholders and decision makers have thought about what you have to say (sometimes because you bugged them until they did). If you have done your research and pulled together a consortium of individuals to work on your project, frequently when it is not part of their regular job, you will be remembered as an effective innovator. Subsequent projects will become easier to propose, both because of the new relationships and because of the additional experience.

And eventually you'll hit a real winner. And that is when the real work begins.