This is a mistake I keep seeing, and occasionally becoming a victim of, which just shows how easy it is to be fooled by it.
Whenever it comes to building anything involving more than one component, I’d always have a tendency to try and build in isolation-first, and work on integration later. I’d even fool myself with “it’ll be easier to integrate once I know how it works”.
Let me give you an example that might be all too familiar to everyone. Fully separated Frontend and Backend code. There’s ALWAYS a tendency to build everything separately, and integrate later, presumingly so that we can deliver faster.
Or another popular one that I just love whining about – Microservices. You genuinely do get amazing speed by the fact that you can build and deliver stuff faster! Five sprints and you’ve built way more than you’d ever do if you relied on “existing” stuff. And YET, the tax of drifting away from what OTHER team built starts building up, while the hand waiting to bitch-slap you keeps growing!
The thing is that what we deliver is NOT a product, but a set of isolated components. It’s like separately building a window frame and a knob, claiming that we tripled the manufacturing speed. Sure we did, but once we try to integrate, 9 out of 10 times we encounter issues that diminish any previous progress.
Let me put it as straight as it gets:
Building components in isolation while believing that we’ll have easier time later, is like eating a chocolate cake now and being satisfied by the fact that it’ll motivate you to start running. It’s an illusion!
What I strongly emphasize needs to be done is – always force the integrate-first approach. ALWAYS. Even if your components (or systems, for that purpose) are being built from scratch, work towards integrating the prototypes immediately!
Yes, it surely WILL slow you down, frustrate the hell out of you and probably push you down to your knees. But this is because you are paying the tax NOW instead of waiting for it to build up. In terms of cake, it’s like going for a run now so that you can enjoy the sugar later.
Funny enough, 9 out of 10 times, you’ll end up eating less cake while having more satisfaction; and I think that makes it worth 🙂