Is DevOps another Project Management Methodology?

In this paper, the authors aim to present the concept of DevOps (Development & Operations), considering its degree of novelty in the area of project management. Firstly, the authors will bring theoretical arguments to support the idea that DevOps is an early-stage methodology, built on the Agile principles, but coming with its own contributions in project management for software development and implementation. Therefore, we believe that after a short time, DevOps will replace its predecessors. Secondly, we experienced this methodology by developing a small project in academic environment by three teams of master students, using VersionOne software. The Conclusions will emphasize the relevance and the future expected effects of DevOps methodology in the project management domain.


Introduction
Project Management (PM) methodologies must keep up with the need for development of software products increasingly complex and with the demands to launch them in a short time.From the classical methodologies was shifted to a higher level through Agile methodology (2001), after which, in 2009, another significant step forward was recorded by introducing the concept of DevOps (Development Operations).Due to the benefits that DevOps could bring to the enterprises in terms of efficiency and agility in software project management, the 2015 Gartner's Hype Cycle positioned the new concept in the Peak of Inflated Expectations [1].However, at the end of 2016, DevOps is still considered an extension of Agile methodology, emerging from the need to validate and faster delivering software projects.The paper is organised into four sections with the aim to demonstrate that DevOps approach provides more flexibility and greater certainty in delivery of project management solutions and not another IT buzzword.Section 2 presents the PM methodologies (both traditional and Agile) and also, the basics of DevOps, summarizing the state-ofthe-art.
Section 3 contains the Methodology and the most significant tools and technics used by DevOps and section 4 includes a study case for managing a project in the academic environment: achieving a website using DevOps tools.For the experimental study, we used VersionOne software, evaluated by Gartner in the Leaders Quadrant of the Magic Quadrant for Application Development Life Cycle Management (ADLM) report [2].The conclusion section synthesizes the main results of the research and presents several directions for further study in this domain.

Literature Review
This section provides an overview on basic concepts and traditional methodologies of Project Management, followed by a short presentation of revolutionary Agile methodology and focusing on DevOps, the latest approach in domain.

An overview on basic concepts and traditional methodologies of project management
Project Management, defined as "the application of processes, methods, knowledge, skills and experience to achieve the project objectives which could be defined in terms of outputs, outcomes or benefits" by Project management Institute, is frequently used to the development of software projects [3].Since the emergence of the project management concept, in the 1950s, until the present, were developed and applied a range of methodologies, most notably being Waterfall, PMBOK and PRINCE2 (also called traditional methodologies) and also Agile.According to McConell [4], the Project Management methodology is "a strictly defined combination of logically related practices, methods and processes that determine how best to plan, develop, control and deliver a project throughout the continuous implementation process until successful completion and termination.It is a scientifically-proven, systematic and disciplined approach to project design, execution and completion."Waterfall is a methodology for software development process, characterized by the decomposition of the process in eight sequential phases (conception, initiation, analysis, design, construction, testing, implementation, and maintenance), each of them having rigorous planning activities, objectives clearly defined and timelines [5].It should also be mentioned that the project evolves only after completing and validation of each stage, the resumption of a concluded phase disrupting the entire project.This methodology has two frequently causes of project failure: a) does not allow a dynamic approach and b) performs testing of the entire system only after completing all phases [6].PMBOK (Project Management Body of Knowledge), developed by the Project Management Institute, belongs also to the category of traditional methodologies.By comparing the two approaches, the researchers in domain remark that they are related, but PMBOK gives additionally, a set of principles for project management, as well as a set of techniques for planning and delivering a project, while Waterfall is a methodology for software development.According to PM BOK Guide, there are five stages of project management: initiation, planning, execution, performance/monitoring and project closure [3].After considering the general requirements and establishing the opportunity to undertake the project based on the feasibility study (project initiation), the project will proceed to the most important point: project planning.This phase focuses on elaborating a rigorous plan of activities, resources, deadlines and delivery times, in compliance with quality assurance conditions [7].Also, at the beginning of planning stage, the roles and responsibilities are clearly defined within the project team.The next two steps occur almost simultaneously, which means that deliverables achieved in project execution stage are controlled in performance/monitoring phase, in terms of objectives, quality and complying with allocated budget.Periodically evaluating these key performance indicators, project managers observe if there are any deviations from the designed plan and whether changes are needed to adjust schedule and resources and bring the project back on track [8].Project closure represents the completed project, the stage when the team delivers the software product and the project manager along with the customer representatives evaluates the performances of the entire project and performs the final budget, identifying also the project failures.

Agile methodologyrevolutionary impact on Project Management
While Waterfall and PMBOK methodologies became more and more criticized due to their rigidity, another approach, much more flexible and efficient, emerged in software development: Agile methodology.After establishing the overall goal of the project according to stakeholder requirements, the team works in a less rigorous regulatory framework and follows an incremental approach, focusing on delivering the application components in short periods of time, called "sprints".The project progress is evaluated at the end of each sprint, and, consequently, the team and the customer could make changes and add features on project activities, before the next sprint [9].The lack of an initial plan having clearly phases, with deadlines and responsibilities, was replaced by these periodically tests and evaluations, which give more chances to reach the goal.The Agile approach in software project management involves some risks, the most important cause of project failure being that the final product does not meet the client requirements.Another risk refers to the exceeding of project deadline and budget, due to the inexperienced team and, especially, to an inexperienced project manager.According to Sanjiv Augustine, Agile methodology is "a way of managing projects to deliver customer value via adaptive planning, rapid feedback, continuous improvement and intense human interaction and collaboration" [1].It is typically used for small and medium projects for frequently changing domains, or when client doesn't have a clearly goal, or when the rapidly finalization of the project is more important than the quality requirements [11].An Agile project is based on a product backlog, consisting of several iterations, called sprints.Each of them pass through all phases of software development: requirements definition, analysis, design, development and testing [12].At the end is delivered a prototype that is evaluated by the design team and clients and ensure the feedback regarding the project evolution.The palette of tools used by the new project management methodology is different from traditional ones and it focuses on flexible online tools for planning, communication and integration [13].Therefore, an Agile software includes sprint planning, progress reports, screening and scoring tools, task boards and burn-downs charts.Briefly, the meaning of these terms is presented in the following:  The Product Backlog is the list of items to be achieved in product development [14];  Sprint is an item of Backlog, defined as the period necessary to reach the phase objective, usually recommended for 30 days /sprint;  The requirements specified by the client must be detailed and written into the user stories;  For monitoring the project progress is used a tool called burn-down chart, instead the Gantt chart, the main tool used by waterfall methodology.A burn-down chart counts the tasks realized during each sprint, estimating timeframe and goals to accomplish [12].

Is DevOps a methodology or an extension of Agile?
In order to demonstrate that DevOps (Development & Operations) is a PM methodology, we started from the basic concepts.Briefly, a PM methodology is "the straightforward way to guide the team through the development and execution of the phases, processes and tasks throughout the project management life-cycle" [4].It has been found that the separation between software development and software operations can lead to delayed discovery of errors and thus, to shift the deadline of projects.Therefore, it has emerged a new concept, DevOps, which includes and harmonizes the two components [15].Although the concept has been introduced in 2009, there are different opinions regarding the definition and characteristics of DevOps, some researchers considering it as a conceptual framework, while others referring it as a job description or a skill set.Also, we mention the opinions considering DevOps the 3rd generation of software project methodology, a continuation from the 2nd generation, Agile methodology [16].According to Deshpande, DevOps (Development & Operations) is "a software development methodology which looks to integrate all the software development functions, from development to operations, within the same cycle" [17].Briefly, applications will be built, tested and installed DOI: 10.12948/issn14531305/21.3.2017.04 in the working environment to be available to end-user.Steve Ingall notes that "DevOps is not a new process or a tool, so it is not really another typical 'Agile' solution" [18].It emerged as a new Project Management methodology when the relationship between development and operations did not work properly in Agile projects.From VersionOne come another definition: "DevOps is an IT mindset that encourages communication, collaboration, integration and automation among software developers and IT operations in order to improve the speed and quality of delivering software" [19].Erich et al. [15] conducted an overview of academic literature about DevOps, from 2007 until 2014, and identified 139 articles, but only 26 were considered representative, items published in rated journals and books: 14 journal articles, 10 conference proceedings and 2 industry reports.The studies have shown that using of DevOps methodology in Information System development has major effects in culture of collaboration, automation, services and quality assurance.In respect of culture of collaboration, according to Mueller [20], DevOps has the same Agile principle, stated in Agile Manifesto "Individuals and interactions over processes and tools".But also, several researchers bring in front the ability of DevOps to focus on tools and processes, which is another point of view, different from Agile approach.The new approach encourages transparency between development and operations, based on open communication [21].Another interesting practice area of DevOps is the automation in the software development process.Continuous delivery is the main objective of DevOps approach and this process consists of automate the delivery aspect, meaning testing and obtaining software functionality directly to the customer, only after using the applications in practice [22].
Closely related to the IT market direction towards the offer of software resources as services, DevOps automation achieves a business model that uses Cloud computing based techniques, such as: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) [23].A weakness of Agile is the difficulty of providing quality assurance, since the activities no longer fit into a plan with fixed terms of delivery software, as happens in Waterfall methodology.DevOps exceed this barrier through cooperation and tooling, and through real time monitoring, as a methodology for detecting problems faced by end-user [24].The literature in domain reflects the major changes introduced by DevOps in software development management and the advantages obtained by the steady collaboration between developers and operational and continuous delivery software to the customer [15].Consequently, two activities are the key success factors, keeping the feedback loop tight between the project team and the customer: the software is developed and tested throughout the lifecycle and the customer attends to validate the released components.The benefits of applying the DevOps methodology are identified by the following metrics [25]:  reducing project development time and enhancing deployment frequency;  a higher change success rate, metric defined as the percentage of changes that occurs when the product is implemented;  increasing the stability of the project, meaning error-free operation of a system and the ability to respect the processing requests;  the Mean Time to Recover (MTTR), a metric used to quantify performance representing the time needed to recover an error. reducing costs of deployment and implementation of DevOps projects.DevOps is not yet well-defined as methodology, IT researchers are not convinced to apply it for several reasons, such as the lack of a standard definition and the main characteristics, so that each implementation is achieved in a customized manner.DevOps uses the same principles as Agile methodology, adding further the operation and functionality of the deliverables.

DevOps techniques and tools
As we mentioned before, DevOps started from Agile methodology, but it brings substantial improvements in terms of component delivering, which is not released in testing form at the end of the product, but throughout the project deployment.
As well as Agile methodology, DevOps focuses on delivery software components in increments, usually at the end of each sprint, unlike traditional methodologies (PMBOK or Waterfall) that release the entire product at once.Thus, the customer has the possibility to check and test all the released parties, can track the project entire evolution and how to achieve the final product.Table 1 shows the way of solving several problems of Agile by DevOps facilities [16].

Agile methodology drawbacks
DevOps solutions to solve the problems Delayed delivery of components to the customer Testing and releasing the components when they are completed Completed software components are not compatible with each other Test automation of parts obtained by dividing the project Quality of product is not ensured properly prior to release Test automation helps the quality assurance Developers team and IT operations team are not cooperating Developers team and IT operations team agree upon their responsibilities and their goals.
The key fields of DevOps include four major directions: the culture of collaboration, automation, services and quality assurance [22].DevOps methodology can be implemented through project management frameworks, defined as "combinations of processes, tasks, and tools used to transition a project from start to finish" [4].There are several frameworks for managing DevOps projects, available as web-based services on Linux and Windows operating systems, such as VersionOne, Docker and Puppet.VersionOne provides features associated with Scrum methods, quality management, business intelligence and collaboration and has led the market in 2015 [26] [2].In our experiment, we followed several procedures to coordinate the teams of master students and their activities in software projects, to supervise the projects, according to DevOps approach and VersionOne facilities [22].
In our case study, we approached this domain because of the architecture and the functional independence of the applications, and also due to the ability to deliver gradually the components.Software development managed by DevOps is recommended to be achieved by using Cloud Computing features, meaning the possibility of end users to have computing resources at their disposal on subscription condition and the facility to access data anywhere from an Internet connection.Most of the IT companies producing software for Project Management in Agile methodology, have chosen to adopt the new way: VersionOne, Atlas, Asana etc. Also, more experienced project teams moved easily from Agile to the DevOps method.For developing a project according to DevOps methodology, the master teams followed three phases [27] the customer, and the team awaits his feedback.The third phase is mainly about delivering and creating feedback loops necessary to maintain the project on track.But let's not forget the possibility that the errors haven't been detected at the time, and the team passed to build other components.In such cases, by continuing the project development, the team inevitably takes risks until the advent of the same error, probably with increased intensity, in another area.In the next section, we will show the practical way of achieving these phases for a DevOps pilot project, developed by using VersionOne software.In order to align to the requirements of DevOps, the researchers from VersionOne launched VersionOne Continuum, that "revolutionizes how teams visualize and track business value from the first commit through production deployment" [19].Continuous delivery of applications must be supported by customer testing, before their validation.Being an extension of Agile in all implementations (Scrum, Kanban, Lean Development and Extreme Programming), it inherits the facilities of incremental iterations and the continuous feedback in achieving and delivering the software components.In addition, DevOps involves the continuity of planning, testing and integration of the components.

A pilot project on DevOps
The project refers to the development of a Website for admission to the University (called also ADM-U), using DevOps facilities.
First, we mention that it is a small-sized project, for high school graduates who choose an academic path.Each project team consists of five graduates having knowledge and skills in web design and attend the project management course.In the experimental study, the teams developed the Webite, using VersionOne software for project management, based on Agile methodology and implementing DevOps facilities.We choose this software, because it is one of the most popular tools for project management system supporting DevOps method, and it is available both as self-hosted tool and as well as web-based service [5] [19].In the first phase, the project team is established and the design requirements are defined.The Project Manager has attributions to recruit project staff and to assign project roles, such as: Project Lead, Developer, Tester, Customer, Team Member etc.
For team members, the most important design requirements are:  Providing clear, updated information about the educational offer;  Building an attractive and ease-of-use website;  Making an interactive website, accurately to candidate's questions, especially for online answers;  Integrating Social Media on the website in order to increase the visibility;  Creating and updating a candidate Database;  Ensuring a secure access of candidates to information;  Keeping the evidence of fees and their payment.In the second stage, the team will create a well-defined project plan (Sprint/Iteration Scheduling) consisting of incremental iterations (called Sprint) each of them having defined the purpose and specific timelines, the members assigned to perform the tasks and deliverables.The Sprint Backlog contains the stories and defects of each sprint.Before each iteration, the project team holds a brief meeting to establish the steps to follow (planning, designing, implementation and testing) and the breakdown of tasks [28].We consider particularly important the team activity of testing and evaluation of deliverables, that can lead to change project scheduling or to add project resources, according to DevOps recommendations.The first team established a project plan, synthesized in the Sprint Backlog, including three Sprints (iterations) with a total number of 12 features (story points), showed in Table 2.The other teams also identified their project plan, considering that two iteration are sufficient, each of them having 15 story points.Calculating the average note and setting the candidate list in descending order of the average note VersionOne provides the appropriate tools to track the progress of the project: storyplanning boards, burn-down, burn-up and velocity charts.Similar to the Agile application in project managing, the DevOps approach uses the burn-down chart tool for indicating and comparing, at any moment, the real progress versus the estimated iteration, both represented in a graphics manner.
The burn-down chart of the first team shows the status of the iteration, consisting in the estimated velocity (blue line) and the actual work of the team (red line) -Figure 1.Another important metric used by all teams is the project burn-down chart that represents the evolution across all iterations, based on the comparative analyse of Product Backlog and the real evolution.

Fig. 1. The iteration burn-down chart
The Release Scheduling feature offers a planning tool to build a release plan by scheduling the stories and backlog items into projects/releases [19].
In the last version, there are many features related to DevOps tools, such as Story Planner and Review Iterations/Sprints.
Second team focuses on use of Story Planner option, allowing it to break down each item into smaller tasks and test them, as is presented in Figure 2. The members of the first team used this option in combination with Split an Item, so they split the unfinished item "Defining each webpage content and design elements, and also the hyperlinks to other pages, to videos, slideshows and other media" and moved the remaining task "Hyperlinks to other pages, to videos" to be completed in the next sprint, Figure 3.

Fig. 3. Split an Item option
The Sprint Tracking phase allows the project manager to follow the progress of the iteration and whole project and furthermore, all team members can inform themselves about the current state of the iteration/project.VersionOne offers several tools to track the evolution, such as Taskboard and Storyboard that shows the status of tasks into a selected sprint: Completed, Accepted, In Progress or Future.
The team members used also Reports module for gathering metrics concerning their project (Project Dashboard, Project burndown) and also, about current iteration (Sprint Dashboard, Sprint burndown).

Results and discussions
Figure 1 represents the burndown chart for the sprint "Defining the architecture of the website and the structure of database" after 5 days of working of first team.The graph shows that the team went faster than the schedule on first 2 days, after which its pace was slower.The project manager should identify the problems after 3 days of working and take the necessary measures to increase the velocity as soon as possible.Any delay in reaching the current sprint will be reflected on subsequent iterations and therefore, on the entire project, if the team will not recover this delay in time.
Even though it was the most successful team, as we observe, the burn-down chart indicates that the team had interruptions of working and weak communication skills.The authors of this paper appreciate the experiment as a success, considering the

Table 2 .
The Sprint Backlog of the first team