Home DEVELOPER Broken Windows Theory: zero tolerance for software quality

Broken Windows Theory: zero tolerance for software quality

0


I think you know the incident: you work on a software project and discover a mistake. You should actually fix it immediately, but you are currently busy with a feature that is already late. To fix the error, you also have to update a dependence, which is not easily possible because you will then have to adjust to some areas of the code.

Advertisement


Since they are already late, they make the only comprehensible decisions: they move bugfix to “later”. However, there is a jumping point: it is never “later”. This means that after a while you stand in front of a large mountain of technical loan and ask yourself: how can it ever get it?

This situation is not new in any way. She also tolerates a name: “Broken windows theory“. This does not mean that the Windows operating system is again defective, but the term comes from urban planning. The related idea is simple and effective at the same time: it is that the crime is clearly in some districts in some districts. Why can it reach – Window theory says that the districts are neglected for a long time.

Recommended editorial material

With your consent, an external YouTube video (Google Ireland Limited) has been invited here.

Always load youtube videos

Broken Windows Theory: zero tolerance for software quality

Zero tolerance for software quality // German

As a symbol for this, American social researchers James Wilson and George King chose a broken window in the early 1980s: when a window breaks and no one replaces it, it shows that no one Also does not care about it. However, since no one wants to live next to an empty house with a permanently broken window, the first neighbor will continue soon.

This is followed by other empty houses, and anyone will probably throw it into a window soon or later. It gradually creates a chain reaction in which the quarter decreases, social harmony decreases and some can be very difficult to change at some point, even if someone wants it. This reduces the obstruction range towards the offense, which eventually accelerates only the entire process.

Now the important question is how such development can be brought under control. In fact, there is an answer that has already worked in the past, for example in New York in the 1990s. There, the situation described early described the status quo, and the then Mayor (from 1994 to 2001 was Rudolf Giuliani, which you know as a former legal advisor of Donald Trump), a so-called “zero-criminal” zero “. Tolerance “strategy.

As the name suggests, it is about any refusal with any violation – even with small crimes such as false parking. In this regard, it was successful when the crime rate fell rapidly over the next years. However, no one should embezzlement that the presence of this constant police was criticized in return as it had gone far away. Especially from the United States, you can hear from the police violence and racist point of view, which you want, of course, of course. In summary, it is difficult to find the right balance, but certainly a zero tolerance strategy contributes significantly to curb crime.

What to do with software development? Well, Broken Windows Theory can be excellently transferred to software projects. In summary: Every error that has not been solved is a broken window. Each code line that has to be maintained, but it does not form, is a broken window. Not every old dependence is updated is a broken window. Etc. In other words, if you do not take care of your own code base with a zero tolerance strategy continuously, it essentially leads to the spiral in your project.

Why so? Because mistakes and technical loans add. This means that the effort to fix it at some point will increase continuously. At the same time, there is also a risk of doing something. The two simultaneously ensure that no one ventures in the code, which in turn leads only further mistakes and even more technical debt. A foundation that is unstable from the beginning, set up and continues construction on it and makes this structure delicate until it is separated in the card house that essentially falls .

In addition, there is a fear of adopting or expanding the existing module because you do not know if a function may be a load -bear map of this delicate construction. As a result, everyone around the current code, which makes development complex, slow and expensive. And due to this instability, no one wants to dare to get out of external dependence because it means effort. So you prefer to live with versions that work clearly, but it installs updated options in the long run and quickly leads to safety intervals or non -unnasted problems.

Obviously, it is risky not to worry about the code quality of a project. But there is another factor: Who is the first neighbor to leave an area with broken windows? These are always those who can tolerate it without any problem. In software projects, these are often particularly capable developers that are the first to go first – and unfortunately these are those who need to save the situation, because they still have comprehensive expertise and experience. Is.

It looks very dramatic. But this is reality. You will probably get many arguments, that is why development cannot run with you in any other way. But exactly they talk about that. To close your eyes and believe, others can no longer see, this is a behavior that makes sense in the kindergarten, but simply does not work in software development. I am afraid how many companies still choose this approach again and again.

Now you must be wondering how to identify especially that some slices are already broken in your software project. So I would like to give you some specific hints. There is no specified order in this list, I just list it because it comes to mind.

For example, signs of broken windows, have long been longer and possibly ahead of moving and deployment time. The code, which includes comments like “Todo” or “Fixme”, should also be more and more thoughtful. If you apply regular workarounds and provisional solutions instead of eliminating problems regularly, it is a warning signal. If the test cover falls over time, the errors occur again which have already been removed, no documentation or if it is wrong or old, then all these are signs of broken windows.

If there are code areas that no one wants to touch, if more and more tickets are coming for technical work, then their dependence is not up to date – all these signs are that something is wrong. And all these events are like icebergs: what you see earlier is only the top, and the true boundary is hidden. Therefore, do not consider the situation less by rejecting it as unimportant small things. The actual problem is often much larger than before.

All the features and prices of Apple’s new mobile, which come on 28 February

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Exit mobile version