How to Get There?

Sead Alispahic
The Apps Team
Published in
4 min readJan 10, 2019

There are numerous techniques I use to “slice the elephant”. There are exercises which help with building that way of thinking, like elephant carpaccio https://blog.crisp.se/2013/07/25/henrikkniberg/elephant-carpaccio-facilitation-guide, but what happens when you have a piece of work so big, you cannot see the start or finish? Elephant carpaccio is excellent when you can see the elephant, but what if the elephant is so huge you don’t even know it is an elephant? There are techniques that one can use to break even the largest jobs into smaller, easily consumed and digested pieces.

Story Time

With one of my previous employers, I was involved in building a huge system. We realised we could not lift it all by ourselves, so we found an organisation, which was doing software development and we were told they could do it, no problems. They had people, they had capacity, and we just need to tell them what to do. So, we did. We wrote a nice explanation of what the system should do and we had their BA visiting. He was in the meeting and asking some fairly strange questions, but I am not him, I decided to trust he was an expert. After the whole day meeting, he asked for another meeting and after that meeting he came to our office and said he doesn’t know where to start. So, the options were, we drop the piece, not an option. We find somebody else who would do the same thing and tell us they do not know where to start, or we could break the thing for them in small and easily digested pieces. We opted for the third option. We have told the BA to get back to us in two days, by then we would have everything ready for him.

So, I got a product owner and a subject matter expert, two persons and me in a room. We had a whiteboard wall and camera. I’ve decided to use something called Goal Tree https://hohmannchris.wordpress.com/2014/03/07/what-is-a-goal-tree/ with slight modification, to work with a product. Goal tree is basically breaking down a big goal into smaller chunks called Critical Success Factors, which are then broken down to necessary conditions. We started with a goal and in about two hours, or less, we had everything mapped so nicely, we could write a nice BA document for our overwhelmed BA friend, so that he keeps his job.

Please Sir, How Does It Work?

To show how this works, let’s start with a goal. Let’s say our goal is a product, since that is what we had, and that our product is an online store. So, you start with a Goal, or Product Online Store. To have a working online store, you must have a catalog, you must be able to charge people’s credit cards, you must be able to send invoice, you want to be able to have coupons, and you must be able to have specials and so on, and so on. Now you can see how this beast is just growing and to uninitiated might look like a bottomless pit.

This is how your fist diagram might look like:

Even from this diagram you can see that some of the necessary critical factors are not in right place. So your next refinement might look like this:

So, if we say this is how we like it, it might not be correct at all, but for the purpose of the article, let’s say it is, then we break next level down.

And so on, and so on, until you are happy with the level of granularity. I would be very surprised if you had to go more than five levels down. We did not, we went five in some parts and less in the other parts. You will obviously move parts of the diagram, refine it, rethink it and so on. It is fun and quick way of mapping what you need to have for your product to work.

Back to the Story

For our overwhelmed BA, who did not know where to start, we developed a Microsoft Visio diagram and provided him with explanations of what each of those Critical Success Factors and Necessary Conditions mean and he was so happy, that he basically copy-pasted everything into the contract.

Why?

I find it easy for developers to understand what they need to develop. You can go with “branches”. First develop a catalog. Allow people to submit the order even if you had to process it manually in the beginning. Maybe you want to start without specials? It is easy to add them. Then you go to the second branch and you develop that one, and so on, and so on.

--

--