It’s All About Moroccan Chocolate

I'm a genius.

It makes me angry that this isn't more widely recognised. I should be making millions from book deals and speaking engagements but that will come. It's all part of the master plan. For now I have to convince people of my genius one by one at work and in slightly higher numbers via this blog. The fact that my rantings on this blog probably convince an equal number of people I'm insane is neither here nor there. There a fine line between genius and insanity. That's my story and I'm sticking to it.

Anyway, on to my latest evidence that I am in fact a genius. At work yesterday I had a breakthrough with the age-old problem of IT workers, how do you explain IT requirements to non-IT people? My role as a Business Analyst (BA) means I have to document the requirements for IT projects which usually presents two challenges. One is the actual discovery process – finding what the requirements actually are is harder than it sounds. Everybody thinks they know what they want from an IT system but once you start to press them on the specifics they realise (9 times out of 10) they haven't thought it through very well.

The second issue is often simply convincing a business they need some sort of formal requirements gathering process. This usually follows on closely from the "we know what we want" delusion. I call it the "just do it" delusion – that might work as a slogan for a shoe company but it's the equivalent of a suicide note for most IT projects. At this point any proponents of XP/Agile development approaches will be calling me an old stick-in-the-mud. Any reader who has no idea what XP/Agile development means can safely ignore that comment. Proponents of XP/Agile methodologies are crazy people (who nevertheless never respond to deliberate troll comments in blog posts).

So we had a team meeting yesterday to discuss our methodology, how to improve it and how to communicate the process to the business. Our System Development Life Cycle (SDLC) involves defining scope first, then formalising the Business Requirements, then a Functional Specification then handing off to the development group. One team member put forward how he had tried to describe the SDLC in architectural terms because he used to be an architect. This didn't work because nobody else used to be an architect. So we decided we needed a simpler analogy, how about describing it like a recipe? Why not indeed. So I took that idea and ran with it.

Forget IT, we're working on something else. There's a big party coming up and our project is to provide a chocolate cake. The first step is to meet with the business and confirm the scope. Do we have to do anything else for the party? Book a venue? Set up decorations? Bring beer and chips? No on all counts. Our scope is confirmed: all we are providing is a chocolate cake.

Next we have to confirm the Business Requirements in some more detail. What do they specifically want from the chocolate cake? Well, it has to be enough for 36 people. Ken is allergic to nuts so make sure it doesn't contain nuts. Should it be a sponge cake or a mud cake? At this point we don't worry about the details of the recipe (that's in the Functional Specification) or the baking process (that's the Technical Specification), we just talk about the outcomes we want. A mud cake that can feed 36 people and won't kill Ken because of his nut allergy.

Then comes finalising the recipe (the Functional Specification). This tells us everything that needs to happen to deliver on the business requirements (the mud cake needs this much flour, this much cocoa etc.) but doesn't tell a baker what to do (the IT development team write a Technical Specification – the equivalent of baking instructions).

If you've ever worked on an IT project you'll know one of your big enemies is "scope creep". This is when the business wants more and more features even when you have previously agreed on the limits of what you are doing. This takes longer, costs more money and makes it more likely that something will go wrong. So what happens when our chocolate cake project is chugging along and a manager sees a lifestyle program extolling the virtues of Moroccan chocolate? He decides the cake absolutely must be made with Moroccan chocolate and comes in the next day to insist the project plan is changed. How do you deal with this?

It depends how far the project has progressed when the manager starts pressing for Moroccan chocolate. If this happens in your requirements stage, you're in luck. The manager declares the cake project will be a failure without this so, by definition, Moroccan chocolate is a core business requirement. This may require some changes to your project plan. Is Moroccan chocolate more expensive? If it is, that means either increasing the budget or cutting back somewhere else. Can you get it locally or will someone have to fly to Morocco? Does cooking with Moroccan chocolate require special training? If so, do the skills already exist in-house or will an outside expert be required. Time and money comes into it again.

The later the requirement for Moroccan chocolate is identified, the bigger the impact may be. If you were already finalising your recipe (Functional Specification), you need to change it. If you want to keep track of why the project changed (and it's a big mistake not to) you need to document this change request. You can use this later to identify why it took longer and cost more. The later you were in your project the more trouble you may have making the change. If the bakers had already started they will have to throw out the work they've done so far. And if they don't have Moroccan chocolate cooking expertise, well, the whole thing's on hold until you find someone with the right experience.

In essence, you can always add Moroccan chocolate as a requirement, so long as the person asking for it appreciates the additional trouble, time and expense involved. And this is harder to establish if you don't document your scope, business requirements and functional specification.

And with that convoluted analogy we had had our solution. Explain to the business: it's all about the Moroccan chocolate. Do you need it? Are you willing to accept increased time and expense? Can you see how bringing up these requirements later causes many more problems than bringing them up earlier? And the funny thing is the business understood what we were getting at. It's quickly becoming a catchphrase, if someone talks about a new or potentially difficult requirement the response is "Is that a Moroccan chocolate requirement?"

And that's how I spend the non-blog part of my day.



Filed under Work

19 responses to “It’s All About Moroccan Chocolate

  1. hahaha you’re indeed a genius my man! nice analogy with Moroccan chocolate and the insane requirements clients ask from IT Dev. Teams at times.

    having worked in the IT field before i truely understand what you mean. how can we ever make non-IT people who pay us to create business systems understand, thinking it will make their lives easier, when they can’t even understand what they’re asking us to create?! just bec. we’re ‘IT’ doesn’t mean we can just do anything they want us to do to the point of absurdness! but then it’s part of their ignorance on what’s IT and what’s not and what’s worse is they have no idea how much time and effort it requires. they think that just bec. they’re paying you to do it means you’ll do anything they wish you to do even if it’s impossible much more costly and time-consuming. talk about making life easier, maybe they shld. stick to using the calculator if they want things easy coz having a business system they can’t understand is just adding to their misery.

  2. This is the joy of of being a BA! I’m the translator between business and IT. I started one job and a project manager (a programmer who had been promoted) said “No offense, but I’ve never seen the point of BAs.” I responded “None taken – people like you are the reason I’ll always have work for as long as I want it.

    Also, why do people always say “No offense” before they say something really offensive? All I’m saying is some of my best friends are Jewish.

  3. good point there, maybe they shld. say the ‘no offense’ phrase after you’ve already offeneded them?! LoL 😀

  4. Hell Boy

    want noble prize or something like?! 😉

  5. Mayang: they should be honest and say “I don’t give a shit”

    Hellboy: I want cash – and lots of it

  6. I just want to go to Morocco after the chocolate! I’ll be your gofer girl. 😀

  7. Kerryn

    Start writing that book NOW! Quick, before someone else latches on to the Moroccan Chocolate analogy. That was truly inspired.

  8. Sandra: You’re on the project team!

    Kerryn: you get an autographed copy when it’s published for your encouragement 🙂

  9. i can be your assistant, i’ll make your coffee if you want or fetch your things or anything even type as you dictate! i’m after the choc’late! 😀

  10. We’ll be a hell of a team. We’ll kick all the troublemakers to the curb!

  11. kickass and be great at it while licking choc’late off of our fingers! yum yum! 😀

  12. And I will introduce all of our team to my famous home cooked Mexican food and we’ll have choc for desert.

    I’ll buy a new wardrobe for my ever expanding business end. 😀

  13. Rick - a 'merican'

    Well done, Mr. Angry Genius. Communicating with business people is absolutely the second hardest sort of communication, from an IT perspective, in my opinion. The Moroccan Chocolate analogy will probably even work with marketing types.

    Also, I suspect the XP/Agile folk are too busy ‘refactoring’ everything they’ve ever done to leave comments anywhere. That sort of development process may actually work for completely new or isolated software but what I’ve witnessed from XP/Agile attempts within corporate environment appear to be really quick delivery of a result that then becomes a project in some form of perpetual corrective and rewriting stage. Maybe that’s the goal…programmers will always be busy that way.

  14. Mayang and Sandra: I’m liking the idea of a take no crap team who’s in it for the chocolate!

    Rick: I’m with you – XP has some strengths in new developments but I have doubts about how suitable it is for big corporates

  15. Salaamat,
    Wow..i am inspired. Mr. Angry your blog has really made me reconsider some of the things that I actually love about IT 🙂 that’s a great feat, trust me, i never thought anyone could do that.

    Add some chocolates and a trip to Morroco:) wow…i am sold:)

  16. Pingback: greencrab capsules » links for 2006-06-03

  17. Sergio

    Love the analogy. Came across your blog while researching communications in Morroco. Didn’t find what I was looking for…However, became intrugued by your article and can completely relate as I am an art director and work with IT and Web teams on a regular basis. Best of luck to you!

  18. Thanks Sergio – I like that about the Intarwebs, you find stuff you weren’t looking for but enjoy it anayway. Cheers!

  19. Oh boy! I am going through exactly similar situation and I was discussing this with my colleague when she sent me this link of yours …:) boy, I was just laughing as I was reading it …this is exactly what I go through!
    I agree you are a genius 🙂 ! Gives an idea as how to make others understand the situation 😉 thanks buddy
    will look for more to read here…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s