❓ What is the key to excellent software that satisfies users?

For me, it is not a programming language or a framework.

It is a deep understanding of the domain and how the system must work in the context of the users.

Engineering disciplines can help us.

🧵👇
1⃣ Continuous Delivery.

When software is always in a releasable state, we can deliver it to users frequently to gain new knowledge.

2⃣ Domain-Driven Design.

DDD allows us to build a domain model that is shared by the team, the business, and even the source code.
3⃣ Clean Code.

The source code contains knowledge about the system and the domain. Clean code reflects this knowledge to us every time we read it.

4⃣ Refactoring.

Refactoring allows us to keep knowledge up to date in the code.
5⃣ Pair/Mob Programming.

Pair/mob programming spread knowledge among team members, contributing to build a shared understanding.

6⃣ Test-Driven Development.

TDD makes us specify our current knowledge even before we write the code of the system.

7⃣ What else would you add?
You can follow @macerub.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.