Dreaming in Code by Scott Rosenberg is a intimate look at the culture of tech startups and the challenges they encounter. The author does an incredible job of providing a first-hand account of his experience, while using every available opportunity to go on side quests to explore the industry as a whole.
Overarching book themes:
- The inherent imperfection of software engineering
- Technical debt vs. production schedule
- The pitfalls of project management
- Dynamics of silicone valley tech startups
- Open source software
- The history of software
- Project management methodologies
According to a 2002 National Institute of Standards and Technology study, around 66% all software was delivered significantly late, over budget or was cancelled. Using OSAF as a case study, readers examine what exactly caused the Chandler project to encounter scheduling issues:
- “Black hole” bugs
- “Snakes”, problems without agreed upon solutions
- Scope creep
- Poorly though out initial design and use cases
- Lack of specifications
- Project management struggles
- Staffing and turnover
- Release scheduling
- Planning bottlenecks
- “Sharpening the axe” projects