
Managing Software for Growth
Without Fear, Control, and the Manufacturing Mindset
Addison Wesley (Publisher)
Published on 22. July 2003
Book
Paperback/Softback
192 pages
978-0-321-11743-4 (ISBN)
Description
Business managers -- whether consciously or unconsciously -- view software as a manufacturing exercise. They force software project managers to predict the unpredictable accurately. This strategy has a fatal flaw: it doesn't work. Managers need to replace it with an approach that allows their teams to end up with software real people want when the project is over, not what those people thought they wanted at the beginning. This book presents a realistic strategy for creating great software when requirements start off ambiguous and become clear only as teams moves through the fog. The author teaches readers to cede control of key elements to the development team, thereby helping the team produce more robust applications in a more timely fashion.
More details
Language
English
Place of publication
Harlow
United Kingdom
Publishing group
Pearson Education Limited
Target group
College/higher education
ISBN-13
978-0-321-11743-4 (9780321117434)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Persons
ROY MILLER has spent over 10 years in IT, beginning with several large projects as a team lead and project manager at Andersen Consulting (now Accenture), and most recently as a team lead, manager, and XP Coach at RoleModel Software. During that decade, he kept telling himself, "There has to be a more realistic way to create software people want and need." Managing Software for Growth is the result of his desire to prove it. Miller is the author of numerous articles and papers, and is the co-author of Extreme Programming Applied (Addison-Wesley), which he wrote with Ken Auer in 2002.
Content
Acknowledgments.
Introduction.
The Manufacturing Mindset.
Bad Assumptions.
A New Way of Thinking.
Implications for Software Development.
This Book.
I. MANUFACTURING SOFTWARE.
1. The Manufacturing Mindset.
Making Cars. Making Software.
2. The Way We Think.
Taylorism. Manageable Problems. Taylor's Cube. Doing What "Works". Being Pavlovian. Plausible Deniability.
3. Different Work.
Bad Logic. Bad Assumptions. Planning for Predictability. A Different Kind of Problem. Messy Problems. Software Development.
4. Square Pegs in Round Holes.
Swingin' Shillelaghs. Increasing Predictability. When Control Doesn't Work. Certified To Control. The Software Uncertainty Principle.
II. COMPLEXITY.
5. Making A Mess.
The Newtonian World. Weird Science. Disproportionality. Nonlinearity. Emergent Patterns. Complex Problems. Interacting Agents. A Vast Space of Possibilities. Conflicting Constraints. Hope.
6. Order for Free.
Self-Organization. The Edge of Chaos. Coevolution. Beyond Biology.
7. Muddling Through.
Dim Bulbs. Muddling Through. Simple, Generative, Local Rules. Self-Organization. Continuous Emergence. Realistic Software Development.
III. GROWING SOFTWARE.
8. Growing Software.
Getting What We Want at the End. Self-Organization. Conversation. Moving in the Right Direction. Right Now. Unpredictability. What "Done" Means. Feeling Our Way. Meetings. "Just Enough" Plans. Requirements. Design. Software.
9. The Lost Art of Conversation.
Conception. Birth. Growth. The Kitchen Sink. Just Enough-ness. Starting with Just Enough. Growing Just Enough. Death. Them's Fightin' Words.
IV. CHANGE.
10. Thinking Differently.
Traditional Thought. The Challenge of Complexity. A New Way of Thinking. The Living Present. Relationships, Not Systems. Getting Stuck. Pretending.
11. Losing Control.
Old-Time Control. "Let's Have Some Emergence Now". Nothing to Lose. Giving Up Control to Gain It.
12. Managing Uncertainty.
From Bosses to Participants. Purpose. Principles. Communication. Power. Personal Risk.
13. Starting Projects.
Focus on Value. Asking for Money. Specifically Wrong. Good Enough Answers. Plans. Staying the Course.
14. Finishing Projects.
Managing Growth. Being Helpful. Dealing With Programmers. Nudging. Pressure.
15. Catalysts.
Starting a Revolution. Taking Responsibility. Manager Conditioning. Confrontation. Breaking the Pattern. Translation. Something Completely Different.
16. A Regular Lead Bullet.
The Complexity Trap. Avoiding the Trap. Arguments with Trains. The New Meaning of Success. Realism, Not Magic.
17. Agility.
What's Agile? XP in a Nutshell. The XP Practices. One Team. Fertilizer.
18. Tomorrow.
Learning to Be Agile. Experiment. Reflect. Spread the Word. Keep At It.
Afterword.
Annotated Bibliography.
Index.
Introduction.
The Manufacturing Mindset.
Bad Assumptions.
A New Way of Thinking.
Implications for Software Development.
This Book.
I. MANUFACTURING SOFTWARE.
1. The Manufacturing Mindset.
Making Cars. Making Software.
2. The Way We Think.
Taylorism. Manageable Problems. Taylor's Cube. Doing What "Works". Being Pavlovian. Plausible Deniability.
3. Different Work.
Bad Logic. Bad Assumptions. Planning for Predictability. A Different Kind of Problem. Messy Problems. Software Development.
4. Square Pegs in Round Holes.
Swingin' Shillelaghs. Increasing Predictability. When Control Doesn't Work. Certified To Control. The Software Uncertainty Principle.
II. COMPLEXITY.
5. Making A Mess.
The Newtonian World. Weird Science. Disproportionality. Nonlinearity. Emergent Patterns. Complex Problems. Interacting Agents. A Vast Space of Possibilities. Conflicting Constraints. Hope.
6. Order for Free.
Self-Organization. The Edge of Chaos. Coevolution. Beyond Biology.
7. Muddling Through.
Dim Bulbs. Muddling Through. Simple, Generative, Local Rules. Self-Organization. Continuous Emergence. Realistic Software Development.
III. GROWING SOFTWARE.
8. Growing Software.
Getting What We Want at the End. Self-Organization. Conversation. Moving in the Right Direction. Right Now. Unpredictability. What "Done" Means. Feeling Our Way. Meetings. "Just Enough" Plans. Requirements. Design. Software.
9. The Lost Art of Conversation.
Conception. Birth. Growth. The Kitchen Sink. Just Enough-ness. Starting with Just Enough. Growing Just Enough. Death. Them's Fightin' Words.
IV. CHANGE.
10. Thinking Differently.
Traditional Thought. The Challenge of Complexity. A New Way of Thinking. The Living Present. Relationships, Not Systems. Getting Stuck. Pretending.
11. Losing Control.
Old-Time Control. "Let's Have Some Emergence Now". Nothing to Lose. Giving Up Control to Gain It.
12. Managing Uncertainty.
From Bosses to Participants. Purpose. Principles. Communication. Power. Personal Risk.
13. Starting Projects.
Focus on Value. Asking for Money. Specifically Wrong. Good Enough Answers. Plans. Staying the Course.
14. Finishing Projects.
Managing Growth. Being Helpful. Dealing With Programmers. Nudging. Pressure.
15. Catalysts.
Starting a Revolution. Taking Responsibility. Manager Conditioning. Confrontation. Breaking the Pattern. Translation. Something Completely Different.
16. A Regular Lead Bullet.
The Complexity Trap. Avoiding the Trap. Arguments with Trains. The New Meaning of Success. Realism, Not Magic.
17. Agility.
What's Agile? XP in a Nutshell. The XP Practices. One Team. Fertilizer.
18. Tomorrow.
Learning to Be Agile. Experiment. Reflect. Spread the Word. Keep At It.
Afterword.
Annotated Bibliography.
Index.