In a perfect world, all software systems would be thoroughly designed before the serious coding begins. But in the real world...
In a perfect world, all developers and designers would carefully document their systems before leaving for another project -- in another company. But in the real world...
In a perfect world, your design and your code would always evolve together, and would never fall out of synch. But in the real world...
In a perfect world, all of your earlier design work would be automatically upgraded to new design techniques such as Use Cases and UML. But in the real world...
Well, at Martin L. Shoemaker Consulting, we have a saying: "Perfect" is impossible; but "better and better over time" is within our grasp. And step one of "better and better" may be Design Discovery: the process of retrofitting a design to fit your existing code. More than just reverse engineering, our process involves recreating the intentions based on the code. As we learn about the system, we capture the knowledge in the design and the specification and even in the code itself. The final product is the sort of analysis and design you'll wish you had all along. You can use this to train new designers and developers how to maintain the system, or as a basis for designing extensions to the system, or even as a springboard for designing a replacement system.
For more information on design discovery, please contact us.