At TX2 CONCEPT, we pay particular attention to the quality of the product deliverables as well as the responsiveness necessary to bring them to life. In order to achieve these quality and responsiveness objectives, our project management method is based on the joint application of an agile methodology and DevOps methods.
We apply this methodology in the development phase but also in the acceptance and operation phase.
But what is project management in Agile mode? And what are DevOps methods?
Traditional project management: the V-cycle
Derived from the so-called “cascade” or “waterfall” model, the “V-cycle” method is traditionally used for project management. This model first appeared in industry before being applied in the 1980s to IT projects.
When using this method, we divide a project into 9 successive stages. These phases correspond to the analysis of requirements and needs, the design and implementation stages as well as the testing and integration phases. We are then on a sequential and linear approach.
We speak of “V” because it is organized as follows: a top-down flow of activity that details the product until its completion and an upward flow that assembles the product and checks its quality. In addition, the “V” also refers to the fact that each phase of development is accompanied by a phase of Validation. This implies that if there is a problem during the System Tests phase, for example, the deliverable is called into question from the Analysis phase. Potentially, this can involve a lot of modifications.
Often described as “100% project”, we oppose the V cycle with Agile methods known as “100% product”.
History of the Agile method
Unlike traditional project management which aims to be sequential, the agile methodology is iterative.
The work on the iterative production cycle dates from the years 1930-1940. But it was not until the end of the 1950s that they were applied to computing, notably within the framework of the Mercury project.
Agile methods are the culmination of many works such as those of Tom Gilb on the evolutionary lifecycle (1981) or those of Scott Shultz on production in fast iterations. The very first so-called “agile” method would be the EVO12 method developed and published by Tom Gilb in 1976.
But the term “agile” did not emerge until 1991 when James Martin proposed a method of rapid application development (RAD) based on an iterative, incremental and adaptive structure. This model is also very close to what we now call agile methods.
The Agile method was popularized in 2001 thanks to the Manifesto for Agile Software Development. This text was written in the United States by 17 renowned software developers such as Ward Cunningham, the creator of the Wiki, Kent Beck, the inventor of extreme programming or Ken Schwaber, the designer of the Scrum method. These developers believed that the high failure rate of software development projects was due to the rigidity and cumbersome nature of traditional project management.
This manifesto describes the values and principles of agile methods.
The values and principles of the Agile Manifesto
This Manifesto for Agile Software Development is based on 4 values. It emphasizes:
- People and their interactions rather than processes and tools
- Functional software rather than exhaustive documentation
- Collaboration with clients rather than contractual negotiation
- Adapting to change rather than executing a plan
These 4 major values are detailed by 12 principles such as making customer satisfaction a priority, empowering teams or even regularly delivering operational versions of the deliverable.
Some signatories of the Agile Manifesto have created the Agile Alliance which aims to defend and promote these values and principles.
EDI project management: Why favour agile methods?
The basic premise is simple, it is sometimes counterproductive to plan a project in great detail. In agile mode, we prioritize short-term goals. That is to say, we will divide a project into sub-projects. Once a sub-project is completed, we move on to the next until the end goal is achieved. This approach is more flexible than traditional project management. This flexibility makes it easier to adapt to changes.
The Agile method allows better collaboration with customers but also between teams. By emphasizing communication, we improve the responsiveness of the teams. Placing the customer at the heart of the project improves the relationship of trust between customers and their service provider.
As explained previously, Agile project management gives the client better visibility into the progress of the project. This allows him to request adjustments as his needs change. The project team can thus react and adapt in real time in order to make changes during development to improve the deliverable. This strong adaptability also enables better risk management.
Project management in Agile mode is therefore ideal if you operate in a complex environment that changes rapidly, as is particularly the case with IT projects.
On the other hand, in certain situations where the project needs to be strongly framed, traditional project management may be more relevant.
Be careful, however, when switching to a new project management in agile mode. This can lead to regressions or anarchic developments if it is poorly executed. This requires having the right tools and the right working methods.
The DevOps Method: What is it?
The goal of DevOps is to apply Agile methods to IT development. It is based on collaboration between software developers (Dev) and systems and architecture administrators (Ops). The purpose of these former is to create and develop applications and the latter are responsible for putting them into production.
The challenge is to take deployment constraints into consideration from the programming stage. The DevOps method will thus make it possible to automate and monitor the entire life cycle of the deliverable. This improves the performance of teams and deliverables.
IT project management with TX2 CONCEPT
TX2 CONCEPT applies an agile methodology to deliver solutions in short life cycles. This methodology is coupled with respect for DevOps methods to ensure that quality and responsiveness objectives are met. This couple is based in particular on:
- Systematic and rigorous versioning of all deliverables, in the development phase as well as in acceptance and operation;
- The use of custom software production lines automating the transitions between the deliverable lifetimes;
- Full integration into a DevOps platform with continuous integration and continuous deployment.
The perimeters covered by this methodology are development, as well as corrective and evolutionary maintenance.
Each version of a deliverable involves a DevOps cycle that includes, in addition to the phases discussed in the previous section, phases of collaborative work, consolidation, automatic testing and deployment. The automation of these tasks ensures its quality while reducing the duration of its life cycle and therefore allows rapid deliveries.
- The collaborative work tools used allow precise monitoring and peer review of developments made and changes introduced;
- The construction of the deliverable eliminates the risk of static error;
- The automatic tests guarantee at all times the respect of the initial or updated project specifications as well as the non-regression of functionalities;
- Automatic deployment allows the deliverable to move quickly from a “Dev” development environment to an “Ops” operating environment, also in an accelerated manner and with reduced risk associated with the elimination of manual and repetitive tasks.
If you would like more information on project management at TX2 CONCEPT, please do not hesitate to contact us. We will answer all your questions.
You can contact us by:
- Mail: firstname.lastname@example.org
- Phone: +33 2 38 69 65 43
- Directly make a telephone appointment