Reading List

(Because people keep asking me for it.)

Lean/Agile Software Development

Implementing Lean Software Development: From Concept to Cash

This is one of my favorites and a great introduction to Lean concepts. "Concept to Cash" sums up a lot of what's important in organizing people and teams. If you're not minimizing the time it takes to get from concept to cash, you're not maximizing the amount of learning you can apply to improving your product or your ability to outmaneuver your competitors. Mary Poppendieck has also given some great talks at conferences.

The Art of Agile Development

The bible of agile done well. James Shore does an excellent job presenting XP, the formulation of agile that combines technical and organizational practices to enable rapid, high-quality software delivery. He presents not only the foundations for the practices, but the preconditions to support them and mitigating strategies for when the preconditions don't exist.

Lean Primer

A great, concise introduction to Lean that's also a free download.

Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum

Great treatment of applying Agile and Lean to large, multi-team environments. Feature teams and systems thinking are two highlights.

Managing the Design Factory

Reinertsen applies queueing theory and economic models to product management and prioritization. I've also enjoyed his work on Decentralized Control. See also further information on cost of delay.

The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses

A classic before it was even released, The Lean Startup has changed the way startups do business. Powerful concepts that seem obvious in hindsight, but are rarely applied fully or well. Start with minimal experiments to find product market fit. Prioritize learning and explicitly validate and invalidate assumptions to build a business rather than guessing.

Growing Object-Oriented Software, Guided by Tests

Liftoff, Second Edition: Start and Sustain Successful Agile Teams

Agile Retrospectives: Making Good Teams Great

Communication and Negotiation

Difficult Conversations: How to Discuss What Matters Most

Crucial Conversations: Tools for Talking When Stakes Are High

Beyond Reason: Using Emotions as You Negotiate

Getting to Yes: Negotiating Agreement Without Giving In

Switch: How to Change Things When Change Is Hard

An entertaining read that presents a model for inspiring change in groups of people. Useful for anyone trying to promote change or alter others' behavior.

Made to Stick: Why Some Ideas Survive and Others Die

Consulting

The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully

Business

Drive: The Surprising Truth About What Motivates Us

If you manage anyone, stop. Do not pass Go. Do not collect $200. Go home and read this book. Too many companies are managing creative work with extrinsic rewards and undermining the motivation they seek to foster. (At the very least, watch the video if you can't get around to the book.)

Good to Great: Why Some Companies Make the Leap...And Others Don't

Great, research driven ideas about factors leading to long term stable growth in companies.

The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers

Technical

The Log: What every software engineer should know about real-time data's unifying abstraction

Excellent article by Jay Kreps, one of the originators of Kafka at LinkedIn, on the data structure underlying modern stream processing and distributed systems.

Release It!: Design and Deploy Production-Ready Software

Nice treatment of how to approach building systems that need to be stable and resilient in production and through deployment.