RSS

Monthly Archives: April 2012

Complex Projects need Agile MORE than Smaller Projects

I met another Japanese executive last week who said “An Agile approach may be fine for other projects, but our software is big and complex, and because of that we have to use Waterfall approach.”  This is the exact opposite from the truth:  the larger and more complex the code, the greater the need for an agile, iterative approach. Read the rest of this entry »

 
Leave a comment

Posted by on April 30, 2012 in practice

 

Tags: , ,

Don’t Fear Rewriting New Code

The last post #28 Avoid “Test Script” Fever was about simplifying an implementation that was more elaborate than it needed to be.  There was a waterfall-style project in exactly this situation, and leader responded saying “It has already been coded the other way, and if your goal is to save programmer time, rewriting will just waste more time.”   No, it won’t, and this post explains why. Read the rest of this entry »

 
Leave a comment

Posted by on April 23, 2012 in practice, Resource

 

Tags: , , ,

#28 Avoid “Test Script” Fever

There is a strange propensity among developers to make tests more complicated than they need to be in the name of flexibility.  Tests don’t need to be flexible, they need to be reliable and maintainable.  I have seen this pattern so many times it is worth a mention here to avoid it.  To understand it, you have to consider a specific example. Read the rest of this entry »

 
1 Comment

Posted by on April 17, 2012 in Coding, Design

 

Tags: ,

#27 Don’t Declare Variables at the Top

Somewhere long ago you attended a course that said that all variables should be declared at the top of the method.  Modern languages allow you to declare the variable at the point in the code that it is initialized and this is a significant advantage.  However, the outdated idea of declaring all variables at the top of the method persists.  This post explains why this is a bad idea. Read the rest of this entry »

 
Leave a comment

Posted by on April 14, 2012 in Coding, Example Code

 

Tags: , , ,

Two is Not Better Than One

In software design you often must choose between two competing approaches.  Which is better?  It is tempting at times to say “Let’s do both, and let the user choose.”   That might be good, but there are many cases where that is a serious mistake. Read the rest of this entry »

 
Leave a comment

Posted by on April 5, 2012 in Design

 

Tags: ,

#26 Don’t add Methods and Classes that you don’t need.

This should be obvious, but it is a rule that is violated quite often. This is one corollary to the YAGNI (You Aren’t Gonna Need It) Principle.    This post discusses that there is a proper time to do things, and it is a waste to do them ahead of time. Read the rest of this entry »

 
Leave a comment

Posted by on April 2, 2012 in Coding, Design

 

Tags: ,