I am wondering how people who have been using Scrum for over 6 months
on the same product are finding the quality of the code and
architecture hold up. I don't mean on projects that are longer than 6
months, but for a particular product that has several projects that
improve it over a period of at least 6 months.
When I ask people in my courses and at conferences where is the time
spent in adding new features to an existing system - writing the
feature or integrating it in - typically everyone answers it is in the
integration cost. I know this is because most people don't write
flexible, extensible, maintainable code incorporating the concepts of
design patterns in. Most of these people are also not using Scrum.
Scrum can both directly and indirectly help this challenge, however
(patterns being used or not). It directly helps this by building less
of what is not needed, thereby lowering the complexity of the system.
It can indirectly help this because many people doing Scrum
incorporate test-driven development and automated acceptance testing.
However, neither of these directly address architectural issues. I am
not espousing up-front architectures here - we do something else I do
not need to describe for the purposes of this question and which isn't
really Scrum anyway. I am just wondering if people's experience is
that Scrum has helped/hurt/left unchanged the quality of
code/architectur.
Anecdotal evidence is fine.
Thanks,
Alan Shalloway
CEO, Net Objectives