Information Technology Reference
In-Depth Information
levels of quality and productivity at the same time. Successful reuse needs
several enabling technologies, one of which is a complete taxonomy of
standard software features. Software reusability remains lower than it
should be. Certification of reusable materials is almost totally absent, and
using uncertified materials can be hazardous.
• Quality control remains only semicompetent today, with inspections and
static analysis not being used as often as they should be. Software quality
measures are a professional embarrassment. It is hard to imagine a physi-
cist or chemist publishing data as flaky as the software literature. The in-
dustry has depended on testing, which is fairly low in defect removal effi-
ciency. High quality comes from a synergistic combination of defect pre-
vention, pretest defect removal such as inspections and static analysis, and
formal testing using mathematically derived test cases.
• Change control is not well done. Applications grow at between 1% and
4% per calendar month during development and more than 7% per year
after release. Agile applications grow at more than 10% per month. Many
projects are not prepared for this rapid growth. Early predictions of re-
quirements creep combined with formal change-control methods are
needed for all major software projects.
• Project estimation is not well done and is semi-incompetent for many pro-
jects, as noted during depositions and discovery of projects in litigation.
More than 95% of software projects with fewer than 1,000 function points
still use manual estimating methods. Even above 10,000 function points,
automated estimation is only used on about 25% of projects. Manual es-
timates become progressively optimistic above 250 function points and
dangerously optimistic above 1,000 function points. Parametric estimation
tools and predictive analytics hold accuracy up to more than 100,000
function points.
• Software security remains below the safe level. Cyberattacks, identity
thefts, viruses, worms, botnets, hacking, and spyware are now major busi-
ness and personal problems. Many companies and government agencies
are working to improve security, but fundamental changes in computer
and software architecture may be necessary.
• Software engineering needs to become a true profession with licensing
and board-certified specialists. In this case, software should follow the
Search WWH ::




Custom Search