The document discusses several issues or "smells" that can arise in software development processes and products. It notes that features may be built that are not useful to all customers; that it can be expensive to build and maintain features; and that there is sometimes a lack of understanding of end user needs. Other issues mentioned include a lack of connection with end users, lack of transparency and collaboration with upper management, resource constraints, numerous bugs, outdated technology, and organizational inefficiencies like duplication and politics. The document advocates finding and prioritizing these smells in order to take actions to address them and improve processes and products.
5. “Features are not useful”
Organization build product with customer need
which are not required for all type of customer
or geographies.
Customer does not know what they need and
product build on assumption
Marketing team promise to build some thing
which no body knows
6.
7. “Expensive to build the product and
extensibility , maintainability is hard”
Fixing the issues are too expensive
Extensibility for the features is expensive
“Experts domain people are missing to
understand end users need”
Customer complains not understand them
Developers blame back end users
8. Process smells are symptoms of internal
software execution problems.
Process smell reflect into the product
which used by the end users.
9. “Missing effective connection with the end
users”
There is no process to connect with the users
There is no efficient persons who understand
the need, collect the need
effectively, communicate the same need to the
implementer.
Efficient process is missing to address the
same need.
End users, product managers, sales and
11. “Resource capability”
Highly skilled resource are located in one
location fully overloaded
Parallel expertise build require lot of time and
not allowed in certain situation
Outsourced are not allowed in certain area
and certain scenarios
Skilled resources are in shortage
12. Too many bugs to fix
Team members are not wiling to do bug fix
Product technology is outdated and no
fund to upgrade
Extensibility is hard with legacy solution.
Expertise is dead with proven establish
legacy product.
No product roadmap
13. Too many layers in the organization. High
in redundant positions.
Ownership , trust , maturity missing with
the team members
Competent , capable team member are
missing
Shortage of real talent and sharing ,caring
parameters are missing with the
organization
Highly political and bureaucratic
environment
14. Taiichi Ohno considered overproduction
the worst of all manufacturing wastes— it
hides the other wastes.
In software development, duplication is
the worst of all the code smells.
Duplication is the number one trigger for
refactoring. Refactoring significantly improve
code smell
15. As Toyota teaches “eyes for waste,” so
team
develop “eyes for duplication.”
similar values
similar variable names
similar code structures
loops of the same length
duplication between test and production code
similar error handling clauses
16. Gerard Meszaros defined a set of project test
smells:
buggy tests—defects are found that should be
detected by automated tests. They were not
found due to mistakes in the tests.
developers not writing tests—no automated tests
are added while the developers are implementing
functionality.
high test maintenance—a lot of time is spent
maintaining the
tests. And, when new functionality is
17. Find as many smells as you can with your
organization.
Convert those into business value and
prioritized those and find actions to
address those.