requirements

On architects and doctors….

I want to make it clear that I have tremendous respect for doctors and I don’t think that a comparison is entirely justified – after all the decisions I’m called upon to make on a daily basis are hardly “life-and-death”. Also, rather than anything remotely dangerous or traumatising, typical occupational risks for someone like me are likely to be the mental anguish of too many meetings without a clear purpose and the physical impact of 8-12 hours per day in an office chair…

I will however maintain that this works as a comparison, a) because of quite a few similarities in patterns, and b) because the context in which the doctor operates is much more clear-cut than the world of SW architecture, making it more easily understandable to “normal” people in a business (whatever that means… :D) .

Examples of where I find this analogy useful as a means of communicating what I do to those around me:

– 1) Listening to requirements is to me somewhat akin to listening to a patient describing symptoms and carries the same inherent risk of jumping to conclusions about what the problem really is. The doctor has to cut through the patient’s own ideas of what the problem is, the patient’s preferred solutions to said problem and any “false flags” because people simply don’t necessarily realise what is important to tell the doctor.

– 2) Like the doctor, the architect also has to balance short-term inconvenience/discomfort with long-term benefits for the patient. That means sometimes causing a patient to go through very painful procedures because they will give the best end result. Good doctors recognise that while some decisions clearly should be made by the patient, some decisions should be made by an expert that has the full picture and a more objective position on what the right decision is. I doubt that anyone would leave all medical decisions to the patient, but some people seem very prepared to insist that all IT decisions are made by the business (or exclusively by IT, which IMHO is equally wrong).

– 3) The doctor has to keep the good of the patient front and center, but the doctor must also be prepared to make uncomfortable decisions for the good of the patient (cf. point 2), remain objective while doing so and then be able to stay (relatively) calm and composed when someone afterwards starts to second-guess the decision they made.

– 4) Last, but not least: Patients normally come to doctors because doctors are experts and they are prepared to accept an expert opinion but the doctor understands the responsibility of making decisions based on the relatively limited input that a patient can provide. I have seen some curious practices for instance regarding sign-off of requirements and solutions – which, if you transplant them to a doctor/patient context and it becomes clear that they do not make sense at all. Some of them, when transplanted into this alternative context, would effectively mean that you had to be a doctor yourself in order to get any value out of seeing a doctor…

 

…or am I completely off here?

Advertisements

When to act and when to wait?

OK, maybe a bit too broad as a headline, but this at least partly covers an oft-seen scenario when part of the organisation want to jump straight into building a solution for a given problem, while another part of the organisation wants to dig deeper into the problem first. In my experience, using the questions below is a good starting point to see if you are actually ready to start working on a solution – and it can defuse any impression that people that want to do more analyses aren’t just “slow” or “timid”.

Presenting the different responses to the questions (e.g. the five radically different perceptions of what the basic problem is) can be a very powerful way to show senior management and/or stakeholders without detailed knowledge of the situation that there are more versions of the truth out there. However, it can of course also be used the other way, to show that everyone are aligned on the problems and the best way forward is actually to try to build a fix for the problem and get some feedback on the effectiveness from the people that need to use it.

  • Problems and (potential) solutions:
    • Do all key stakeholders agree what the basic problem is? (you might be surprised how often this is a resounding “No!”…)
    • Do all key stakeholders agree on the (initial) scoping and prioritisation of issues?
    • Do all key stakeholders agree on the desired business outcome?

 

  • Impact:
    • Can we define clear success criteria for a solution and objective ways to measure them?
    • Can we predict the knock-on effects of what we are changing (systems/processes/organisation)?
    • Can we predict how a solution impacts our current way of doing business?

 

  • If answers are mostly YES = consider building a “minimum viable product”-based pilot and trying it. Use the collected experience and feedback from all stakeholders to refine and improve the solution.
  • If answers are mostly NO = consider doing more analysis and alignment to better understand the problem and it’s context. This will ensure that you have a solid foundation for any solution and hopefully avoid taking too many detours and wrong turns on the path from problem to solution.

Rational rationales…

I’ve long claimed that capturing the rationale for any business requirement/solution decision/whatever is possibly more important than capturing the actual requirement. Well, ok – as important as, then 🙂 Stumbled upon a good story today to back that up:

The problem is that if you can’t even explain why your own company does it this way, I am quite unconvinced that it could not be done better. For example, when more than a decade ago I worked with a large British newspaper company, I asked why their papers were so big. Their answer was “all quality newspapers are big; customers would not want it any other way.” A few years later, a rival company – the Independent – halved the size of its newspaper, and saw a surge in circulation. Subsequently, many competitors followed, to similar effect. Yes, customers did want it. Later, I found out that the practice of large newspapers had begun in London, in 1712, because the English government started taxing newspapers by the number of pages they printed — the publishers responded by printing their stories on so-called broadsheets to minimize the number of sheets required.  This tax law was abolished in 1855 but newspapers just continued printing on the impractically large sheets of paper.

Many practices and habits are like that; they once started for perfectly good reasons but then companies just continued doing it that way, even when circumstances changed. Take time to think it through, and ask yourself: Do I really understand why we (still) do it this way? If you can’t answer this question, I am pretty sure it can be done better.

From here.

This isn’t just important to prevent bad decisions now, but also to be able to prevent bad decisions later when circumstances change and business evolves. If you can’t remember why you did something in the first place, you don’t have a clue whether it is going to be a problem to do something else 🙂

The power of negative…

No, I don’t mean a negative attitude because although that feels great sometimes, I don’t think it is a particularly powerful way of accomplishing anything :). What I mean is “negative questions”, i.e. “what can you do without?”, “what should this not do?” etc.

Usually when developing requirements, the business stakeholder/sponsor has no incentive to remove any requirements, which either means you get a bloated list that isn’t realistic or you get to play the bad guy when you have to explain why the pitiful budget that was allocated does not cover the whole list of requirements. And sometimes both…

Even with an unlimited budget, asking what the requester can do without force thoughts about real needs and priorities, thus helping drive the really important discussions and tease out valuable information. In many of these situations you can “opt-in” on everything without any real cost and involvement, but you can’t “opt-out” of anything without considering the consequences first and that’s what the architect needs to take advantage of.

People are normally a bit taken aback when you ask them what a certain system/process should not do, but the answers are usually worth it – especially if they are open about their rationale for saying no. Try this technique and you may be surprised at the results as well.