Tuesday, 19 February 2013

The mathematics of flies in ointment

You can use simple mathematics to highlight areas that demand management attention and to stop bad news being hidden.

Since ancient times we have recognised that, when assessing a situation, a few bad things can have a disproportionate effect. Take, for example, this passage from the Bible, from which we get the phrase "fly in the ointment" (Ecclesiastes 10:1, RSV):

Dead flies make the perfumer's ointment give off an evil odor; so a little folly outweighs wisdom and honor.
In business, the measures we use for goodness and badness do not show this. At Metrici, we help organisations assess things: projects, IT systems, people, maturity, risk, and so on. It is useful to have summary measures, and we tend to use normal averages (arithmetic means) based on a weighting and scoring scheme. This is easy to understand, but it can hide bad news among good. For example, Project A has an excellent sponsor relationship, effective project management, adequate resourcing, but is seriously over budget. Project B has a reasonable sponsor relationship, project management and resourcing, and is within budget. The averaging effect means that Project A and Project B have the same score, hiding from management the problems with Project A's budget.

We try to find ways of highlighting areas that require management attention. Sometimes we show a second figure next to the score to indicate the number and severity of recommendations. Sometimes we have ad hoc rules, like "the average of the worst three". Sometimes we add commentary.

It would be good to have a single number that represents where management attention is required. People are not good at making decisions based on lots of numbers, and if they are considering multiple items (like a portfolio of projects), additional information soon gets lost. One score that reliably measures goodness or badness would be better.

The power mean is a variation of the arithmetic mean that allows you to emphasise one or other end of a range. Each individual factor is raised to a power before an average is taken, and then the average is raised to the inverse of the power to give the final result. For example, you might take the square root of each factor, average them, and then take the square of the result. You can use the power mean so that a situation with a mixture of good and bad comes out worse than a consistently mediocre situation. In a typical scoring scheme which goes from 0 (bad) to 100 (good), using a power less than 1 (such as 0.2) means that measures at the bad end of the scale are emphasised and not lost.

To be confident in the numbers you give them, people need to understand how they were calculated. Although they are more complicated than simple arithmetic means, power means are easier to understand than presenting multiple numbers and commentary.

We have found the power mean a useful addition to our tool box of analysis techniques. If you are involved in assessing or judging business situations, it is worth understanding the power mean.

© Copyright 2013 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 12 February 2013

Assessment and decision making

Assessment is a valuable part of the decision-making process, even if you don't use the assessment to make the decisions.

My son is in his penultimate year of school, and, being a bright lad, is likely to go off to university. My wife was discussing with him how he could decide between different universities. Then she stopped and laughed and told him that he ought to talk to me about it. My company, Metrici, specialises in methods and tools for assessment to support management decision making. Surely I should be able to give some fatherly advice on how to make a decision.

Personal decisions are different from business decisions. Business decisions are shared, and a systematic process helps gain buy-in from all involved. Assessing different options provides information to support the decision-making process and provides a score that can be used to drive the decisions. Even though many decisions are made on managers' gut feel, they still need to conjure up facts to justify those decisions. But you can not make a personal decision in the same way. You have to trust your instincts, and you do not really have to justify your decision to anyone else because it is you who have to live with the decision.

So it is with some trepidation that I think of applying my normal methods to help my son. However, I believe assessments can help, even for a personal decision.

The process of defining how you are going to assess different options forces you to think through what you really want. You shouldn't try to cover everything: pick the top ten factors that would have the greatest influence on your decision. These might be simple "must haves" (like providing the right course), measures (like pass rates and fees), things that will help you succeed (like accommodation) or more subjective factors (what you and others feel about the place). Thinking through what is most important to you is a really valuable part of the process.

Performing an assessment forces you to systematically consider multiple options, and identify their pros and cons. It provides a structure for the decision making process.

The assessment will provide some indication of "good" and "bad" options. I would not like anyone to base a personal decision solely on assessment scores, but they are useful to confirm or challenge gut feel. Disagreeing with the conclusion of an assessment is hugely valuable, because articulating why you disagree helps you pinpoint the factors that are most important to you.

Most importantly, assessments help you gain the benefits of the decision you have made. It gives you confidence. It prepares you to exploit the opportunities of your chosen option, and to confront its challenges. In the university example, your assessment might uncover that accommodation is in short supply. At least you are forewarned and can make arrangements well in advance.

I don't think my son should base his decision of which universities to apply for solely on an assessment. But I think an assessment process will help. It will force him to think through what he wants, gather the right information, be confident in his decision, and make the most of it.

© Copyright 2013 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 5 February 2013

Technologies for incremental development

When it comes to incremental development and system evolution, not all technologies are created equal.

Modern IT methods stress incremental and iterative construction. We think of these as systems development techniques, but could we extend the idea of incremental build and continuous evolution into production systems?

Recently, through a mixture of time pressure and laziness, I have been making a lot of changes directly to our production Metrici system, even editing configuration and code on the fly. Even though it might seem risky, I have not hit serious problems. I have been trying to think through what characteristics of the platform make this possible.

It boils down to three things: early binding, low coupling, and high autonomy.

Binding refers to the resolution of symbols used in the code to each other and to external data. In a traditional compiled system, symbols in the code are bound to each other during compilation, and then bound to external data, such as files and databases, during system configuration. This is known as early binding. In more interpreted systems, code and other resources may be bound later. But in Metrici, references to data and code components are bound during development - you pick specific versions of specific objects as you configure the system or write code. This extreme early binding means that you can create and modify new versions of code without disrupting existing solutions bound to older versions.

Coupling refers to the degree of connectedness between components, how much a consumer of a component needs to know about that component. At the risk of gross simplification, early bound systems tend to be more highly coupled, with complex programming interfaces, and late bound tend to be looser because they need to resolve connections at run time. Metrici is odd for an early bound system in that the coupling between components is very low - you can include components in a solution without knowing anything much about them. This means that when there are changes, there are relatively few knock-on effects.

Autonomy refers to the ability of components to work independently of each other. Some systems are built from a sophisticated structure of components which rich interactions, but those components have no use outside the whole. In Metrici, every piece of data, including each component, can be represented as a web page, and can be viewed and maintained using in-built functionality independently of any other. If things go wrong, it is always possible to view and modify data, even if more specific functionality, such as appearance or calculations, has gone awry.

If you read about incremental development, there is a lot about methods but relatively little about the fundamental characteristics of software platforms. Our experience has shown us that the software makes a big difference. The combination of very early binding, low coupling and high autonomy frees us from many of the restrictions of traditional software, to the point where it is safe to make changes to a running, production system. If you are interested in incremental and iterative development, it is worth thinking about how the underlying software platform will support you.

© Copyright 2013 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.