For companies, agility in its purest form is more of a theoretical construct than a real-life approach. In day-to-day operations, a balance must always be struck between the benefits of agile software development and the need for planning certainty. It is therefore necessary to combine the benefits of agile software development with planning certainty. Agility must be tamed.
Among experts, a discussion about planning-led approaches versus agile software development can quickly become charged with missionary zeal. This is hardly surprising because plan-based and agile models do seem to be worlds apart. On the one hand there are the plan-based models. These are based on the assumption that the specifications are essentially exhaustive and that adding requirements later on is something that should be avoided. On the other hand there are the agile models. These have a reputation for hurrying on ahead and completely neglecting many project standards, such as orderly documentation.
Your IT department, however, does not focus on ideology. It focuses on reality and results. It therefore makes sense to combine both approaches.
The agile process for developing new software systems requires close partnership between IT experts and specialist departments. There is often a lack of basic understanding of the specialist department by the IT team and vice versa. This lack of understanding has a negative impact on the way the project runs and on its outcomes.
During these kinds of projects, there is a need for concepts and tools that build bridges between the various groups involved. The aim is to ensure that the agile concepts can also flourish as departments work with one another. One such tool is the Interaction Room (IR). Its visualisations and simple rules help to generate solutions by laying the foundation of a common understanding of the problem at hand.
The IT operations team does not remain unaffected by agile software development. Traditionally, the work of this team centred around a few large software releases, with longer intervals between each one. Developers tended to think in terms of months rather than in weeks or days. Agile software development is now setting a different pace. In extreme cases, it produces new releases on a daily or even an hourly basis. This high frequency of releases requires new processes in the Development and Operations divisions. This is another example of where it is necessary to heal any rifts between departments. A proven method for doing this is to combine the Development and Operations departments in order to form one organisational unit – DevOps.
The Interaction Room perfectly complements agile models. In scenarios when those involved in a project are not embarking on a long, formal specification phase, it is all the more important that all of the relevant aspects of the project are discussed. By updating the cost forecasts and constantly tracking the budget, perhaps by using value annotations, agility is tamed. The Interaction Room provides you with an organisational structure for communication that is designed to be flexible and open.
DevOps is an organisational concept that combines the Development (of applications) and Operations (IT-related) divisions. In a DevOps team, everyone along the entire value creation chain for IT applications has joint responsibility for outcomes. The goal here is to find lasting ways of overcoming the fractures between the application developers and the IT operations staff. The new organisational structure can produce and release software more quickly and with fewer errors.
If there are only a few days or hours between releases, you will need to organise your IT operating processes accordingly. There is now demand for installation routines that constantly check whether updated software is available for use. In this area, software solutions offer a range of opportunities, including addressing heterogeneous infrastructures, automatic rollout of environments and the integration of these environments into the existing IT infrastructure.