Hello!
A few years ago the beginning of this post would be something like this:
In the world of software development doesn’t surprise me…
However, more and more I am realizing that today the beginning should be something like this:
Try to continuous improve the way of work in a team is important so …
Why? A few days ago, I was part in a twitter thread where I tell that TDD is not necessary / mandatory in the development of the software. I know, incendiary bomb. In the thread participated some very skilled people like @jc_quijano @ialcazar @juanmagomer @lfraile @r_corral; so I decided to contribute with my point of view so I low the level a little. At the end I mentioned Rodrigo’s post which opened mi mind almost 9 years ago “quality is not optional in the software development“.
At the end the question of why I said that there was no need to do TDD was not answered, so here it goes.
SCRUM is great, no? We all agree on that. When you start to believe in SCRUM you realize that is an empirical framework; everything is based on learning from experience. From this on is necessary confidence and trust in a team, that means transparency. And when you have these 2 pillars; you can begin with inspection and then adaptation based on what you learned from the experience.
I recently was talking about how to improve the work in a Marketing team; and after knowing the context and suggest SCRUM as a framework so they can organize their work; I have the great satisfaction seeing that this group of people start to develop their own scheme of work. While we respected SCRUM roles and artifacts, based on the experience and knowledge sharing across the Group, it began to self-management to achieve a common goal .
This is the experience that I thought sharing to a brutal and assertive phrase:
WHERE ARE TDD THE IN A MARKETING TEAM? EHHHH WHERE?
Thus all uppercase with an exceeding of the Doctor House arrogance. But as always the reality I put on my site shortly after.
This week I was not lucky enough to be in the BUILD, so I decided to go and learn about the world of Health. Specifically to comment on how some aspects of mobility and innovation will change the way in which we work in this world in the future.
And in that context, speaking with a person responsible for a hospital, dropped me the following sentence: “we have the best professionals in the world, and perhaps the best tools for them. It should be a 100& effective team and yet most of the errors we have are caused by people.”
How many times we heard this? many and the world of software development we do is… TDD! (well it is an option, the other is simply do the thing well from the beginning). This person was very receptive and with a very open profile, so I told him about the basis of TDD. In a short time, this person took the concepts of TDD and start think in how he can apply them in every day’s work inside the hospital.
Note: You probably know that the one of the first places where a TDD approach was implemented, was in NASA in the 1950s and 1960s, to ensure that materials they received from external manufacturers met the standards that they defined?
I was stunned! And I realized that even SCRUM is born of a concept that has nothing to do with the development of software, it comes from phase in a RUGBY match, where a part of the team put all the strength together and try to push to the same direction.
So, after giving back to the topic, I think that perhaps the title of the post should be something like
SCRUM does not imply you do TDD; It involves a team to define the best way of working.
Surely in software development, this will involve TDD; in other disciplines… because you see your knowledge.
PD: if any not had noticed, the word TEAM is one of the most important in Team Foundation Server, no?
Saludos @ Home
El Bruno
Leave a comment