Software Engineering in Telecommunications Systems
Abstract
The telecommunications industry is software-intensive, requiring code for carriers, service providers, and equipment manufacturers. Fully two-thirds of the budget for switch development, one-half of the budgets for transmission and all a network management budget go to various aspects of code production. Many analyses of project failures and published opinions of experts conclude that the more closely a project can hew to traditional engineering principles to produce a software product, the more likely it will be to succeed. Executives who expect to see risk analysis, correct estimations, market research, and quality control in any well-run project do not see software professionals behaving like engineers. There is an ongoing crisis of mutual misunderstanding about the importance of disciplined software engineering. The latest approaches of extreme programming are being rapidly adopted in the telecommunications industry to speed product development. In too many cases this results in unreliable software in the network.
The nature of the telecommunications business is complex, with layers on historical layers of reasons why decisions were made the way they were in order to accommodate tremendous variation in equipment and local usage. In addition, the problem-domain understanding is difficult for new people to acquire. Problems facing telecommunications software engineers are discussed in detail, Software engineering practices are detailed.