Читать книгу Beginning Software Engineering - Stephens Rod - Страница 20
PART I
Software Engineering Step-by-Step
CHAPTER 1
Software Engineering from 20,000 Feet
DEPLOYMENT
ОглавлениеIdeally, you roll out your software, the users are overjoyed, and everyone lives happily ever after. If you’ve built a new variant of Tetris and you release it on the Internet, your deployment may actually be that simple.
Often, however, things don’t go so smoothly. Deployment can be difficult, time-consuming, and expensive. For example, suppose you’ve written a new billing system to track payments from your company’s millions of customers. Deployment might involve any or all of the following:
● New computers for the back-end database
● A new network
● New computers for the users
● User training
● On-site support while the users get to know the new system
● Parallel operations while some users get to know the new system and other users keep using the old system
● Special data maintenance chores to keep the old and new databases synchronized
● Massive bug fixing when the 250 users discover dozens or hundreds of bugs that testing didn’t uncover
● Other nonsense that no one could possibly predict
WHO COULD HAVE PREDICTED?
I worked on one project that assigned repair people to fix customer problems for a phone company. Twice during live testing the system assigned someone to work at his ex-wife’s house. Fortunately, the repair people involved recognized the address and asked their supervisors to override the assignments.
If psychics were more consistent, it would be worth adding one to every software project to anticipate these sorts of bizarre problems. Failing that or a working crystal ball, you should allow some extra time in the project schedule to handle these sorts of completely unexpected complications.