Wednesday, June 24, 2009

Inventory Your Company's Knowledge

After the beginning of my company's knowledge management awakening the exhilaration of thinking there was hope for the jumble of existing business processes faded and I was left facing the reality of the situation. Where do we start? There seemed to be so many possible directions to go and so many things that seemed to need help. Where there people or tools out there to help?

At this point we had used the services of one international 'business consultant expert'. All we were left with was an empty wallet and a notebook full of documents that went right on the shelf. This experience led me to believe that the problem was not limited to defining what was bad - we new that well enough through our daily activities. The problem was implementing change that was going to lead to improvement.

Our first step was to focus on one department and set of processes. We assembled a group to start brainstorming to breakdown the department functions into a list of specific skills or processes. Each item on the list was given a priority based on it's current state and it's importance to the overall functioning of the department. This list allowed us to evaluate where we really stood in terms on knowledge management and helped us to see how much of our daily activities were not formally defined.

Out next challenge was to figure out a systematic approach to formally defining all of the highest priority items so they could be evaluated and improved.

Friday, June 19, 2009

Working for the Weekend (Falling off of the Work-a-holic Wagon...and getting away with it)

I've been accused of being a work-a-holic more than once in my lifetime, more so after getting married. It may be true, but the simple fact is, I like to accomplish stuff. I enjoy the feeling of looking back at a day and being able to quantify the "value" that I've added to the world during that time. It's almost a high sometimes. That's not to say that I don't love to completely vegetate to the Nth viewing of Hot Fuzz or crack open Atlas Shrugged again once in awhile.

Over time I've had to find a balance between family and work, which has left me facing the problem of accomplishing the same amount of work in less time. I can't say that I've completely accomplished that - I definitely work less now than I did five years ago. I have, however, learned a few tricks to cheat and still get a lot of work done: (1) identify "opportunity" time, (2) identify tasks that can be deferred to the weekend, (3) estimate required time / effort, and (4) schedule my weekend activities. Using this approach, I'm able to consistently put in 6 - 8 hours of productive work time on a weekend without stealing anything from my family time.
  1. The bulk of the cheat is finding the "opportunity time", or time during the weekend when no one will miss me. This is like sneaking off to the back room at the in-law's Thanksgiving to catch a bit of the big game while Wifey and Mom talk about how the stuffing would have been so much better if Dad would have laid off of the onion. I found my opportunity time between around 4:30 am and 7:30 am, which is roughly when both my wife and children are still sleeping. 4:30 am might sound bad to some, but for a work-a-holic, delirium tremens sets in after a few hours of work deprivation and waking up is easy. I've also found a second block of time between 9pm to 11pm which is after the kids are sleeping and my wife is drained from taking care of the kids and house all day and decides to knock off as well (but more often than not I choose to watch the Outer Limits or play Rock Band during that time).
  2. Now that I know when I can get away with cheating, I regularly identify tasks that I can defer to the weekend with confidence of being able to complete them. Generally these are things that aren't due until the following week sometime (not necessarily Monday). I *almost never* select tasks that are actually due Monday morning or Friday evenings, etc. just on the off chance that something comes up that prevents me from actually taking advantage of my opportunity time (like the kids waking up way too early and piling in my study just to watch me type - which really means going through my drawers and pushing power buttons on miscellaneous network and server equipment).
  3. With a complete list of all of the weekend possibilities in hand, I estimate the amount of time needed to complete each activity and select a grouping of tasks that can be completed in my available time. This really isn't that difficult because I am a time management nut. I compulsively log and document my time (even when I'm not working) using a task management and time logging tool. So, for instance, not only do I know how long it takes to provision a web server from scratch nearly to the minute, but I also know that I take 4 bathroom breaks, 2 water breaks and check my email twice in a four hour time span and exactly how much time those things take me. I'll admit that I take the whole time logging thing a bit far - friends come over to chat and I have them wait for a moment while I "clock out" of whatever I'm doing and "clock in" to "chatting with a friend". My wife hates it when she comes in to give me a kiss in the morning and I clock out first then clock in to "kiss my beautiful wife".
  4. Finally, I prioritize and schedule my weekend activities during my opportunity time. I pick the items whose completion will benefit me the most during the coming week and that I can button up completely during the weekend. I used to keep a written list, but that made it difficult to continue to document the time and details of my efforts which led to poor estimation. I now (as crazy as it seems) manage all of my tasks with task management software so that I can take advantage of the learning from each activity to better estimate and schedule future activities.
The end result of all of this is that, by employing a little bit of knowledge management, I get to spend family time with familiy and still get to spend some time off of the wagon indulging in my work-a-holic vices.

Thursday, June 11, 2009

Back to the Future

They seem goofy these days, but I really enjoyed the action and sci-fi movies of the eighties. One franchise, in particular, really captured my imagination and started my wheels a-turning: Back to the Future. It wasn't just the screen play, God love ol' Doc Brown, it was the paradox of time travel. While Marty McFly fades into the ether strumming out "Earth Angel" I wondered, "Why is he gradually disappearing? He's either got to *pop* away or stay solid - he can't be *half* born if his parents never get together.

It's funny how so many businesses seem to defy the laws of physics with similar paradoxes. How do businesses stay afloat when they're only *half* running their business? Let's talk about an often neglected component of doing business: project budgets.

A good budget is an *educated* guess on the quantity of a resource that will be required in order to produce some desired result. Being able to properly quantify the energy necessitated by a project, put a profit on top, and pass it along to a client is essential to maintaining a good looking bottom line. The key to that guesswork is the "educated" component - but where does that come from? That's where we take a step back and realize that each job we do, every task we complete isn't just an isolated activity or just for one job or another, but instead is a learning tool and a building block, developing more accurate budgets across the board. Sounds like a job for knowledge management.

I was once oblivious to the power of budgeting and even more so to the idea of managing my company knowledge to improve estimation. When I began a small web design firm awhile back, our process for submitting proposals to clients consisted of nothing more than guesswork really. We looked at other design firms and what they were charging for "boiler plate" projects and used that as a starting point, which really isn't that bad of an idea for getting going initially. As expected, our actual time investment didn't directly correspond to our fees. Sometimes we made great profits, sometimes we lost big, sometimes we broke even. In an ad-hoc manner, we started looking back at past contracts to identify similar projects and started copying our own pricing from previous projects for new projects. This helped us zone in somewhat, but what it failed to tell us was how and why we actually performed (or didn't) per project - we just had an idea of "we lost" or "we profited".

It wasn't until Pete and I began developing our own knowledge management tool (KMx) that my firm was really able to take control of the budget process. Really, it isn't that complex with the right tools, but it does require some discipline. I've found that combining time tracking, task management, and some simple budget tracking features I can pin-point *exactly where* a particular budget suffered or performed and use that information to develop a more accurate budget next time.

The key for us was to develop a systematic approach to the proposal process that now goes something like this:
  1. Gather all of the project requirements. This is an important step, because every requirement translates into some activity that requires some finite amount of time, and therefore money, to complete. If one doesn't identify it before the proposal, they run the risk of not charging for it or worse yet, not doing it and having the client think that they are going to.
  2. Create a detailed task tree indicating how much time each step should take. Taking this approach definitely increases the amount of time and effort required to put out a proposal. It may sound risky since it may be time lost if a project isn't landed, but it's a good investment - that time can be added into the proposal itself. In order to really do a good job at this, it's almost necessary to perform a simulated run on the project, i.e., pretend as if the project has already been landed and line it out for the project team to start work on.
  3. Double check the task tree against previous projects' trees. This will make more sense after running through the whole process, but essentially, we've been tracking tasks, time and budget performance for all of our projects and now have a complete history of every task that we performed well (or poorly) on, project comments, and lessons learned. We use that information to tweak our trees and hours to ensure that we don't repeat the same mistakes.
  4. Create a set of budget items based on deliverables or milestones. Total up the monetized time involved to complete each milestone based on the task tree and billing rates. Now we have the most accurate budget we can achieve for the client.
  5. When the project is accepted, we can schedule quickly and get started quickly because we've already got all of our tasks detailed out complete with the time / resources required. It's simple from here. Now every member of the team simply logs their time as they perform work on their tasks and note specifically what was done during that time (this is made pretty simple using the timer tool). We check our logged hours against our budgeted hours regularly, and note the cause of any underages or overages.
What we end up with after this is an powerful way to gain introspective on how we work and how that work relates to what we bill. Every proposal we put out is based on a budget developed systematically to be the best based on everything we've learned in the past.

Sure enough, a little knowledge management makes a big difference in staying profitable.

Saturday, June 6, 2009

The beginning - Discovering the need for Knowledge Management

I think of Knowledge Management as simply a term that describes the processes I use to examine and control the connections between the information my company creates and uses to operate. Knowledge Management happens every day in every business. Some businesses are very formal about it with documented processes and procedures. Others are very informal with all procedure and process information being communicated verbally.

My first business managed knowledge primarily on an informal basis for the first decade or so of it's existence. The only documented information was the information generated by completing projects. This information was stored in hard copy or digital folders by project. Rudimentary cross reference information was maintained that grouped projects by location and client. Functional duties were shared as each situation dictated and specific position responsibilities were only loosley defined.

This operation was successful as long as there were only a handful of employees. Production could be monitored by the principal to ensure quality. Training occurred only as result of being shown how to do a certain task enough times to ingrain the requirements.

As the company began to grow, the most apparent problem was clearly the lack of a systematic training process. Technicians were shown how to do something once, or a couple of times, and expected to know how to do it next time it came up. If they did not remember how to do the task they would ask someone else. The person showing them may not fully understand the process themselves so a 'propagation of misinformation' began to happen. Without the principal(s) being involved with every step of a process it was not done to the company's standards.

This was the first time we truly recognized the need for some sort of knowledge management. In this partiular case that meant we needed to create a training process that produced documented, application specific, reference material that could be easily located when it was needed.

Out next step was to take inventory of our company knowledge and determine how much of it was formally defined and how much was retained in the heads of the employees.

Wednesday, June 3, 2009

Managing Knowledge

Whether it’s raising money for the community, selling flowers, or building cars every business or organization has a mission that must be carried out in the most efficient way possible. The ability to carry out this mission consistently over time is directly governed by your ability to manage knowledge. Carrying out this mission requires aligning the day to day activities of workers with the mission, which requires providing timely and relevant information for workers and making it easy to institute change.

The hub through which this is carried out is your company knowledge base. There is a wide spectrum of models for how companies operate their knowledge base. On one end are the companies that have no formal knowledge base at all aside from the records generated from the work they perform such as customer and job files, invoices, etc. Information is held within the experience of the workers. Roles and responsibilities are not clearly defined. These companies are hit the hardest by the loss of their ‘corporate memory’ when someone leaves and are very slow to grow because they must find people that already have experience or hire people that must learn by doing and watching – which takes a great deal of time.

On the other end of the spectrum are companies that have developed methods to store, catalog, cross-reference, and retrieve company knowledge on demand. These companies capture and document the worker’s experiences and expertise. Change comes naturally as outdated information is updated in real time. Employee lead to new or updated procedures for operation. Corporate memory is not lost as employees come and go because their expertise has been captured in the knowledge base for a replacement to pick up on. Roles and responsibilities are clearly defined. Training time for new employees is drastically reduced due to the fact that the training materials are a direct product of the knowledge base. Further, efficiency and productivity are maximized as employees have the ability to serve themselves to critical information instantaneously.

With today’s technology it is easier than ever to employ efficient and cost-effective solutions to preserve your corporate knowledge. KM Executive uses this technology to provide an inexpensive online solution that makes it easy to build and maintain a knowledge base and has a variety of pratical applications.