Don't keep ppl interrupted - http://blog.ninlabs.com/2013/01/programmer-interrupted/ common mistake at software house - http://jroller.com/page/rolsen?entry=the_same_mistakes_over_and 1.- The all code is crap, except mine, attitude. How to fix it: Don’t criticise others people code 2.- The “I fix that in a second” catastrophe. How to fix it: Don’t trust yourself when carrying delicate activities. 3.- The “That will only take a second” misconception. How to fix it: remember that is very likely that you will find so many things which you didn’t foresee when you start developing that is worth multiplying the estimate to cover for those 4.- The ego spiral. How to fix it: Leave your ego at home. Big egos are one of the biggest non technical issues for any programmer. Keep in mind some basic considerations when making decisions. 5.- “It wasn’t me!” How to fix it: No need to cry, or to perform seppuku, (aka harakiri), when we make a mistake. 6.- The demotivated genius. How to fix it: Discipline. Unfortunately, there isn’t any other remedy I can think of. 7.- The premature programmer. How to fix it: Probably the two easiest ways to help a programmer understand if some code is done are peer reviews and demos. http://www.makinggoodsoftware.com/2011/05/23/top-7-programmers-bad-habits/ The naive approach to system replacement List all the features the current system does (Package) Compare with features in the new package; customise new package to match old package (Custom) Build all features in the new system This is how you waste time and money to build something that people will hate. A better approach to system replacement Understand the job that the users are doing. What are their goals? What are the activities they are doing to achieve those goals? How does the existing system support those activities? Design the new system to support the user's goals. NOTE: This may have very little overlap with how the old system worked AND, I can almost guarantee, will consist of a lot less features. But won't people be annoyed with the changes unless you match the old system? http://jchyip.blogspot.com.au/2013/08/system-replacements-are-not-about.html