Characteristics and demands of the modern and digital society have transformed the software development scenario and presented new challenges to software developers and engineers, such as the need for faster deliveries, frequent changes in requirements, lower tolerance to failures and the need to adapt to contemporary business models. The adoption of agile practices has allowed organizations to shorten development cycles and increase customer collaboration. However, this has not been enough.
Some initiatives have emerged aiming to speed up the development process and improve the connection between its activities. For example, Continuous Integration seeks to eliminate discontinuities between development and delivery. In a similar approach, DevOps recognizes that the integration between software development and software operation must be continuous. Extending the need for integration to other levels, BizDev advocates that continuity should exist not only in the software process context, but also between software and strategic processes of the organization.
Continuous actions of planning, construction, operation, deployment and evaluation are necessary to produce products that meet customers’ needs and behaviors, to make well-informed decisions and identify business opportunities. Thus, organizations should evolve from traditional to continuous and data-driven development in a continuous software engineering approach.
Continuous Software Engineering (CSE) consists of a set of practices and tools that support a holistic view of software development with the purpose of making it faster, iterative, integrated, continuous and aligned with business. It understands that the software development process is not a sequence of discrete activities, performed by distinct and disconnected teams. It aims to establish a continuous flow between software-related activities, taking into consideration the entire software life cycle. It is a recent topic that seeks to transform discrete development practices into more iterative, flexible and continuous alternatives, keeping the goal of building and delivering quality products according to established time and costs.
In the paper below, Monalessa Perini Barcellos proposes a framework for CSE and discusses some research questions related to this topic.
A case of agile transformation in the CSE context is presented in this paper:
Further details about the study above are presented in the extended version of the paper, which is available at:
Aiming to help organizations get an overview of the adopted CSE practices and identify their position in the CSE evolutionary path, we proposed Zeppelin. It is an evaluation instrument that allows organizations to know the adoption degree of CSE practices and identify areas that need improvements. Zeppelin is introduced in the paper:
Zeppelin consists of a questionnaire organized in an electronic spreadsheet and it is used to identify CSE practices adopted by the organization and the respective adoption levels. The questionnaire is available here. Zeppelin also includes an analytics report, produced according to the answers provided in the questionnaire. An electronic spreadsheet containing examples of information and graphs shown in the report is available here.
Zeppelin was used in a survey with 28 software organizations to investigate CSE adoption. The study and its results were reported in the paper below: