http://www.perlmonks.org?node_id=317064


in reply to Developing in Process

how can one take all that hard work/meditating done in pre production and make it into at the very least a very strong starting point for a project?

It might be more agile to focus on creating the first version of the software, and just use reverse-engineered UML as a visualization and communications medium.

Rather than drawing pictures, the pre-production work could consist of creating skeleton classes. When you wanted an overview of the system or needed to review it with the client, you would generate the UML diagram and take it to your meeting.

This avoids some of the classic challenges of code-generation efforts, like how to integrate later changes to the UML with changes to the previously-generated code.

I suspect that this approach will also produce better factored code in the final product -- much of the generated code that I've seen has been very verbose, which means maintenance hassles down the road...

If there's some reason this wouldn't work in your environment I'd be interested to hear it...