Evan Masters – Critical Logic
Written specs are often confusing, ambiguous, incomplete, or sometimes gargantuan and overly complex. This directly leads to defects being built into the business systems that these specs attempt to describe. In this talk, I will describe a method that enables enterprises to deliver high-quality business systems in a repeatable, predictable fashion using technology, standards, modeling principles, and automation to validate and verify system behavior.
We have all heard that a picture is worth a thousand words, so why do we use so many words to describe things, such as how we envision software, instead of using pictures? In this talk, I will describe how the act of creating pictures in the form of models to visualize the intended behavior of a business system brings together stakeholders of every part of the SDLC. The models augment the documentation created to convey business needs to the development team. Models can eliminate the ambiguity, clarify the confusion, and fill in the yet-to-be detected gaps from incomplete specs. They can also make the massive manageable and provide a simplified view into the complex.
I have personally been involved in more than two dozen development projects where models were created as part of the design phase, and my organization has been involved with over 100 such projects. The models were designed with the intent of using them for Model-based testing (MBT), but they served a useful purpose to almost all stakeholders involved in the business system development process. In some projects, the organizations were able to do more with their existing staff. In others, software quality improvement metrics were increased. Still, others were able to begin implementing automated testing using the models as guides.
In all cases, visualizing the information in the specs in the form of models creates a common understanding of the desired behavior of the business system under development, identifies critical bugs early in the development process which saves time and money downstream, and brings stakeholders together to take charge of quality at every stage of the design and development processes.