The environment and markets are changing
Software development in 2021 – what does that mean for anic GmbH? Looking at our customers, we see that the markets, the technologies used, and the business relationships are all becoming inexorably more dynamic. The keywords ‘globalization’ and ‘digitalization’ are at the heart of this development.
Requirements for software developers
Two tendencies can be derived from this. On the one hand, the requirements of our customers are also becoming more dynamic due to the development described above:
- Planning times are shortening,
- faster response and processing time is expected,
- changes and additions at short notice during the development process are the norm,
- the demand on the quality and reliability of a solution is increasing.
On the other hand, anic GmbH sees itself as a business partner who offers its customers tailor-made solutions at cutting edge technology. These are designed to help our customers, in a flexible manner and in line with their needs, place the framework conditions of their business activities on a stable footing in an environment that is becoming increasingly turbulent. This makes it necessary to orient the technologies used to the current state of developments.
Agility instead of waterfall – a promising solution that inspires
Software development in earlier decades was often synonymous with the relatively rigid processing of previously collected customer requirements within the framework of the so-called waterfall model. The results of the development are often presented to the customer only after all the work has been completed. If only then, it is discovered that important functions are missing or change requests are made, the software cannot be adapted or can only be adapted with great effort and corresponding additional costs. This often results in frustration among the customers and the developers.
Agile development methods
The high dynamics of the environment and the technological development today require close communication and co-ordination of all partners involved in software development. The core strategy of agile software development therefore consists of continuously involving the customer in the entire development process (integration) and coordinating with him at regular short intervals (interaction).
The basic idea of agile software development goes back to the turn of the millennium and has established itself as a standard in many areas in recent years. Well-known representatives are Extreme Programming and Scrum. The “Agile Manifesto”  summarizes twelve principles that are applied in agile programming and software development. It is noteworthy that the agile approach attempts to use the tension between customer satisfaction, quality (functioning software with an added value to the customer) and flexibility as the basis for a competitive advantage to the customer.
In this context, flexibility means that even short-term changes in requirements are welcome. To ensure that these short-term changes do not kill the overall project, the software is regularly delivered in enhanced working versions right from the start of development. The customer can, so to speak, observe the development process of his software from the beginning and influence further development. Likewise, external requirements due to changes in the market can also be incorporated into the development in a timely manner. Bureaucratic effort and rigid rules are reduced to a minimum.
Quality is the core of agile development. The quality of the software – here defined as fulfilling the customer’s wishes – is the primary goal of agile development. The responsibility for the quality of the software is thus shifted to the small, dynamic project teams in agile development.
Goodbye Quality Management?
Classic quality management (QM) dates back to times when companies were much more stable and markets were less dynamic. Does agile software development make classic QM and ISO 9001 completely obsolete? The answer is a clear “yes and no”. While classical QM perceives agile methods as pure chaos, agile project teams often see classical QM as too rigid and too restrictive. Even though in practice many agile projects get by without classical QM, agile methods also reach their limits. Examples?
- Above a certain project size and a certain company size, it becomes difficult for the small agile project teams to keep an eye on the overall project. Classic QM intervenes here in a supportive manner.
- Not all customers are enthusiastic about the intensive collaboration in agile development methods and prefer the classic waterfall variant. Therefore, classic quality management methods are needed here.
In practice, this means that both agile software development and classic QM move towards each other and complement each other productively. And that is entirely in the interest of quality. The goal of anic GmbH is to have a reliable functional software that creates a competitive advantage to customers and thus customer satisfaction.