Lessons 0

  • Run your unit tests at least once a day. I haven't run it for a week, and now I see that people have added tests which has turned the whole test suite unusable
  • If your project has anything to do with sending emails to other people, do use a separate mail server. And then configure the mail server such that it redirects those emails to a specific email address or mailing list. Something like Fakemail (http://www.lastcraft.com/fakemail.php) should be very useful.
  • Suppose a member of your project team works on feature X first and then moves on to feature Y. Few weeks after X is completed, a bug is found in X. Whom will you entrust with fixing that bug? Of course it should be that particular member who wrote the code. He will take far less time than anybody else of your team. This one is obvious, but it's surprising that people still make mistakes on this. To follow this, you will have keep track of who is working on what.
  • Despite the best efforts of the interviewer, a few black sheeps will slip in to your project team. Either get rid of them or keep them limited to only simpler tasks (e.g. functional test writing). This is because, if you entrust them with a critical feature or critical bug fix, they will botch the whole thing and ultimately cost you more time and annoyance than needed. This one should be also obvious, isn't it? :-)