I was reading Gene Hughson’s last post yesterday – as usual well worth it – and found a link there that was very interesting. Especially the sentence: “Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change” really struck a chord with me. Not only is it very relevant for what I do, it also very relevant for other people’s perception of what I do and how I add value to an organisation. Unfortunately not everyone gets this, but hopefully this explanation can be used to improve the understanding somewhat.
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?
- 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.
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.
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 🙂
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.