New Product Software Development Risk

Software development in new product development and risk go hand in hand. This is because there are so many "points of risk" in the software design process, so many detailed decision, steps, and coding actions that can go wrong. This relationship between software and risk can be illustrated by reference to the theories and concepts of W. Ross Ashby (Introduction to Cybernetics, Chapman & Hall, 1956, ISBN 0-416-68300-2). His "law of requisite variety," a core concept of systems theory, indicates that the job of system design and control becomes more and more difficult as the complexity of the system and its interrelated parts increases. Risk can be said to be a function of complexity and control—the less a complex system can be controlled from one point, the more risk it generates. Software development is a good example of this concept.

As in Ashby's law, software development presents unique risks and challenges associated not only with the design and development process, but also with the complexity of the product and the potential gap between functionality of the product and customer or user needs, requirements, and expectations. Add to this system the natural creativity of software design and development, and you have a process inherently risky. This is why software design and development often includes embedded quality assurance and control to reduce risk at every key "point of risk."

The software development engineer is typically responsible for developing software, creating documentation to meet or exceed a requirement, and ensuring that each software development process step is accomplished. A so-called "certification" engineer is also responsible for reviewing and verifying software development products to ensure that requirements are testable and certifiable. The certification engineer is also responsible for developing and implementing cases and procedures that test code and requirements to specified levels, for capturing the test procedures and results in accordance with company procedures, and for ensuring that each verification process step is accomplished. In addition, a software quality assurance engineer is often responsible for monitoring the software life cycle process to ensure that it meets or exceeds the intent of this document.

Software design involves multiple handoffs and team interfaces, creating many risks. Control of software design is accomplished by regular reviews and by ensuring that software designers are fully integrated into the team.

This page intentionally left blank

Chapter

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment