Code Monkeyism

Programming is hard by Stephan Schmidt

The only thing that really matters in software development.

Catchy title? I mean it. After 25 years of programming, the only thing that really matters in software development is if a company understands the project triangle. That from the three variables scope, time and resources you can only define two. There are two kinds of companies. Those that understand this and those that don’t. Everything they do flows from there. This is what really matters about software development.

Update: There are a lot of other factors, probably people being one of the most important (think “Peopleware”). Without understanding the Scope-Time-Resources triangle your development won’t work. It just can’t. You can screw up by chosing the wrong architecture, or methodology, or screw up during requirement engineering or with the wrong language for the problem.

But from my point of view this triangle is like gravity. If you ignore gravity, all else will fail.

About the author: Stephan Schmidt is currently a team manager at ImmobilienScout24 in Berlin. Stephan has been working as a head of development and CTO. He has used a lot of different technologies in the last 20 years including Java, Rails and Python. Stephans main field of interest is maintainablity and productivity in software development. Want to know more? All views are only his own.

If you did like this article but you don't want to subscribe to new articles with your reader, you can follow me on Twitter or subscribe to new posts with your email:

Comments

BF

Something like “The only thing that matters in live is keep breathing?”

Kind of thought bubble, isn’t it? There are lots of things that matter that mostly relate to each other in a way or even are the same at last. For instance, what about
“The only thing that matters in any whatsoever area are the persons involved?”

stephan

Yes, people are important.

But from my view, if you don’t understand the Scope-Time-Resources Triangle, your software projects won’t work. You will be overtime, overbudget, burned out but not successful.

french_c

Stephan: While your triangle is important it does not matter unless there is someone in charge who enforces it’s consequences. So if you ask me what matters in software development I would answer: A project manager with guts.

stephan

french_c: yes, you’re absolutely right. The problem with the triangle is not the triangle but project managers without guts who don’t enforce it’s consequences.

stephan

@french_c: does your business allow for some beer? ;-)

french_c

Beer, yes, of course. I am planning for a beer or two second week of June. The usual suspects. (I’m on vacation before).

Warg

Yeah Beer!

stephan

Ah, at last something that interests olli ;-)

Jason

I am not so sure. And that is because success in a software project is not really about how well managed the project or if was delivered with sensible constraints.

I can fail badly with my triangle and still deliver a system that works. I can over run. I can cost far more than I intended but when it gets there it blows the competition out of the water. And that is a successful project.

Every now and again some programmer sits down and invents something that blows everything else out of the water, that transforms a whole industry. That developer might have crystalised decades of experience (such as the developers of Writely (now part of google docs)) or had a Eureka moment (maybe the web itself).

I would suggest that it is not so much an iron triangle as a very good rule of thumb that is foolish or brave to ignore.

So back to your title - the only thing that matters is success. trite but true.

Leave a Reply