Affiliate disclosure

Book titles on this page link to Amazon. As an Amazon Associate, DataField.Dev earns from qualifying purchases — at no additional cost to you.

Further Reading: Software Development Lifecycle

The Agile Manifesto and Its Origins

  • Beck, K. et al. (2001). "Manifesto for Agile Software Development." (Tier 1) The original one-page document that launched the Agile movement. Read it — it's short, clear, and still relevant. The accompanying twelve principles are equally worth studying. https://agilemanifesto.org/

  • Sutherland, J. (2014). Scrum: The Art of Doing Twice the Work in Half the Time. Crown Business. (Tier 1) Written by one of Scrum's co-creators, this book explains the methodology through stories and evidence. Accessible, opinionated, and a quick read. Good for understanding why Scrum works, not just how it works.

Software Development Methodologies

  • Royce, W. (1970). "Managing the Development of Large Software Systems." Proceedings of IEEE WESCON. (Tier 1) The paper often cited as the origin of Waterfall. Interestingly, Royce actually argued against a purely sequential approach — the paper is widely misunderstood. Reading the original is illuminating.

  • Schwaber, K. & Sutherland, J. (2020). "The Scrum Guide." (Tier 1) The definitive, official description of Scrum. Only 13 pages. Every word is carefully chosen. Read this before any other Scrum resource — many popular blog posts and courses add their own interpretations that don't match the official framework. https://scrumguides.org/

  • Brooks, F. (1975, 1995). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley. (Tier 1) One of the most important books in software engineering history. Brooks's observation that "adding manpower to a late software project makes it later" is still true fifty years later. The essays on conceptual integrity, the surgical team, and the "No Silver Bullet" are essential reading for anyone who wants to understand why building software is hard.

Code Review

  • Google Engineering Practices: "How to do a Code Review." (Tier 2) Google's public guide for code reviewers. Practical, detailed, and based on decades of experience reviewing code at massive scale. Covers what to look for, how to navigate disagreements, and how to write helpful comments. https://google.github.io/eng-practices/review/reviewer/

  • Cohen, J. (2006). Best Kept Secrets of Peer Code Review. SmartBear Software. (Tier 2) Based on a study of 2,500 code reviews at Cisco. Includes surprising findings about review effectiveness, optimal review size, and the diminishing returns of reviewing for more than 60 minutes at a stretch. Available free as a PDF from SmartBear.

Technical Debt

  • Cunningham, W. (1992). "The WyCash Portfolio Management System." OOPSLA '92 Experience Report. (Tier 1) The original paper where Ward Cunningham introduced the technical debt metaphor. Only two pages, and it's remarkable how well the metaphor holds up over 30 years later.

  • Fowler, M. (2009). "Technical Debt Quadrant." (Tier 2) Martin Fowler's blog post introducing the four-quadrant model (deliberate/inadvertent, prudent/reckless) used in this chapter. Clear, concise, and widely cited. https://martinfowler.com/bliki/TechnicalDebtQuadrant.html

  • Fowler, M. (2018). Refactoring: Improving the Design of Existing Code, 2nd Edition. Addison-Wesley. (Tier 1) The definitive guide to refactoring — changing code structure without changing behavior. The second edition uses JavaScript examples, but the principles apply to any language. This is your playbook for paying down technical debt.

Documentation

  • Procida, D. (2017). "What Nobody Tells You About Documentation." (Diátaxis framework) (Tier 2) A widely influential framework for organizing documentation into four types: tutorials, how-to guides, reference, and explanations. Helps you figure out what kind of documentation to write for each audience. https://diataxis.fr/

  • Python Documentation: "PEP 257 — Docstring Conventions." (Tier 1) The official Python Enhancement Proposal defining how docstrings should be formatted. Short and practical — follow this standard and your docstrings will be consistent with the Python ecosystem. https://peps.python.org/pep-0257/

CI/CD

  • Humble, J. & Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley. (Tier 1) The authoritative book on CI/CD. Covers the entire pipeline from version control to production deployment. Some parts are enterprise-focused, but the principles apply to projects of any size.

  • GitHub Actions Documentation. (Tier 1) The official documentation for GitHub's CI/CD platform. Includes quickstart guides, workflow syntax reference, and examples for Python projects. Since you're already using GitHub from Chapter 25, this is the natural next step. https://docs.github.com/en/actions

For the Curious

  • McConnell, S. (2004). Code Complete, 2nd Edition. Microsoft Press. (Tier 1) An encyclopedic guide to software construction — the practices of writing code professionally. Covers everything from variable naming to debugging to code review. Dense but invaluable as a reference.

  • Kim, G. et al. (2013). The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win. IT Revolution Press. (Tier 2) A novel (yes, a novel) about a fictional company drowning in technical debt and operational chaos. Follows an IT manager who learns DevOps principles to save the company. Entertaining and educational — especially good for understanding why process matters.

  • Thomas, D. & Hunt, A. (2019). The Pragmatic Programmer, 20th Anniversary Edition. Addison-Wesley. (Tier 1) A classic that covers the broader craft of software development — not just coding, but thinking about code, working on teams, and building a career. The sections on "broken windows" (technical debt), tracer bullets (MVPs), and code review are particularly relevant to this chapter.