Edward J. Schwartz, a research scientist on the vulnerability analysis team, co-authored this post.
Software engineers face a universal problem when developing software: weighing the benefit of an approach that is expedient in the short-term, but which can lead to complexity and cost over the long term.
How to Develop High Quality Software - Every year, organizations commit themselves to key objectives. Oftentimes, this is achieved via metrics-based performance goals that may include quality goals, and leveraging best practices to streamline their business process. Ultimately, measuring the impact these objectives have had on the organization involves some form of testing and reporting. Savvy employees know to ask for a list of what they will be judged on well before they are reviewed – yet when it comes to developing new software products, defining goals and objectives for testing is often over-looked.
The Phenomenon of Technical Debt - The technical debt metaphor is gaining quite a bit of traction in the software development world. This term was coined by American Ward Cunningham in a report at the OOPSLA conference (Object-Oriented Programming, Systems, Languages & Applications, an annual ACM research conference) in 1992; he said, "Shipping first time code is like going into debt. A little debt speeds development, so long as it is paid back promptly with a rewrite...