Cover of Code Complete by Steve McConnell - Business and Economics Book

From "Code Complete"

Author: Steve McConnell
Publisher: Pearson Education
Year: 2004
Category: Computers

🎧 Free Preview Complete

You've listened to your free 10-minute preview.
Sign up free to continue listening to the full summary.

🎧 Listen to Summary

Free 10-min Preview
0:00
Speed:
10:00 free remaining
Chapter 1: Laying the Foundation
Key Insight 1 from this chapter

Definition and Importance of Software Construction

Key Insight

Software construction constitutes the hands-on process of building software, distinct from other software development activities such as problem definition, requirements, architecture, and system testing. While many informal projects might broadly label all these as 'programming,' construction specifically centers on coding and debugging. This core activity also integrates detailed design, construction planning, unit testing, and integration testing. Specific tasks encompassed within construction include verifying foundational groundwork, determining testing strategies, designing and writing classes and routines, creating and naming variables, selecting control structures, conducting unit and integration testing along with debugging, reviewing peer code, polishing code through formatting and commenting, integrating separately developed components, and tuning code for enhanced speed and reduced resource consumption. Crucially, construction is differentiated from non-construction activities such as management, requirements development, software architecture, user-interface design, and maintenance, each recognized as vital and deserving of dedicated focus.

Construction is a substantial and central part of software development, typically consuming 30 to 80 percent of a project's total time. This significant time investment inherently impacts project success. Positioned at the core of the development lifecycle, construction follows requirements and architectural design, enabling effective execution, and is subsequently followed by system testing to verify its correctness. This central role means that construction is fundamental to the overall software development process, serving as the bridge between high-level planning and the final, verifiable product.

Focusing on construction significantly improves individual programmer productivity; classic studies, such as Sackman, Erikson, and Grant (1968) and numerous subsequent confirmations, demonstrate a 10 to 20 factor variation in individual programmer productivity during this phase. The source code, produced during construction, often serves as the only accurate and consistently up-to-date description of the software, making its high quality imperative. Construction is the primary phase for effectively applying techniques to improve source code quality. Crucially, construction is the sole activity guaranteed to occur in any software project; even in rushed or poorly planned projects where requirements, design, or testing might be skipped, construction is unavoidable, making improvements in this area universally beneficial to software development efforts.

📚 Continue Your Learning Journey — No Payment Required

Access the complete Code Complete summary with audio narration, key takeaways, and actionable insights from Steve McConnell.