Internet - , ,
I write code with testing in mind. Instead of writing a whole lot of code and debugging the combinatorial paths, I write a little bit I can test until I am certain it works. Then I write another and when it is perfect, I test the interaction between the two until that's right, too. When I give something to QA, they focus on petty appearance flaws because they can't find anything broken. (Of course, that's a lie. There's always something, but you get the idea.)I plan my code, too. I did a two man, two month project. Ahead of time, I spent a couple of hours a day drawing and writing, strategizing and devising schemas, thinking through the objects and the implementation sequence. When I was allowed to begin, I was able to give my partner clear direction on elements that fit into a plan but were small enough to be understandable and testable. I was very conscious of acting in an Agile way. We demo'd to each other. (That helps reliability, too. When you operate an application, you have a better view of how it works.)For the record (and the search engines), this project was based on seven new mySQL tables integrated into a larger system of 150 others. It was done in fully objectified PHP using an MVC framework (Cake). The inside facing site was an empty div AJAX application based on EXTJS and Scriptaculous. I made the outside facing site compatible with IE6 (ouch!). We used SVN to manage the code. It was delivered exactly when we promised it would be.
Nginx
DigitalOcean