Page 1402 - (ISC)² CISSP Certified Information Systems Security Professional Official Study Guide
P. 1402

necessary to ensure continued operation in the face of changing
               operational, data processing, storage, and environmental

               requirements. It’s essential that you have a skilled support team in
               place to handle any routine or unexpected maintenance. It’s also
               important that any changes to the code be handled through a
               formalized change management process, as described in Chapter 1,
               “Security Governance Through Principles and Policies.”


               Lifecycle Models


               One of the major complaints you’ll hear from practitioners of the more
               established engineering disciplines (such as civil, mechanical, and
               electrical engineering) is that software engineering is not an
               engineering discipline at all. In fact, they contend, it’s simply a
               combination of chaotic processes that somehow manage to scrape out
               workable solutions from time to time. Indeed, some of the “software

               engineering” that takes place in today’s development environments is
               nothing but bootstrap coding held together by “duct tape and chicken
               wire.”

               However, the adoption of more formalized lifecycle management
               processes is seen in mainstream software engineering as the industry
               matures. After all, it’s hardly fair to compare the processes of an age-
               old discipline such as civil engineering to those of an industry that’s

               only a few decades old. In the 1970s and 1980s, pioneers like Winston
               Royce and Barry Boehm proposed several software development
               lifecycle (SDLC) models to help guide the practice toward formalized
               processes. In 1991, the Software Engineering Institute introduced the
               Capability Maturity Model, which described the process that

               organizations undertake as they move toward incorporating solid
               engineering principles into their software development processes. In
               the following sections, we’ll take a look at the work produced by these
               studies. Having a management model in place should improve the
               resultant products. However, if the SDLC methodology is inadequate,
               the project may fail to meet business and user needs. Thus, it is
               important to verify that the SDLC model is properly implemented and
               is appropriate for your environment. Furthermore, one of the initial

               steps of implementing an SDLC should include management approval.
   1397   1398   1399   1400   1401   1402   1403   1404   1405   1406   1407