Optimizing Software Development: "In these days of general hardware and network abundance, ease of maintenance and development speed are often the critical concerns in the development process. This makes sense when you consider the cost of hardware against the cost of developers"