Back

Design for Operations

As half of the DevOps process, operations is part of global improvement. Writing code efficiently is not enough. Teams must also attempt to make the product as simple, efficient, and reliable as possible to install. One of the best ways to improve the operations process is to design the software to be generalised as much as possible. The operations technicians should not have to tailor their methods to be unique for each product or installation. Development should package the product in such a way that operations can utilise the same methods consistently. These non-functional requirements mean that the “finished” requirements for development do not depend on the functionality of the product or feature. What is considered done for one product or feature should apply the same for all products and features. This requires the organisation to very carefully set a descriptive definition of done. A proper definition of done allows operations to always expect the same output from development.

Reusable Operations User Stories

Since operations will mostly have the same duties and requirements for each new feature, they need a consistent way to represent these duties. One way to reduce time and improve the operations process is by creating reusable user stories. These user stories serve as templates, so that operations is less likely to overlook certain information or requirements. For each new feature, operations will copy the reusable user stories and change names and variables as appropriate. The ultimate result of incorporating reusable user stories is less time spent creating user stories, and fewer human errors.

Technology Choices for Organisation Goals

One of the most far reaching elements of global improvement is the technology decisions that an organisation makes. Any organisation must choose a development environment and language for their product, tools and utilities to assist developers, code repository management software, and testing environments. Switching between technologies can prove very difficult and time consuming, and different technology options may not be compatible. Because of this, the organisation must carefully examine their options and select technologies that accomplish their goals as thoroughly as possible.

With the proper technology choices, development and operations can accomplish their duties individually, as well as collaborate more effectively. DevOps consists of both areas working together on the same project, and without compatible technologies, this reduces the collaboration between development and operations. With less collaboration, the project suffers. Achieving global improvement is only possible with highly collaborative environments, with compatible tools and technologies in both development and operations.

Translate »