Sublime
An inspiration engine for ideas
Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)
amazon.com
In the real world, the systems we build are part of complex adaptive systems that encompass developers, users, and customers, as well as their environments and organizational contexts. This reality calls for a more dynamic, almost organic approach to architecture and design, one that allows you to learn as you go and adapt your software to ever-cha
... See moreNeal Ford • Software Architecture Metrics
Too many architecture characteristics leads to generic solutions that are trying to solve every business problem, and those architectures rarely work because the design becomes unwieldy. This suggests that architects should strive to design architecture to be as iterative as possible. If you can make changes to the architecture more easily, you can
... See moreMark Richards • Fundamentals of Software Architecture: An Engineering Approach
- A local change can be accomplished by modifying a single element—for example, adding a new business rule to a pricing logic module.
- A nonlocal change requires multiple element modifications but leaves the underlying archite
Paul Clements • Software Architecture in Practice, 4th Edition
Methods Although this is better than the first version of this code, we can improve it significantly by using a special type of function known as a method: func (c Circle) area() float64 { return math.Pi * c.r c.r } In between the keyword func and the name of the function, we’ve added a receiver. The receiver is like a parameter — it has a name and
... See moreCaleb Doxsey • Introducing Go: Build Reliable, Scalable Programs

For more on the large-batch death spiral, see The Principles of Product Development Flow: Second Generation Lean Product Development by Donald G. Reinertsen: http://bit.ly/pdflow
Eric Ries • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
1: Architect products; evolve from projects to products. Architecting products is more efficient than just designing point solutions to projects and focuses the team on its customers. Principle 2: Focus on quality attributes, not on functional requirements. Quality attribute requirements drive the architecture. Principle 3: Delay design decisions u
... See more