Saturday, 14 May 2016

How to Scale Documentation, Part 2

Right then, let's get on with this.  How do I scale my documentation?

Did you think about where your processes fit in the Input > Delivery > Feedback cycle, and what bottlenecks you've got, like I asked you to in Part 1?

Yes, although I thought bottlenecks affected efficiency more than scalability...

They can do, but not necessarily. Efficiency and scalability are closely related.  Would you like me to clarify the difference for you?


It's OK, lots of people are confused by this.

Really?  Alright then, what's the difference between efficiency and scalability?

Efficiency is a measure of what you can get done, with minimum waste, given certain requirements.  The requirements normally relate to the end product, so in the case of documentation the requirements might be the accuracy, consistency and completeness.  If you've reached a situation where there is no way to go through the Input > Delivery > Feedback loop cheaper (in resource terms) or quicker without breaching the requirements then your processes are 100% efficient.

So efficiency is relative to requirements?

If you're talking about the mathematical definition of efficiency, no. Efficiency is essentially the ratio of output to input, and this can be measured very precisely (Warning: Link takes you to a PDF.  Of maths.).

In the practical terms we're interested in though, yes, efficiency is relative because, for example, some waste in your documentation processes might be an acceptable trade-off for significantly increased speed.  It depends on what requirements you measure the efficiency against.

Right, I see.  Carry on then.

A process is generally linear.  This means that you perform one step at a time, one after the other, until you've completed all of the steps in the process.  Although the order of the steps may not matter, and you might be able to start some steps before you've completed the previous step, the general concept of a process is that it is a sequence of steps to achieve a goal.

Efficiency can be thought of as minimising both the number of steps and the time it takes to complete each step whilst still meeting the requirements.  The elimination of the un-required steps and speeding up of the required steps is the removal of waste from the process.  (This concept should be familiar if you've ever seen the Lean process at work.)  

Gotcha.  What's scalability then?

Scalability - in this context - is the ability of your processes to handle a lot more work and still run at the same level of efficiency.  In other words, it doesn't matter whether you have 1 document for 1 release or 100 documents spread over 10 releases, your processes should still work just as efficiently.  

Included in this is the ability for multiple resources to work through those processes concurrently.  This is why bottlenecks need to be addressed. If only 1 person can perform part of the process then whilst your process might be very efficient for 1 document for 1 release, it isn't a scalable process because only 1 document can go through that process at any one time.  That means your process doesn't allow multiple resources to work concurrently.  

Ahhh, so bottlenecks might only become apparent when you try to scale, right?

Spot on, gold star for you! Removing un-required steps and speeding up slow steps will make your linear process more efficient, but not necessarily help you with scaling if your process has a bottleneck that only affects concurrent resources.

I see, I see. I might need to go back and look at my processes again....

Take your time, I'll be here.  When you're ready, we'll start going through the Input processes of your documentation cycle in part 3 and make some suggestions for making sure it can scale.