HackerTrans
TopNewTrendsCommentsPastAskShowJobs

meaboutsoftware

no profile record

Submissions

Show HN: An Introduction to Event Storming and DDD

leanpub.com
1 points·by meaboutsoftware·l’année dernière·0 comments

Show HN: The raw truth about self-publishing first technical book

newsletter.fractionalarchitect.io
1 points·by meaboutsoftware·l’année dernière·0 comments

[untitled]

1 points·by meaboutsoftware·il y a 2 ans·0 comments

[untitled]

1 points·by meaboutsoftware·il y a 2 ans·0 comments

Show HN: I published a book to save you from my software architecture mistakes

leanpub.com
100 points·by meaboutsoftware·il y a 2 ans·33 comments

[untitled]

1 points·by meaboutsoftware·il y a 2 ans·0 comments

[untitled]

1 points·by meaboutsoftware·il y a 2 ans·0 comments

Technical debt is like using a credit card – we have to pay it off

newsletter.fractionalarchitect.io
2 points·by meaboutsoftware·il y a 2 ans·0 comments

Evolve Your Software Architecture

newsletter.fractionalarchitect.io
1 points·by meaboutsoftware·il y a 2 ans·0 comments

Document Your Architecture Decisions with ADRs

newsletter.fractionalarchitect.io
10 points·by meaboutsoftware·il y a 2 ans·12 comments

Evolutionary Architecture by Example (.NET)

github.com
1 points·by meaboutsoftware·il y a 2 ans·0 comments

[untitled]

1 points·by meaboutsoftware·il y a 3 ans·0 comments

comments

meaboutsoftware
·il y a 2 ans·discuss
Thanks! That was the idea of the book - no philosophy, just practical stuff
meaboutsoftware
·il y a 2 ans·discuss
Thanks for this comment. It is important to consider everything you said. CQRS is part of this book, but it is more of an explanation and might help you at some point (but does not need to). I think that's the main problem of CQRS - it is not understood well.

Throughout the book, I describe many concepts. Sometimes, I give some recommendations, and sometimes, no.

I accept your note—these four steps of evolution help you find yourself in one of them. Simplicity can be solved in multiple different ways; it is just the direction of keeping the solution as simple as possible (sometimes it will be more complicated, and sometimes less).

Enjoy reading it; if you don't like it, you can always return it within 60 days (Leanpub policy).
meaboutsoftware
·il y a 2 ans·discuss
Does 10 years count as a recently graduated student? Thanks, I feel very young again! :)
meaboutsoftware
·il y a 2 ans·discuss
Thank you Marcin!
meaboutsoftware
·il y a 2 ans·discuss
Thank you! This would not have been possible without stopping almost all other work.

This is my tip: if you want to write a book, plan unpaid holidays, or stop all consulting/freelancing work. Then, it is not that hard to keep up the tempo - when you know what you are writing about, of course ;)
meaboutsoftware
·il y a 2 ans·discuss
Thank you! :)

I have similar observations, and over the years, I kept looking for something that would stand the test of time. I still remember horrors related to documenting architecture in Word documents (and requirements in Excel, omg).

The architecture decision log usually works well for the teams I work with. It is kept up to date and ordered thanks to architecture decision records.

I describe it extensively in one of the book's chapters with a practical example. I also show how to document alternatives considered when the record was added, where to keep it in case of mono repo, multiple repos etc.
meaboutsoftware
·il y a 2 ans·discuss
Nice one!
meaboutsoftware
·il y a 2 ans·discuss
I partially agree with you- nothing is better than working on "your own" mistakes, but some mistakes often repeat in software architecture. Why not take advantage and not repeat them by learning from others' mistakes? :)
meaboutsoftware
·il y a 2 ans·discuss
Thanks for the tip! The book describes the approach that helps prevent my mistakes, and in each "step," I add several warnings and information sections about what to do and what not. I will try to think of how to add a better demo.
meaboutsoftware
·il y a 2 ans·discuss
Thank you very much!

I tried to keep writing daily—sometimes for just 4 hours, sometimes for 13. On average, it was more than 8 hours a day, with some longer (1-week) breaks in between.

I will write another post on writing experience in the next few weeks :)
meaboutsoftware
·il y a 2 ans·discuss
Thanks for your input - the evolution of the architecture is the apple of my eye. The demo part of the book comes from the evolutionary architecture step, which is described on around 100 pages.

I hope you will enjoy it!
meaboutsoftware
·il y a 2 ans·discuss
Great idea - I already have a repo for the book where I store diagrams. I haven't thought about it. I will move it there.

Thank you!
meaboutsoftware
·il y a 2 ans·discuss
Totally understandable!
meaboutsoftware
·il y a 2 ans·discuss
Each architecture decision record should be added after the decision of the entire team. Then one folk can be assigned to add the ADR to the repo. It will work fine even if you do feature branches (battle-tested but you need to keep you branches short). In case of trunk-based development, there is no problem multiple feature branches.

The idea of ADR is to be immutable. Having multiple, ordered ADRs that touch e.g. the database works similarly to event sourcing - you have the entire history of all changes that were done within the context.

If you want to keep the entire history with changes in a single file called "database", then that's fine but the most important thing is to keep the history of decisions.

Having a single file with only the last decision is not the optimal idea as you lose the entire history.
meaboutsoftware
·il y a 2 ans·discuss
YYMMDD is also a cool idea! I used it in one of previous projects.

What I don't like in your proposal are initials - since 2020 I worked in the environments where all folks were invited in making architectural decisions (that's the way I always try to push as an architect), therefore it would make no sense to add any initials :)
meaboutsoftware
·il y a 2 ans·discuss
In case of monorepo where there are several independent deployment units, separating it via dir is quite simple solution. Additionally, if you move the code to some other provider, you move it together with the code (what is not guaranteed with e.g. GH issues).

However, I don't say NO. It all depends on context, if you decide to use issues - go ahead. I am a fan of pragmatism - do what you need in your context, don't blindly follow the rules
meaboutsoftware
·il y a 2 ans·discuss
First answer: if you don't have any ADR yet, start with documenting the first decision that comes - don't go back in time to record 2 YO decisions.

Second: I described it as "Considered alternatives". There are 2 schools. One that puts it in "Decision" and the second one that puts it in "Considered alternatives " :)

I wouldn't document decisions that were not made as a separate ADR - it would be a mess after some time.
meaboutsoftware
·il y a 3 ans·discuss
In recent years, I have encountered many problems in IT companies caused by incorrect software architecture. What do I mean by incorrect? In most cases, this is one direction – either it is too trivial or incredibly complicated in relation to the problem it is supposed to solve. Both cases lead to performance problems and stop the organization from being agile.