April 18, 2012

My top ten list on how to succeed with large projects. (4)

Responsibility makes better software

Last entry on this list concerned losing control over the project, this one shares the subject. Having control is a key to not only manage and finish a high quality project in time, it is also vital for the developers ability to sleep at night. 
So who's fault is it if something goes wrong? If the database ends up without normalization and the business layer turns up as a huge mass of code with ugly dependencies in every direction. 
In many projects that is a question that no one can answer. "It just grew out to be like this" or "we had so little time" are common and sometimes valid excuses.

I believe in responsibility. I believe that someone should be responsible for the structure in the database, in the business layer, the unit testing and that everyone follows the GUI guidelines of the project.

The reason for this is not because I like to punish people, the reason is that issues have a tendency to fall between people, to disappear and gather dust. This can to some extent be removed with clear responsibilities. If this is my area I want it to be as good as possible, that would at least be my instinct.

I wouldn't want to be caught up with tables without primary keys in my database and I sure as hell would want my business entity to be as easy to manage as possible, something that is best achieved by doing it right.

Responsibility makes better software.

No comments:

Post a Comment