Software Development Resources

As part of our mission to advance the art and science of commercial software engineering, Construx provides an array of software development resources. Our focus is on supporting time tested, proven software development best practices across the full spectrum of software development activities.

10 Most Important Ideas in Software Development

As software engineering approaches its 40th birthday, do we know which software development ideas matter most? In this talk, award-winning author Steve McConnell identifies 10 of the most powerful ideas in software engineering. McConnell explains how the 10 ideas form the foundation for effective software development, and he shows how practices ranging from the waterfall model to extreme...

Blended Learning for Software Professionals

Instructor led technical training continues to provide the highest quality training experience, but advances in online eLearning are narrowing the quality gap between Instructor Led Training and eLearning. The choice of training modalities does not have to be an 

Code Complete 2: Modern Realities of Software Construction

For more than 10 years, Code Complete has been a computing-industry best seller. The past decade has seen the emergence of object-oriented programming, the Internet, the CMM, offshore outsourcing, Java, Visual Basic, and the Agile movement as well as staggering advances in computing power and numerous other developments.

Design Checklist

This checklist captures common elements that should be present in all design artifacts including documents, diagrams, prototype models, etc. Some items refer to the design of the system as a whole, and others can be applied individually to separate parts of a design. 

Low Level Software Design Checklist

This checklist covers low level designs. For this checklist, a “unit” describes the low level element you are working on; it could be a module, class, script, webpage, form, report, etc. See CxStand_Design for a discussion of different design levels in CxOne.

Managing Technical Debt

“Technical Debt” refers to delayed technical work that is incurred when technical short cuts are taken, usually in pursuit of calendar-driven software schedules. Just like financial debt, some technical debts can serve valuable business purposes. Other technical debts are simply counterproductive. In this presentation, Steve McConnell explains in detail the different types of technical debt,

Podcast - Software Development's Low Hanging Fruit

Everyone knows that better software development practices pay off in the long run, but what if you need improvements now? In this talk, award-winning author Steve McConnell describes strategies that produce improvements in schedule, quality, and development costs in the short term. McConnell identifies the specific technical practices that produce the highest returns on investment, the lowest...


TSP and PSP (Personal Software Process and Team Software Process) from the SEI. PSP emphasizes improving estimation through collecting estimated size and effort and actual size and effort for every program, and very thorough Inspections for finding defects, as well as testing.