TWIKI sucks: plain and simple, the end. I have had to endure it for the past 17 months and cannot find a damn thing one it plus editing sucks. A colleague finally decided to install a search/index engine on a separate box. I guess I got spoiled using Confluence in my last job, it was the best.
Respect my authoritah: It is imperative to have a decision making authority in every meeting (and not a quiet one either, but someone who will put his foot down) or the discussions never stop. This goes double for email discussions, sometimes I wonder how people can get anything done if they spend all their time in typing up long emails (and yes I have written my fair share of long emails too). Anyway here is a great quote from the book ‘The Mythical Man Month’ – “We finally decided to implement the language unchanged and unimproved for the debates about the language would have taken all our effort“.
Perfect is the enemy of done: Along the same lines as above, I have seen many spend all their time and effort revising and redoing to achieve the perfect Object Oriented Design and at the end of the day have nothing to show for. Another quote, unfortunately don’t know where I read it, “A painting is perfect when you cannot take anything away from it” or in other words know when to stop. Although one should strive for good design, that should not be your end goal. The end goal should be ‘getting things done’.
Importance of having a testing team: Even if you have 100% coverage (I think that it is a myth). You need someone whose whole job is to break your system, there is ton of literature on the importance of an independent testing team but unfortunately I keep seeing many places where it is done very less or totally absent. Also I think it is equally important to load test the application before deploying it.