Project Sherlock

Computer Science

Software Engineering

Building systems that other people will have to maintain.

15 topics · 25 curated works

Topics

Reading in Software Engineering

25

A way in

  1. Start here

    No prior grounding assumed.

    Manifesto for Agile Software Development

    Kent Beck et al. · 2001

    A short joint statement by seventeen practitioners naming working software, customer collaboration and response to change as more valuable than the…

    +5 more at this level

  2. Then

    Assumes you know the vocabulary.

    No Silver Bullet: Essence and Accidents of Software Engineering

    Frederick P. Brooks Jr. · 1986

    Software's essential complexity cannot be removed by tooling, so no single technique will deliver an order-of-magnitude gain.

    +8 more at this level

  3. Go deeper

    Primary sources and full treatments.

    On the Criteria To Be Used in Decomposing Systems into Modules

    David L. Parnas · 1972

    Argues a system should be decomposed by hiding design decisions module by module, not by dividing it into processing steps, because that is what lets…

    +9 more at this level

12 of 25 works

Book2009

Pro Git

Scott Chacon & Ben Straub

Explains Git's object model of commits, trees and blobs as a content-addressed graph, arguing this is the idea that makes the rest of the tool's behaviour predictable.

link checked 17 Sept 2026

In order written

1972 – 2021
  1. 1986The New New Product Development GameHirotaka Takeuchi & Ikujiro Nonaka
  2. 1994Software AgingDavid L. Parnas
  3. 2002Object-Oriented Reengineering PatternsSerge Demeyer, Stéphane Ducasse & Oscar Nierstrasz
  4. 2002Simplifying and Isolating Failure-Inducing InputAndreas Zeller & Ralf Hildebrandt
  5. 2006Continuous IntegrationMartin Fowler
  6. 2006Out of the Tar PitBen Moseley & Peter Marks
  7. 2009Pro GitScott Chacon & Ben Straub
  8. 2016Site Reliability EngineeringBetsy Beyer, Chris Jones, Jennifer Petoff & Niall Richard Murphy
  9. 2016The Flame GraphBrendan Gregg
  10. 2021The Debugging BookZeller et al.

Elsewhere in Computer Science