There are many ways of partitioning an application. Usually, what we do is actually classify the code according to some criteria and organise the code following that criteria.
This chapter of the book explores four criteria:
- Functionality vs. Domain;
- Conway’s Law;
- Geographic constraints;
- Cultural concerns.
All in all, the idea is that we partition our codebase with long-term local autonomy in mind, according to history, standards and conventions, experience and common sense (Coplien 2010, p.91).
Continue reading “Architecture 1st design step: Partitioning”
Good Software Architecture embodies several Lean and Agile principles, always with the same goal of long-term productivity and lightweight feature development.
Delaying structural decisions will outcome in undisciplined structure, which in turn outcomes in waste. Therefore we must think of Software Architecture as an investment that we need to make now to get medium and long term gain.
Continue reading “What is Lean and Agile about Software Architecture”
The problem is what drives our work, it’s what tells us what needs to be able to be solved by what we are building. It closely relates to use case goals and requirements, but also to the more coarse-grained OKR’s. Continue reading “Problem definition”
In my previous posts, I briefly described the stakeholders. However, they are not Lean nor Agile themselves. What is really important, for Lean and Agile, is how they work together: Everybody, all together, from early on. Continue reading “Stakeholder engagement: Trimming wasted time”
The process of stakeholder engagement is about how people roles connect to the value stream, with everyone focusing in the product final result. As opposed to their isolated place in a production pipeline. Continue reading “Stakeholder engagement: the process”
Today I finish the writing about the stakeholders:
- The business
- The customers
- The domain experts
Continue reading “Stakeholder engagement: The business, customers and domain experts”
There are five major stakeholder areas :
- Domain experts
Both Agile and Lean tell us to break the traditional approach of contacting the stakeholders at a specific moment of the project development, and instead keep a permanent contact with them throughout the project development.
Continue reading “Stakeholder engagement: The end-users”
This chapter of the book talks about the people involved in the system development and the processes that guide their work:
- The value stream
- The key stakeholders
- The process of stakeholders engagement
- The network of stakeholders
As there is a lot to cover in this chapter, I will make several posts to cover it in small batches.
In this post, I will write about the value stream.
Continue reading “Stakeholder engagement: The value stream”
Chapter two of the book is a small preview of the whole book, where the authors talk a bit about:
- engaging the stakeholders
- defining the problem
- what the system is
- what the system does
- the code
Continue reading “Agile Production in a Nutshell”
Lean, agile, architecture… This book’s intention is to teach us about lean architecture for agile software development, how we can use the planning values of lean to drive the inspect-and-adapt (short feedback loop) principles of agile.
This first chapter clarifies the concepts of Architecture, Lean and Agile and why we need Lean Architecture.
In today’s fast-paced world, change is the most stable constant.
In order to thrive, a product must swiftly adapt to changes. For this reason, we need Agile methodologies, to have a project (and the team developing it) embrace change and react to it fast to give the product a competitive advantage and keep it in the game.
However, it is difficult to reshape a system if it is cramped with clutter, if to change part of it, we need to change other unrelated parts who might not even be in use. And here enters Lean.
Lean practices help us get rid of the clutter so we can use agile practices to focus on quickly delivering value to the end-user, by delivering basic functionality and iterating on it to deliver better quality. Continue reading “Lean Architecture”