FAQ 6.06 Why are changes feared in development organizations that don t use specification?

FAQ 6.06 Why are changes feared in development organizations that don't use specification?

graphics/new_icon.gif

Because no one knows what will break.

Changes come in three flavors.

  • Type 1: Implementation changes that do not change the interface specification

  • Type 2: Interface changes that are substitutable (that is, backward compatible)

  • Type 3: Interface changes that are nonsubstitutable (that is, non-backward compatible)

Changes of type 1 and type 2 are relatively cheap compared with changes of type 3, since changes of type 1 and type 2 cannot break user code that relies only on the specification; changes of type 3 can break user code.

In particular, there is often an enormous ripple effect when nonsubstitutable (that is, non-backward compatible) changes are made to a software application's interfaces. In some cases organizations can spend more time adjusting their old code than writing new code. This is especially true for organizations that are building large, complicated systems or applications. Because of this, it is important for developers to know what kind of changes they are making.

With proper specification, anyone (including maintenance programmers) can easily determine whether a proposed change to an interface will break existing code that uses that interface. Read on for more details.



C++ FAQs
C Programming FAQs: Frequently Asked Questions
ISBN: 0201845199
EAN: 2147483647
Year: 2005
Pages: 566
Authors: Steve Summit

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net