{"product_id":"simplifying-software-design-alistair-cockburn-9798998586279","title":"Simplifying Software Design: The Genius of Bureaucracies, or How Not-My-Job Sharpens Your Design","description":"\u003cp\u003e\u003cem\u003eSimplifying Software Design: The Genius of Bureaucracies, or How Not-My-Job Sharpens Your Design\u003c\/em\u003e addresses a deceptively simple question at the heart of software development: \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eWhere should this line of code go?\u003c\/strong\u003e\u003c\/li\u003e\u003c\/ul\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eEvery system is the accumulation of answers to that question. Each decision about responsibility, knowledge, and communication shapes whether a system remains understandable, maintainable, and adaptable-or becomes tangled and fragile.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eIn this book, international software design guru Dr Alistair Cockburn offers a practical answer using an unexpected metaphor: design your software the way you would design a bureaucracy!\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eWhile bureaucracies are often criticized, they excel at defining clear responsibilities, limiting who needs to know what, and structuring communication between roles. These same properties are essential for effective software design.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eTwo familiar human reflexes become precise design tools: \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e\"Not my job\"\u003c\/strong\u003e - keeps responsibilities sharply defined\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e\"No need to know\"\u003c\/strong\u003e - limits unnecessary dependencies\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eUsing these principles, developers can decide where behavior belongs, reduce coupling, and create systems that remain clear as they grow.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eJust as relevant at this time, they question arises: \u003cstrong\u003e\"How do we train AI systems to produce maintainable code?\"\u003c\/strong\u003e It turns out that AI have read all our complaints about bureaucracies and understand \"Not my job\" and \"No need to know\" very well. These questions make for excellent dialog with them. \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eBuilding on responsibility-driven design (Ward Cunningham, Kent Beck, Rebecca Wirfs-Brock), the book presents a compact starter kit for software design. It introduces responsibility statements, scenario-based evaluation, and interaction diagrams as practical techniques for exploring and improving designs.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eCockburn also presents six design tests-\u003cstrong\u003eAbstraction\u003c\/strong\u003e, \u003cstrong\u003eResponsibility\u003c\/strong\u003e \u003cstrong\u003eAlignment\u003c\/strong\u003e, \u003cstrong\u003eEvolution\u003c\/strong\u003e, \u003cstrong\u003eCommunication\u003c\/strong\u003e \u003cstrong\u003ePatterns, Data\u003c\/strong\u003e \u003cstrong\u003eConnectedness\u003c\/strong\u003e, \u003cstrong\u003eData\u003c\/strong\u003e \u003cstrong\u003eVariations\u003c\/strong\u003e-to help compare alternatives and reason about how a system will respond to change. Rather than defining a single \"correct\" design, the book focuses on how different designs support different futures.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eThese ideas are connected to familiar architectural styles, including Model-View-Controller and hexagonal architecture (ports and adapters), showing how responsibility and boundary management apply at every scale-from subsystems to individual classes.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eWritten as part of the Simplifying series, this book focuses on the small set of techniques that deliver the greatest practical value. It is accessible to newcomers while offering a clear framework for experienced developers and architects.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eIn an era of AI-assisted programming, where code can be generated rapidly, clear boundaries and responsibilities remain essential. These techniques help teams-and the tools they use-produce systems that are modular, understandable, and resilient over time.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAuthor:\u003c\/b\u003e Alistair Cockburn\u003cbr\u003e\u003cb\u003eISBN-13:\u003c\/b\u003e 9798998586279\u003cbr\u003e\u003cb\u003ePublisher:\u003c\/b\u003e Humans and Technology Inc\u003cbr\u003e\u003cb\u003eLanguage:\u003c\/b\u003e English\u003cbr\u003e\u003cb\u003ePublished:\u003c\/b\u003e 03\/19\/2026\u003cbr\u003e\u003cb\u003ePages:\u003c\/b\u003e 190\u003cbr\u003e\u003cb\u003eFormat:\u003c\/b\u003e Paperback\u003cbr\u003e\u003cb\u003eWeight:\u003c\/b\u003e 0.77lbs\u003cbr\u003e\u003cb\u003eSize:\u003c\/b\u003e 9.00h x 6.00w x 0.52d","brand":"Alistair Cockburn","offers":[{"title":"Paperback","offer_id":48852843954431,"sku":"9798998586279","price":38.0,"currency_code":"USD","in_stock":true}],"url":"https:\/\/www.whiterainbookhouse.com\/products\/simplifying-software-design-alistair-cockburn-9798998586279","provider":"WR Book House","version":"1.0","type":"link"}