We were assigned a really challenging project by our English clients. In a situation, when the client used exclusively Waterfall to manage their projects, we had to deliver a project with fixed regulatory requirements, constantly changing over time, within a challenging fixed deadline and obtain product certification, which the whole business of our client depended on. Within this project, we went on a real journey of knowledge, which revealed many possibilities. Find out where it got us and how the whole thing eventually turned out.
WHAT WAS THE TASK
The aim of this project was to develop and certify energy web software according to four energy standards on the UK market for our British client. Within ten months, we had to completely redo 4 calculators used to calculate the energy performance of buildings and obtain certification for integration with government systems. The deadline was extremely challenging - the government provided a time frame that was 40% shorter than the ones provided for similar projects in the past. Delivery and certification of such complex product in the area of energetics within ten months presented an enormous challenge. The complexity of this project was contributed by the fact that there were constant changes in controller inputs and project requirements over time, as the British Energy Standards were written on the basis of our feedback as well.
WHAT STEPS WERE TAKEN
Since the overall deadline was determined by the controller and the regulatory requirements seemed to be clearly defined in advance, using Waterfall methodology appeared to be definitely the right choice. However, during the project, we encountered various challenges: the controller and the client were constantly changing requirements, while the deadline remained unchanged. Since the client required us to adhere to the original management systems, we tried to grasp the project by introducing parallel Waterfall, i.e. dividing the project into several parallel parts, each of which we managed separately but simultaneously by means of Waterfall methodology. It was immediately clear that this will not help us achieve the set objectives in a timely manner even after the extension of the project team.
We took the following measures:
During the introduction of Agile in this project, we relied on the following attributes:
- Preparation of Enterprise Architecture: We used the benefits of changes in the architecture of systems we implemented in the previous period, which allowed for parallel work and ensured the possibility to share and change the critical parts of the code.
- Long-term concept: In several previous projects, we prepared the company for the upcoming changes and prepared the ground for Agile methodology.
- Communication: We were looking for flexible parts of the project, i.e. requirements, we could negotiate with the client. In this way we were at least partially able to manage the supplied product range in time, depending on what changes in the assignment landed on our desks. The client could see which parts were finished and functional and could prioritize in time.
WHAT WAS THE RESULT
The introduction of the principles of Agile Development Management proved to be a successful measure. Only Agile was able to achieve the overall objectives of the project. Only two of the seven companies on the UK market with energy performance certificates managed to successfully deliver their certified products to the market within the required deadline. Our customer was among them. The software was delivered on time and in the required quality. Our client thereby gained a huge competitive advantage that was reflected in the increased number of customers and consequently the achieved revenues. By switching to Agile Management System we ensured the success of this project for our client, as we were almost the only ones on the market being able to respond to constantly changing conditions of the project. Still, isn’t the constantly changing world a very common, or even an expected, phenomenon nowadays? We think it is, therefore, adoption of elements of Agile Software Development Management is a necessary step for companies operating in the modern day world. In addition, we believe that while Agile may have potential in the process area for a company, the cloud will change the efficiency and corporate management philosophy in general. Agile thinking will prepare a company for doing business in Cloud environment that represents huge opportunities and a number of open doors for companies in today's world.