The issue of ‘bad’ code is always difficult to address in any organization. This PPT elucidates what exactly is ‘bad’ code, its causes, and its consequences. It also briefly touches on the remedies that can be taken to avoid a situation that can let ‘bad’ code put a project at stake.
For more information: https://www.extentia.com/single-post/consequences-of-bad-code
2. www.extentia.com | Confidential
What is ‘Bad’ Code
• Not readable
• Badly organized code and poorly structured control flows; carelessly
named classes; architectural and design issues; poor attention to
detail on issues of scalability, security, and more
• Not testable
• Poor testability that can be easily observed from the simple activity
of measuring the time spent on testing/debugging vs the time spent
on development, as the project progresses
• Hard to extend
• Even trivial features take a long time to deliver, pointing to the
problem of extensibility – happens because of the combined effects
of lack of readability and testability
3. www.extentia.com | Confidential
What Results in ‘Bad’ Code
• Pressure to deliver more in less time
• Forces the developers to take shortcuts, making the code hard to
maintain and extend
• Developers and testers blame the business guys
• For not allowing enough time for writing ‘good’ code or refactoring
‘bad’ code
• Software development managers
• Give up on the engineering excellence aspect of Software
Development Life Cycle (SDLC)
• This results in serious consequences and high costs to be
borne at later stages
4. www.extentia.com | Confidential
Consequences of ‘Bad’ Code
• The general perception of the quality of the output
begins to deteriorate as the team spends more and more
time in fixing bugs than in actually creating new features
• In extreme cases, adding features becomes virtually
impossible with seemingly unrelated parts of the system
failing due to the addition of a feature or, worse – fixing
an earlier bug
5. www.extentia.com | Confidential
Consequences of ‘Bad’ Code
• Costs of adding features increases at an alarming
rate with each delivery cycle
• Adding more people becomes difficult, as they take a
long time to come up to speed; sometimes, new team
members are blatantly scared to touch large parts of the
code, due to the fear of failure
• Customer complaints increase, putting intense pressure
to write an even worse code – to keep fixing the issues
quickly
6. www.extentia.com | Confidential
How to Avoid ‘Bad’ Code
• Managers and businesses must not accept code that has the
characteristics of ‘bad’ code
• Software development teams must be open to adopting
automated and instrumented systems
• For measuring the quality of code
• Managers must keep a close watch on the primary output of
the team – the code
• Practitioners-programmers, designers, architects, and testers
need to
• Acquire a high level of self-discipline and professionalism in the way
the code is designed, written, and tested