Software development empirical rules

All your codebase will totally rewritten from the ground-up several times during the project lifecycle. You can write good code, several times faster than the best of your code. Write good code, not the best.

Each codebase rewrite will eventually contain more bugs than the previous one.

Sometimes the only way of moving forward is to throw everything out, and start from scratch.

When talking about performance or improvements, everything not based on metrics can be considered just an opinion.

Designing software is an iterative process. The number of iterations is always one more than the number of iterations performed at any given time.

There is never a single right solution. On the contrary, there are always many wrong solutions. A dev should know where he/she lies in.

Software is built from requirements. It is worthless to develop something not asked for. Corollary: it will be worthless as well to try to developing to outsmart the requirements.

From the required use cases, only a small percentage will be used. Go figure the usage of not requested use cases.

100% secure software will take an infinite amount of time and effort. Make your development ready for failure.

Time is the only shrinking resource.

There are no important stakeholders watching during the moment when the project works like a charm.

Blaming does not make your software better.

Being right is worthless. You can in fact take my gist, and suddenly be twice as right as before !

Published by ibon

Chocolate engineer, software eater. Data visualisation at Workday. Past: Platochat, SdkBox, Chukong, Ludei.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: