Rewrite (programming) - Risks

Risks

Several software engineers have warned against total rewrites, especially under schedule constraints or competitive pressures. While developers may initially welcome the chance to correct historical design mistakes, a rewrite also discards those parts of the design that work as required. A rewrite commits the development team to deliver not just new features, but all those that exist in the previous code, while potentially introducing new bugs or regressions of previously fixed bugs. A rewrite also interferes with the tracking of unfixed bugs in the old version.

The incremental rewrite is an alternative approach, in which developers gradually replace the existing code with calls into a new implementation, expanding that implementation until it fully replaces the old one. This approach avoids a broad loss of functionality during the rewrite. Cleanroom software engineering is another approach, which requires the team to work from an exhaustive written specification of the software's functionality, without access to its code.

Read more about this topic:  Rewrite (programming)

Famous quotes containing the word risks:

    If the children and youth of a nation are afforded opportunity to develop their capacities to the fullest, if they are given the knowledge to understand the world and the wisdom to change it, then the prospects for the future are bright. In contrast, a society which neglects its children, however well it may function in other respects, risks eventual disorganization and demise.
    Urie Bronfenbrenner (b. 1917)

    There are risks which are not acceptable: the destruction of humanity is one of them.
    Friedrich Dürrenmatt (1921–1990)

    The question is whether personal freedom is worth the terrible effort, the never-lifted burden and risks of self-reliance.
    Rose Wilder Lane (1886–1968)