The void between vision and specification: the challenge in software development that is often forgotten
Software development has made rapid progress in recent years and now influences countless parts of our modern lives. Despite all the innovations, the industry has always faced one challenge: the customer vision. The customer’s vision, driven by ambition and desire for innovation, and the dry specifications of the development team are often worlds apart.
“Visio” is of Latin origin and means “idea, imagination”. Sometime in the 14th century, this gave rise to the word “vision”, which now signifies a supernatural appearance, a dream or ideal. This vision– the idea of what the end product should look like and what problems it should solve – always comes at the beginning of a software project and drives the project like an engine.
The vision is usually very vague and describes the “what” and “why,” but not the “how”. This is where the specification comes into play and performs a reality check on the vision. If they haven't already, the facial expressions of many visionaries now change from being initially enthusiastic to thoughtful or confused. Technical requirements, functions, interfaces and all of the details required for development are precisely defined in the specification.
The difficulty is that the gap between vision and specification is often greater than it seems. The visionaries and decision makers have high expectations and take the vision for granted, while the developers are confronted with how to actually implement it. This may lead to misunderstandings, unclear requirements and changing priorities. Failure to reconcile the vision and the specifications can lead to major problems. Delays in the project, frustration within the team and faulty products are possible consequences. False assumptions and unnecessary extra effort ultimately hinder the development process.
Continuous communication and coordination between clients, project managers and developers are essential in bridging this gap, or even avoiding it altogether. The vision must be translated into clearly defined requirements and regularly reviewed and adapted throughout the development process.
Here at CSA Engineering AG, we have been overcoming this challenge successfully for many years.
Through clear communication, an open attitude towards our customers and continuous coordination, we try to bridge the gap between the dream and the reality. This is the only way to successfully bring innovative projects into being. After all, the visionaries’ facial expressions should remain enthusiastic when the original “vision” comes to life.