Slow software: open source and the cult of speed


Share

I spend a great deal of time reading and trying to understand technologies and methodologies that radiate outward in the software development industry and the bulk of these efforts are bundled under the banner of better, faster, cheaper; the reply from the passionate or the dangerous is usually “you can have better, faster, or cheaper, but you can only pick two”.

Whether we like it or not, all great software is built slowly. If it’s also true that a software project is completed quickly, that’s a bonus. Nothing in your project that was built fast works well. If it does, it’s because it was built on the foundations of something slow. Trace back through the underpinnings of any successful software venture and you will see evidence of slowness.

‘Not invented here’ is a good thing

Dwayne Spradlin wrote “Open Innovation: Your On-Ramp to Creating a Better Product” about the beneficial role outside help can bring to a company and its offerings. In it, Dwayne remarks:

…open innovation is helping companies to
succeed because it is reaching a larger audience
of people and allowing people with outside
perspectives to apply their expertise to solving
a problem.

You already embrace open innovation when you recognize that you need outside help to achieve your goals, and one obvious manifestation of that is the use of open source. Whether you admit it or not, plenty of folks with outside perspectives on how you end up building your software are engaged throughout the course of your product, whether you decide those folks are paid through a vendor licensing arrangement or unpaid as contributors to open source efforts. If you are using the latter, you might want to think about giving back to that community.

On oil barons

Thom Hartmann, in “Last Hours of Ancient Sunlight“, coined the term stored sunlight to refer to oil and the natural, concentrated energy within it. Just as Thom warned about the dangers of exploiting this readily available resource rather than sacrifice productivity in the name of renewable energy, an open source project is the stored energy of minds working on a problem indirectly but vitally important to the health of your product or service.

You can still create a good product quickly, but that speed is not a symptom of effort, of scope constraints or gross efficiency. Speed is the by-product of tapping the slowness of quality components, like sweet crude, underneath your project. It is the considered and deliberate pace of proprietary or open source projects that solve the problems that come up again and again when you engineer software.

Software development is hard, it’s going to be hard tomorrow.

What happens when we take energy from the earth without giving it back? We run out. That same principle has to be true for open source projects that we rely on daily to create value, and profit from it. Open source, and open innovation, can be renewable energy sources for your business, and at greater capacities than are possible today, but you need to plant the seed.

Kick It on DotNetKicks.com
blog comments powered by Disqus