In celebration of International Women’s Day (8th March 2013), I think a reference to computing pioneer Admiral Grace Hopper is in order. I believe she said that programming was like planning a dinner; that’s a neat way of mapping the act of programming into something everyday. After all, as a programmer, most of the time you aren’t inventing new algorithms1 you’re just joining up existing third party libraries and API’s in a different way; making a new recipe out of the same ingredients.
Integration is much the same.
Let’s have dinner party; words that strike fear into all people of a certain age. I’m sure I’m not alone in thinking that I would never be that type of person; we don’t have dinner parties we have get-togethers with friends, a BBQ that extends into the evening, an intimate supper if you prefer. It’s really all the same thing though, you have some people coming around and you have to make it work.
Making it work is the most important thing you need to do. You need to prepare for the integration; do this by getting as much example data as you can, build a test system you can integrate to. The first time I cook a new recipe, I follow it to the letter, exact measurements and everything (sadly, I haven’t found a formal weight for a pinch of).
Get feedback in much same way that you’d get feedback on a new recipe; execute it first in a low impact environment where feedback is going to constructive rather than negative or confrontational; for some this will mean trying it out on your family first.
Make it look good; no-one wants to eat a meal that looks unappetising. Make sure that the integration is slick. You might not have had the time to handle all the edge cases that are going to be thrown at you, but you need to make it look as though those edge cases will be easy to handle without significant re-work on your part.
The choice of ingredients that you use in your integration is going to be critical. A product that isn’t extensible without resorting to the provider’s consultants isn’t going to be the right choice for integration. Choose something lightweight so that it doesn’t slow you down; choose something flexible enough so that you can tidy up the edge cases without six months’ worth of effort. I cook virtually everything in a wok; not because I don’t have other pans, but because it’s something that’s good enough to cook anything in (I actually have multiple woks, so perhaps that analogy isn’t quite right).
Everything that we do is geared around providing you a framework to get things done.
To paraphrase Bill Gates, anyone who’s understood all of of Knuth can always get a job. ↩︎