David Rodenas PhD
2 min readJun 21, 2022

--

Thanks Rusi,

I usually think that you have to do a minimal design upfront, but I really think that no one should rush to code. Even when I say minimal design, it is because I assume TDD behind, so the design adapts with time.

About experiences, I have a lot. My first experience as a worker (I did a lot of freelance stuff before), was as an intern, and I saw a big flaw in the design. I reported the problem to the architect, but he said that I was wrong, and he had more experience. Three months later, we threw away all the code because of that failure. Six months later, the company run out of money. The error was expensive indeed, it cost the company.

Another kind of stories, is that I usually work with already existing software, with an existing design, and unfortunately, bad design and plenty of bugs. I remember one extreme case in which each new feature or bug fix raised 4 new bugs. I wanted to rebuild the software, business did not let me do that (I am grateful today), so I planned a gradual refactor of the design and I gave instructions to my team to follow it. Around six months later the design was fixed, all the bugs fixed, and the speed increased so much that the required team for that product was reduced to a third. And all of them while we were adding new features at the previous speed, and accelerating. So, the design made the development three times cheaper, but also we saved all the cost for fixing the bugs (which were counted as hundreds).

And you are right. Design is not valued enough in Agile. But I would say, not by Agile, but by people that says that follow Agile. "Scrum like" methodologies focuses mostly on management, and says nothing about design. And because "Scrum like" focuses more in management, are more popular. But if we want to create code according to Agile, not just do management and processes, we should look at other Agile methodologies, the ones that focus in how to code, like XP.

Note 1: XP includes TDD, which is known as a design methodology.

Note 2: As far as I know (as Robert C. Martin wrote in the Clean Agile book), the four values (main page of agilemanifesto) were agreed by all during the meeting in Utah. But the twelve principles, were written after «The following two weeks were not nearly so romantic or eventful as those two days in Snowbird. They were mostly dominated by the hard work of hammering out the principles document that Ward eventually added to the website.», so it is possible that they had a different kind of agreement between all. In fact, they read so XP...

--

--

David Rodenas PhD
David Rodenas PhD

Written by David Rodenas PhD

Passionate software engineer & storyteller. Sharing knowledge to advance our skills. Join me on a journey of discovery in the world of software engineering.

Responses (1)