Progress with Systems

List of things to think about:
* With large code bases, bug fixes however minor, require specs.
* Take time to think about what your about to code, this is THE most important thing you can do to avoid reworking the code you wrote a month ago. Ideally, for every 4 days of coding you want to think about the problem 1 day atleast. (Credit: Murthy Gorthy)
* Take time off to assimilate the code already present, review it thoroughly and understand the mechanics.
* Check your data going across the wire, is it efficient.
* Those tiny bug fixes may result in additional design, not necessarily extendable but nevertheless not tightly coupled. Sub-Classes, interfaces and so on.
* Unit Test, Unit Test, Unit Test, Hard
* Is all the functionality possibly affected ok? Run some functional tests to find out!
* Clean up code unused! Dead Code sucks!
* Code Reviews are necessary, death to those who waste their peers time!
* And also…Documentation, documentation, documentation…so all future developers send up a silent cheer for you. (Credit: frequent_stopperby)