Philosophy
What Is A Harmonic Software System?
A Harmonic Software System is the product of a software process that involves a balanced, cohesive combination of documentation, development and testing, that has been honed through successive iterations of working, functional software, and that has had the highest quality standards applied throughout every facet of the development process.
Document
Start Here! Documentation is vital, so define WHAT your software will do, and HOW it will do it, as best you can. You can (and should) come back and refine the documentation once you have more domain knowledge, which may require quick prototypes or mock-ups. Document your source code as you go, there is no room for unreadable undocumented software created by the resident big-headed genius who might leave tomorrow for a better offer.

Test
Finish the cycle with complete unit tests, integration tests, system tests, stress tests and acceptance tests. Update the documentation with the results of the tests, and if further iterations are necessary start the cycle again.
Develop
Then develop your code and your system, following a coding standard, using good source code control. Iterate as you go, developing unit tests to exercise your new code, and integration tests when modules are plugged together. Keep documentation and code comments current and accurate.