There are many "methods" of software development. Most of them tend to assume
you are working from scratch — particularly those that begin with some sort of abstract model.
Such is not normally the case.
Modifying software can be quite hard: not only do you have to get a clear idea of
what the requirements really are (difficult enough on its own), but —
far more difficult — you need to understand what the existing (possibly
incoherent and undocumented) code already does. Then you have to work out
how to economically bend the latter to meet the former.
UML provides useful tools for understanding both requirements and existing software,
but the models you make look quite different: it perhaps isn't obvious how they tie up.
The key trick is to make a mapping or "retrieval" between them, translating between
the language of the new requirements and that of the old code.
Catalysis™ includes 'refinement' techniques for systematically mapping existing software
to new models, and reconciling the models of different components.
complete solutions for Catalysis™ process adoption
(consultancy, courses, workshops, mentoring, seminars, development)