General Development Guidelines

31. July 2006 17:31

Peter Bromberg posted a good read about the basic rules of development.  I happen to agree with all of his points, but there are a couple of them I consider to be particularly significant.

1) A Development Team Should have a Single Design Authority.

I don't think it is by coincidence that Peter posted this one as first on his list.  There has been more than one occasion where I have seen the lack of a single design authority lead to a complete mess.  It doesn't take long for a system to become difficult to comprehend with 5 or 6 people attempting to mesh together their own designs.  For example, try to imagine if everyone on your team used a different approach to data access.  Most likely, you wouldn't want to inherit the maintenance of such a system...unless you are a masochist.

It is absolutely critical to choose a single, qualified person to lead the design of a system. 

3) Good people build good systems, bad people build bad systems.

I completely agree.  When it comes to developers, management often places an emphasis on quantity over quality.  You can push all of the best practices in the world at a bad development team and it won't change a thing.  Developers that are passionate about their job with a drive to excel are far more likely to build a great system.  A team full of apathetic developers is not a group you would want to entrust with the development of a quality system.

Personally, I would put my money on a team of motivated, passionate developers with less experience over a team of arrogant, indifferent developers with significantly more experience. 

Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.


Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn

 

Shared Items

Disclaimer

Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.