One of the statements that I caught myself saying this week that sounded very much like a contradiction is:
KISS is hard work!!
Any programmer can sit down and hack out a solution that uses clever language constructs, premature optimization, generalization … It takes discipline, hard work, and consistency to keep a code base in a state that allows the code to stay as relatively simple as possible.
I do believe that writing code test first can definitely aid you in the process of keeping things simple, as you are usually trying to focus on small chunks of functionality at a time. Of course this is one of many possible techniques.
What are some tactics that you use to “keep it simple” in your codebases/environments.
On a related note, what strategies do you use to enable your team as a collective to work together to keep things simple.