Lean Architecture: for Agile Software Development and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $15.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Lean Architecture: for Agile Software Development on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Lean Architecture: for Agile Software Development [Paperback]

James O. Coplien , Gertrud Bjørnvig
4.4 out of 5 stars  See all reviews (13 customer reviews)

Buy New
$39.66 & FREE Shipping. Details
Rent
$29.38 & this item ships for FREE with Super Saver Shipping. Details
Only 5 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it Tuesday, May 21? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $27.50  
Paperback $39.66  
Rent Your Textbooks
Save up to 70% when you rent your textbooks on Amazon. Keep your textbook rentals for a semester and rental return shipping is free.

Book Description

August 3, 2010 0470684208 978-0470684207 1
More and more Agile projects are seeking architectural roots as they struggle with complexity and scale - and they're seeking lightweight ways to do it
  • Still seeking? In this book the authors help you to find your own path
  • Taking cues from Lean development, they can help steer your project toward practices with longstanding track records
  • Up-front architecture? Sure. You can deliver an architecture as code that compiles and that concretely guides development without bogging it down in a mass of documents and guesses about the implementation
  • Documentation? Even a whiteboard diagram, or a CRC card, is documentation: the goal isn't to avoid documentation, but to document just the right things in just the right amount
  • Process? This all works within the frameworks of Scrum, XP, and other Agile approaches

Frequently Bought Together

Lean Architecture: for Agile Software Development + Just Enough Software Architecture: A Risk-Driven Approach + Documenting Software Architectures: Views and Beyond (2nd Edition)
Price for all three: $135.43

Buy the selected items together


Editorial Reviews

Review

'...a book of advice that is broad, enabling, and concrete.' (Lean Magazine, January 2010).

From the Back Cover

It's time for change - after 30 years, DCI has risen to complete the vision of object-oriented programming!

Aiming at no less than a paradigm shift, Lean Architecture uses a modern approach to software design, while embracing refreshing new insights of Lean and Agile. Giving a down-to-earth view of Agile requirements and the often-ignored relationship between requirements and architecture, this book goes beyond the fashionable idea of User Stories, and shows you how to employ Use Cases in a lightweight, incremental, Agile way. The authors detail the DCI (Data, Context and Interaction) architecture paradigm and show how DCI succeeds where object-oriented programming languages alone have failed to integrate software design with the end user's understanding of the overall business structure.

However, this is not a methodology book, but a book which focuses on code, with plenty of code examples. Topics covered include: Agile production, Stakeholder Engagement, Organizational issues, Scala/Python/Java implementation of the DCI account example, Qi4J and much more.

Renowned software architecture expert James Coplien and agile requirements expert Gertrud Bjørnvig share their expertise to give you concrete design advice that will help you:

  • Create software that builds on your end-user mental models rather than design methodologies
  • Write software that can directly be verified against behavioral requirements
  • Organize - so that all your stakeholders support each other
  • Support rapidly changing feature code in stable domain code to help embrace change

Lean Architecture casts a new light over important aspects of software development that have been marginalized or forgotten by the agile movement – it will help you find your own path.


Product Details

  • Paperback: 376 pages
  • Publisher: Wiley; 1 edition (August 3, 2010)
  • Language: English
  • ISBN-10: 0470684208
  • ISBN-13: 978-0470684207
  • Product Dimensions: 7.4 x 0.7 x 9.2 inches
  • Shipping Weight: 1.7 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #315,249 in Books (See Top 100 in Books)

More About the Author

Jim ("Cope") Coplien is a speaker and author whose works range from programming and architecture to ethnography and organizational design. He is a founder of the Software Pattern discipline and of organizational patterns, which in turn were one of the foundations of Scrum. Though he writes for a technical audience, his works focus on the human element of product development. His latest work, "Lean Architecture" is as much about how architecture helps make software usable, as it is about software maintainability on the technical side.

Cope lives near Helsingør, Denmark, with his wife and son.

Customer Reviews

Most Helpful Customer Reviews
14 of 18 people found the following review helpful
5.0 out of 5 stars A must read for all system developers August 17, 2010
Format:Paperback
This is a different book. Where most books expound a single theme such as Agile, Lean, or Scrum, "Lean Architecture for Agile Software Development" paints on a much broader canvas: Working with the end user, end user's mental model, user requirements, system architecture, and right down to actual code.

This is neither a beginner's "how to do it in ten easy lessons" nor is it a design method. It is a book written for the mature professional by two authors whose long experience has given them a deep understanding of what really matters in practical programming.

At a first glance, many methodologies appear as mere fads, but Coplien and Bjřrnvig see through the fads and build on their real worth to create a thought-provoking and eminently practical book.

Three random jottings from my first reading:

* Architecture: "No matter how we care to define it, software architecture should support the enterprise value stream even to the extent that the source code itself should reflect the end user's mental model of the world."

* Lean secret: "...unite specialists together in one room: everybody, all together, from early on."

* Form and functionality: "System architecture should reflect the end user's mental model of the world. The model has two parts: The first part relates to the user's thought process when viewing the screen, and to what the system is: its form. The second part relates to what end users do - interacting with the system - and how the system should respond to user input. This is the system functionality. We work with users to elicit and develop these models and to capture them in code as early as possible."

The authors claim that an end user should have a picture in his head that enables him to see the commands that are meaningful in a given situation and to understand what they will do for him. This picture, Jim calls it the end user's mental model, it will be reflected into the actual code in well-built systems.

A few years ago, this reviewer introduced a new programming paradigm that he called Data, Context, and Interaction (DCI). The main feature of this paradigm is that it splits the code into two distinct parts. One part specifies system state; the other part specifies system behavior. Coplien and Bjřrnvig use this paradigm to fill in the gap between architecture and code execution. To quote from the book:

* Key building blocks of object-oriented design: "Objects, which are end users' conceptualization of things in their business world; Classes, which provide simple, encapsulated access to the data that represents business information; Roles, which interact in a use case to achieve some business goal."

This book is a MUST read for all who want to understand the true nature of systems development.
Comment | 
Was this review helpful to you?
11 of 14 people found the following review helpful
5.0 out of 5 stars Must Read for Architects in a Lean Organization. September 6, 2010
Format:Paperback
When I was a C++ programmer in the early 90's Coplien's Advanced C++ Programming Styles and Idioms was a source of interview material when looking for programmers. It's a good bet that this book may fill the same role for those looking to see if candidates for architect roles understand what it means to be an architect in a Lean or Agile Organization. This book dispels the myth that Agile and Architecture don't go together and explains the balance between Agile architecture and too much Big Up Front Design. This book emphasizes the importance of frequent collaboration between stakeholders in defining a good architecture and helps you to understand the importance of architecture to the success of agile projects. With code examples throughout, this book emphasizes that architecture and coding must go together. After describing some general principles of how architecture can add value to an agile project, the authors explain the Data Context, Interaction (DCI) architecture, which provides an framework for building lean architectures. My one minor complaint is that the transition between the general discussions of lean architecture and the focused discussion of DCI was a bit abrupt. But this was a minor distraction from an enjoyable and informative read. Rich with citations, places to go for more information, and historical context, this book will be useful for anyone who is struggling with how to build systems that need to support complicated user interactions (which could describe most non-trivial systems).
Comment | 
Was this review helpful to you?
8 of 10 people found the following review helpful
5.0 out of 5 stars Uses cases in code November 3, 2010
Format:Paperback
This first book covering the new DCI paradigm of programming is a must read for anyone interested in separating the more often changing behavioral parts of code related to use cases from the more slowly evolving structural parts of domain data.

A great practical description of how the use case evolves and translates directly into code, of how to reflect the end users mental model in code - making it much more readable for both programmers and domain experts. It goes into detail about how use case roles translates to Object Roles playing out their part of a use case algorithm and how they get injected into the domain objects to use their state. And we are presented with how the Context can set up the mapping of Roles to domain Objects in different flexible ways before firing off the trigger Interaction of the use case.

Apart from example code in C++ and Ruby through out the last chapters of the book, it also have a great appendix with coded DCI examples in Scala, Python, C#, Ruby and Squeak.

For anyone interested I can also recommend visiting the Google "object-composition" group where all the concepts are discussed and explored.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars Good Comparison
Good comparison between various methodologies. However, in some cases not apples to apples which makes the comparisons less effective. Read more
Published 3 months ago by Sal Magnone
4.0 out of 5 stars Pretty good, but...
The book's concepts are very good, but, like many of these kinds of books, does nto go far enough in explaining--that is, needs more depth. Read more
Published 17 months ago by T. Dugan
4.0 out of 5 stars Different
This book is an important contribution in its field. It is interesting, relevant and quite different. Read more
Published 19 months ago by Stefan
5.0 out of 5 stars Advanced software architecture
Agile movement for good or bad is getting more academic traction. This book is such in a good sense: plenty of in-depth analysis and though-provoking insights on the convergence of... Read more
Published 20 months ago by Igor Lobanov
2.0 out of 5 stars Not 5 star book
I didn't like this book at all. The writing style was somewhat strange to me. Lots of blah blah blah it was hard for me to keep my attention. Read more
Published 21 months ago by Ig Le
5.0 out of 5 stars A "must read" for anyone involved in agile software development
Buy it now. Read it now. It's that important.

IF you get a chance to attend, Jim is teaching a course in Madison, WI on September 6 and 7.

[...]
Published 22 months ago by Timothy D. Korson
5.0 out of 5 stars Plenty of "Aha!" moments
The authors provide plenty of "Aha!" moments, without trying to oversimplify the challenges of system design. Read more
Published 22 months ago by Dave Isaacs
5.0 out of 5 stars An excellent title from the father of agile organizational patterns
This book brings the world of the architecture right in the context of agile.

If you are using Lean, Scrum, XP or any of the other agile approaches in any of the roles... Read more
Published 23 months ago by Bojan Jovicic
3.0 out of 5 stars Cannot get past chapter 8 in Kindle version
Cannot get past chapter 8 in Kindle version ... deleted and added back from archive, but keep getting this message "This item cannot be opened because it is licensed to a different... Read more
Published on April 2, 2011 by Chuck Morrison
5.0 out of 5 stars Wisdom from experience
I have the greatest respect for this author for the contributions he has made to the software development industry. Read more
Published on January 25, 2011 by T. Anderson
Search Customer Reviews
Only search this product's reviews


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category