Muddy Software Architecture

Published January 30th, 2012 Under Quotes | Leave a Comment

“If the layered style is the most common targeted style [in software architecture], the big ball of mud style is perhaps the one most often actually achieved. It is characterized by the absence of any evident structure, or perhaps vestiges of now-eroded structure. Also typical is promiscuous sharing of information, sometimes to the extent that data structures become effectively global. Although the module, runtime, or allocation organization can be a mess, it often starts in the module viewtype and spreads elsewhere. Repairs and maintenance are expedient and resemble crude patches rather than elegant refactorings. No effort is made to enforce any conceptual integrity or consistency. Read more

Building the Right Product

Published December 8th, 2011 Under Quotes | Leave a Comment

“In the last decade, the software development community has strived to build software the “right” way, focusing on technical practices and ideas to ensure high-quality results. But building the product right and building the right product are two different things. We need to do both in order to succeed. Read more

Observations on Software Architecture

Published October 31st, 2011 Under Quotes | Leave a Comment

I am currently reading the book “Practices for Scaling Lean & Agile Development” by Craig Larman and Bas Vodde. This book is full of very interesting material that covers the full spectrum of the software development domain and is the “sequel” of “Scaling Lean & Agile Development – Thinking and Organisational Tools for Large-Scale Scrum” published in 2009. Software architecture and design is one of the topics discussed in the books and I want to share with you some of the authors’ thoughts, starting with five principles that they propose on software architecture and design: Read more

Agile Software Architecture Insights

Published June 23rd, 2011 Under Quotes | Leave a Comment

Some interesting thoughts borrowed from my notes of the “How to Become an Agile Architect” talk presented yesterday by Uwe Friedrichsen from Codecentric at the Jazoon 2011 conference in Zurich.

* Architecture is a set of skills and not a role: if you don’t have these skills available for your project, you might get quickly in trouble.

* Becoming an architect is a journey: you should leave your comfort zone and programming expertise area to explore and learn about the other software development domains like requirements, operations or testing.

* An architect focuses on people and not on systems: if you are unable to communicate your architecture, how perfect it might be, you are going to fail. People skills are the most important for an architect.

* Less is more: minimize complexity and use the JDUF (Just enough Up Front Design) design principle.

He also pointed the audience to a very interesting Architect Competency Framework produced by Ruth Malan and Dana Bredemeyer. The web site of Bredemeyer Consulting contains a lot of valuable material about software architecture.

8 Principles of Agile Architecture

Published April 7th, 2011 Under Quotes | Leave a Comment

Dan Leffingwell proposes eight principles for the development and maintenance of enterprise-class architectures in the lean and agile enterprise:
1. The team that code the system also design the system
2. Build the simplest architecture that can possibly work
3. When in doubt, code it or model it out
4. They build it, they test it
5. The bigger the system, the longer the runway
6. System architecture is a role collaboration
7. There is no monopoly on innovation
8. Implement architectural flow

Source: “Agile Software Requirements”, Dean Leffingwell, Addison-Wesley, 489 pages, IBSN 978-0-321-63584-6

Get more details on this book or buy it on amazon.com
Get more details on this book or buy it on amazon.co.uk

keep looking »