Stakeholder engagement: The end-users

There are five major stakeholder areas :

  • End-users
  • Business
  • Customers
  • Domain experts
  • Developers

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”

Stakeholder engagement: The value stream

Value Stream

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”

PPPDDD.3 – Focusing on the Core Domain

An application is made of several components and sub-components, all of which are essential to the functioning of the application. However, there are components more important than others. Continue reading “PPPDDD.3 – Focusing on the Core Domain”

Clean Code 3: Functions by Robert C. Martin (Uncle Bob)

This post is my personal notes of the talk “Clean Code 3: Functions” by Robert C. Martin.

Recently I revisited this conference talk Uncle Bob gave about functions/methods, where he gives us a set of guidelines on how to do them clean. These are the main guidelines I gathered: Continue reading “Clean Code 3: Functions by Robert C. Martin (Uncle Bob)”

PPPDDD.2 – Distilling the Problem Domain

Distilling the problem domain is about understanding the problem and its domain  in order to uncover what is relevant and create a model that reflects the domain and solves the problem at hand. In DDD, the activity of doing this is called in Knowledge Crunching. Continue reading “PPPDDD.2 – Distilling the Problem Domain”

PPPDDD.1 – What is Domain Driven Design?

Building software that works is not difficult.

What is indeed difficult is to build software that lasts for many years, that keeps working despite the changes needed by the business, needed by the users, needed by new technologies. Building software that is permanently ready for change, and permanently and accurately reflects the business… thats the tricky part. Continue reading “PPPDDD.1 – What is Domain Driven Design?”

PEAA.8 – Putting it all together

This chapter is a bit more than a revision to the previous chapters. Much of what Fowler states, is outdated. Many of the questions he had at the time are not questions any more, they are certainties, some were even trendy and are currently outdated.

In any case, mixing his view at the time with my understanding of what is common practice now days, this is what I take out of this chapter. Continue reading “PEAA.8 – Putting it all together”

PEAA.7 – Distribution strategies

This chapter talks about options to build a distributed system. However it is extremely outdated, as an example I quote ” SOAP is probably going to be the most common form…”. It turns out that the SOAP golden days were not there yet and currently have already passed. Now days most distributed systems are doing Microservices through RESTfull interfaces.

If we want to dive into this subject there are plenty of resources out there:

This post is part of a set of posts with my personal notes about all the chapters in the book “Patterns of Enterprise Application Architecture” by Martin Fowler. I will do this as I read through the book, and take notes on the concepts I personally find more relevant.