Changes to systems are driven by changing conditions. Such change requires system documentation to keep the business evolving in lines with strategy.
The aim here is to summarise some of the issues and challenges in software systems development. The specification process, the need for system documentation, project management, quality management and the risks of short term business strategy.
The Specification Process
Systems changes start with the business. The main issue in systems development is the translation of business requirements into technical specifications. Business people cannot be experts on technical matters and technicians cannot be experts in Business Management. This is why we do functional requirements analysis.
Using graphical specification tools such as UML is the best way to overcome the language issue. UML is a notation which can describe both the summary and detail of required functionality. We use Enterprise Architect from Sparx Systems.
UML system documentation
Projects bring together experts in implementation and those with full knowledge of the requirements. And the quality of the system depends on their mutual understanding. To assist this understanding, we document in UML. It is a graphical language understandable by both parties.
Project management methods such as PRINCE (PRojects In Controlled Environments) and Kepner Tregoe demonstrate that project management requires control.
The risk of wasted resources, time and the number of failed projects justify the need for control methods. Some project management methods themselves are too complicated.
In software development, there are also diverse approaches such as the waterfall method (iterations), test modelling.
The Software development process (coding, infrastructure, technical choices) has been surrounded by other methods (Project, Service and Quality Management) that are riven with processes and multiple actors.
There are several levels of control, serving to raise development costs and increase overall system complexity. Is there not something fundamentally missing, that requires all of these controls?
Agile methods aim to solve this over documentation problem by bringing business customers closer to developers. Specifications are then about discussion. Diagrams are useful here to document common understanding of system models.
The turbulence of markets, of economies, of political systems, lead to a short-term approach. These in turn make strategic thinking more difficult and lead to reactive management.
In the ‘old days’ one would establish a five-year plan but this has reduced to three years in recent times. Sometimes a business strategy may simply be to see clearly ahead for one year. What has happened to strategic thinking?
How can businesses invest in a climate of uncertainty? I call for a return to stable and confident conditions but with that innovation that drives managed change.