availability: September 2014
At xpdays Benelux 2009, I attended an interesting session called 'Developing a Sense of Smells' by Kevin RutherFord and Lindsay McEwan.
The exercise we did went as follows: suppose you are asked to do some work on code you never saw before. How would you assess this, go about estimating the effort and explaining that effort to justify the price/number of days. The first round resulted in terms like 'look for design patterns', 'readibility of the code', ...
Then they explained code smells patterns: f.i. a greedy function: one function that does way to much making it difficult to change, hidden secret: internal knowledge such as the real interpretations of a CSV file data format that can not be deduced by looking at the code. The code smells made it easier to express the problems.
The devops in me,thinks that this can be translated to the sysadmin world. Here are some of the 'smells' I've come up.
The sysadmin uses the system as his toy playground, doesn't clean up.
One server that does every function
Things that are needed to keep the system alive when failed
Mainly indicate not much maintenance is done any more
Loadbalancers, Cluster software, Dependencies
This is just the beginning, so if you have your own ideas/names, just leave a comment.