Rules for Documentation

[I don't know the source of this useful information, my Apologies] 

Documentation should be written from the point of view of the reader, not the writer. Documentation should be organized for ease of reference, not just ease of reading.

Avoid repetition. Each kind of information should be recorded in exactly one place. This makes documentation easier to use and much easier to change as it evolves. It also avoids confusion, because information that is repeated is often repeated in a slightly different form, and now the reader must wonder: Was the difference intentional? If so, what is the meaning of the difference? What information was the author trying to convey to me that I am not picking up?

Avoid unintentional ambiguity – One of the greatest sources of ambiguity in architecture documentation are those ubiquitous box-and-line diagrams that people often draw on whiteboards or backs of napkins. While not a bad starting point, these diagrams are certainly not architectures. For one thing, the behavior of the components is not defined, and this (as we shall see) is a crucial part of the architecture. But beyond that, most of these diagrams suffer from ambiguity with respect to the component and connector types. Are the boxes supposed to be modules, objects, classes, processes, functions, procedures, processors, or something else? Do the arrows mean submodule, inheritance, synchronization, exclusion, calls, uses, data flow, processor migration, or something else?

Use a standard organization. Each document should conform to a standard, planned organization scheme, and this scheme should be made known to the reader. A standard organization offers many benefits. It helps the reader navigate the document and find specific information quickly (and so this is also related to the write-for-the-reader rule). But it also helps the writer of the document. It helps plan and organize the contents,

Record rationale. If you are documenting the results of decisions, record the decisions you eschewed and say why. Next year (or next month) when those decisions come under scrutiny or pressure to change, you will find yourself revisiting the same arguments and wondering why you didn’t take some other path. Recording rationale will save you enormous time in the long run, although it requires discipline to record in the heat of the moment.

Keep it current. Documentation that is incomplete, out of date, does not reflect truth, and does not obey its own rules for form and internal consistency will not be used. Documentation that is kept current and accurate will be used. The reason is that, backed up by high-quality documentation, questions about the software can be most easily and most efficiently answered by referring the questioner to the appropriate document.

Review documentation for fitness of purpose. 

Why Relative Size estimation works better?

A good estimation at its best is an informed Guess.

Traditional method has been to use historical data and provide an estimate of the effort required to complete an activity or task. The High level activity, could be broken down into sub activities and estimated at appropriate granularity & subsequently aggregated. The team may or may not participate in arriving at the estimates, they are at times arrived at by an expert group.

Once committed and execution begins, the project may start deviating from the plans. In such cases, the Program manager is dependent on the value of Remaining Work (which is continuously changing, and varies as time progresses) to provide re-planned dates.

Historical Data is from the past project, only after completing this running project, will the information gets appended to history data and re-adjusted. (historic values does not provide much support to the current running project)

Looking at the relative Size estimation that is prevalent with Agile processes, a different paradigm is followed. Metaphorically speaking, Here too the High level Activities (Epics) are broken down to smaller activities (Stories). But here the stories are compared against each other to arrive at their relative size (XS, S,M.L, XL etc.) and Points are assigned to them. The team participates in the activity and estimates are arrived at based on discussions and concensus

A few sprints are executed and schedule commitments are made based on the teams current velocity (not dependent on historical data); hence the schedule reflects the teams current performance.

Here too there can be deviations from plan. there is a better view of the Remaining work in terms of pending Story points. In case we realize the estimates are wrong, they tend to be wrong uniformly, hence the re-plan can be based on proportional readjustment across all stories (for example 1.2 x).

Thus Relative Size based estimates are better option with higher confidence on the resulting plans.

3 Steps to successful Org transformation

To make a successful organizational transformation, there are only three overarching needs, everything else is subordinate to these

I) Leaders need to believe in the transition process & the benefits of making the transition

II) Leaders need to demonstrate that belief, through their actions and communications.

III) Both 1 & 2 above has to be continued till the transition is complete and deemed Sustainable

Dilution in any one of the above is a recipe for failure, while perseverance demonstrated on the 3 Steps, guarantees Success

The Hidden advantage of Team Problem Solving

When teams come together to identify root cause of problems & determine corrective actions, they don’t do just that.

Coming into the discussion most participants, bring with them their perspectives & opinion on what went wrong & how to solve it.

After an hour of brainstorming they identify some Root cause/s and a series of actions to address them.

When leaving the discussion, they take back a whole bunch of different perspectives, alternative viewpoints, and a much better appreciation of the problem & its complexities.

That learning & experience is the true value of Team problem Solving exercises.

ROTI – Food for Thought

Reading is such a wonderful thing, the more variety you read, the more wilder is your imagination. Last weekend I had an epiphany, R.O.T.I – Return On (TIME) Invested

Wow, What If that could be a Real measurable metric? A quick search on google, and i realized the Acronym is taken 😦  It is in use to evaluate agile meeting effectiveness. So my momentary dream of registering (R.O.T.I) acronym and having copyrights, died in its own womb.

Never Mind, so continuing the quest, If we could  realize the importance of Quality time, that would act as a natural fuel or catalyst towards building a Culture of Quality.it would trigger a virtuous cycle of Improvement.

Unlike Money, Time is a perishable asset, with a constant unit rate of depreciation (i.e. if we have 24 hours at the start after 6 hours, we have only 18 Hours left – or One Unit depreciation / Hour)

So after some more deliberation, The first preliminary draft of the equation.

R.O.T.I = (Utility value of an activity over applicable period of time) / (Time Invested in the activity) + (Additional Time Re-invested in same activity)

Leading Metrics – Underutilized Opportunity

I have time & again come across senior leaders, who focus on the end result. they question the team and look for root causes well after the path taken has had its undesired impact.
examples of schedule and cost over runs or product quality issues are many.

Having a robust system to track ongoing performance, with leadership oversight on the path being traversed would have averted such undesired eventualities.

Most Processes can be broken down to their constituent Sub-processes. Each of Sub-processes may further be broken down to a series of activities. Sub-Processes take inputs and consume resources to produce the desired output. Having Indicators at appropriate level, to determine the quality and effectiveness of the Inputs, Processes & Outputs, will help identify deviations early and at the right level of granularity.

Having systems in place with leadership oversight, to recognize such deviations in Sub-processes and take corrective actions at the respective levels, can help arrest magnification of problems.

By Identifying Issues at such granular levels, the corresponding corrective actions are also small and easy to implement. Teams have the required motivation to make corrections and results are immediately visible, the right behaviors are thus reinforced.  By delaying or not making the fix at the right granular level, we let the small issues magnify into problems of significance. this further has negative impact on the teams motivation to address them.

Thus having good Leading Metrics or Indicators of progress on the path taken, go a long way in enabling desired outcomes.

What ails Lean Sustenance ?

While most organizations are able to build awareness & induce Lean Transformation, not many of them manage to sustain them. In most such cases, there are multiple factors, which are interdependent and tend to reinforce each other in detrimental ways.

Briefly reviewing few such key factors (not in any logical order )

a.Goals are only stretched they are not audacious – When we set ourselves goals which can be reached with a stretch of current practices. we do just that and meet the objective. This stretching per se cannot be done for long. Team cannot be stretched for too long and soon all the energy saps. It is important that we set ourselves goals that cannot be met with the current was of getting things done, thus forcing ourselves to look for breakthrough strategies to fulfill vision.

b. Diminishing Returns / Marginal gains – In the initial first cycle of Lean Adoption, there are enough opportunities, there is enough visible waste around, and some low hanging gains. Again,It is easy to demonstrate progress without raking the heads. As subsequent cycle kicks in the Law of diminishing returns, and aspects of Marginal utility start impacting the transition. as the Marginal gains start reducing, the enthusiasm starts to fade.

c. Result Oriented – Learning disability – Though we learnt that Lean is about focusing on process also and not just the results. it is hard to instill; A key tenet of Lean thinking is fix the processes the results will follow. I term this as learning disability because we have seen this pattern elsewhere. Learning a subject to clear an exam or get a certification vs. Learning a subject with an intent to master it. So if the leaders look for outcomes, the teams find ways to get to those outcomes. If the leaders focus on the path taken, the team will take that path for sure.

d. behavior change takes time –  Changing ways is not easy, how many time have we planned to do something, and postponed indefinitely. If for a single individual it is difficult to make a new habit. how much more it would be for a group. The difficulty level gets multiplied. While making new habits itself takes time, the outcome of those changes take even more time to show their results. It is always easy to loose focus / interest and get back to old ways when fallback is an option.

Hence to make a sustained transition, the onus falls on the leaders to show the way, demonstrate the right behaviors, ask the right questions, & persevere in walking the talk.

The missing pillar of Problem Solving

Problems come in different forms, shapes and size, and to solve them, there are numerous methods or paths that can be taken. Six Sigma DMAIC Process / Rapid Problem Solving / and 8 Discipline Problem Solving (8D) are some of the methods that i have come across.

Each of them are applied in appropriate contexts based on their Merits and de-merits. or rather more often, on the organizations preferences, comfort level & culture.

The Least articulated (less detailed) of the 3 processes is the Rapid Problem Solving (RPS) Method

1. Problem description
2. Grasp the Facts
3. Containment Action
4. Identify Point(s) of Cause (Ishikawa diagram)
5. 5 Why analysis
6. Identify actions to address root cause(s) and prevent recurrence
7. Follow up on the actions check effectiveness & make corrections.

The Six Sigma (DMAIC) & the 8D methods are used when problems are more systemic or complex. They elaborate on each of the above steps with additional tools & practices, with an intent to enhance the understanding of the problem.

There is additional focus on gathering objective evidence of the problem & solution effectiveness through measurements & Analysis. 5W | 2H | 1C are further stressed upon.

The Control Plans in DMAIC and Prevent Recurrence (Step 7) in 8D – make the need to update the relevant documents, SOP’s, Checklists & Guidelines explicit.

Each of these problem solving methods have evolved and have been useful.
So what is the missing element ?

I have often found that a “Sense of Urgency” is missing. It is a soft (behavior) element that is critical, for the problem solving to be effective. “Cost of delay” in implementing the identified actions, undermines it’s primary intent.

We may need to measure the Cycle time from the point when the team is formed to when the identified actions are all addressed. there needs to be an organization focus towards reducing this Cycle time for Problem Solving.

Without this “Sense of Urgency” instilled in the workforce, the practice would end up as only a documented evidence for process compliance Audits.

Extending 3P’s to Planning effectiveness

Jim Womack” refers to “Purpose, Process & People” time & again when expounding LEAN thinking.  ( One such note is  here).  To explain briefly …

Purpose is about, what is the Value / outcome expected / Why  / Need ?

Process – Do our processes serve the Purpose, are they …
               Valuable — Is the Output useful
               Capable – Get the required result consistently
                Available – Can be executed as and when needed
                Adequate – Does it meet the required Quantitative needs
                Flexible – Can it accommodate variations, can be quickly reconfigured. to changing needs.

People – Do we have engaged & Motivated people Skilled & Competent in executing the process

Jim explains that by asking these questions during Gemba walks, aligning the teams thought process to LEAN thinking, is triggered.

(This was an ultra brief summary … let’s get to the main part)

Now, If we have just conceptualized a project and need to plan the execution.
Purpose is about understanding the Needs and Identifying the Scope & its boundaries.
By explicitly questioning if the Selected Scope serves the true Purpose, we are bringing in alignment with the Customer Needs.

Process is about the Execution plan the WBS / Development Life-cycle / Intermediate Milestones… etc. The good part is we get to think through the abilities (Valuable / Capable / Available / Adequate / Flexible) of each of the Sub processes / Activities. this would help in strengthening the espoused Abilities

Focus on People is about having a team with the required Competencies / Skills, and developing plans to acquire them. Providing for an environment to maximize team engagement towards attaining the purpose.

When we have Uncertainties associated with the 3P’s those are identified as Program Risks. Then we develop plan to mitigate them to reduce the uncertainties.

When we have gaps between the expected outcome & purpose, or the planned processes are not adequately executed, those result in product or process Quality issues .

Thus approaching Project Planning with 3P’s thinking helps improve the Planning effectiveness.

simplifying ISO 9001

when an Organization is assessed for ISO 9001 Quality Management System,  Auditors are looking for evidences for the below …

An Organization should be aware of what it stands for. It’s vision Mission, Values their boundaries & Operating Environment thus they need to know the Context in which they want to operate

They should have a good Leadership team, who value quality focus & are willing to invest efforts & time in helping the organization realize it’s goals & vision

The organization should have strategic Plans and Actions to sustain & grow. they should be capable of exploiting the Opportunities that exist in the market. They should be aware of the Risks in their context and have Plans to mitigate them

Organizations should have the required resources & competent informed workforce at there disposal to be able to Support their operations. The operating processes & procedures should be well documented & used.

Organization should Operate / Execute as per the plans and deliver products & Services to meet Customer commitments.

Organizations should Evaluate Performance against stated goals & plans. Analyze deviations & take corrective & preventive actions.

Organizations should focus on Continuous Improvement of their operations, processes, execution efficiency & competencies.

With these in place you will have a good Quality Management System that would be in compliance with ISO 9001 Requirements