How do you prefer the delivery of your AI project? Waterfall or Agile?

artificial-intelligence-project-delivery-methods

The business world is changing and evolving rapidly towards an AI centralized structure. It is convenient to notice that project delivery methods have to adapt to these changes as fast as possible too. In the past couple of years, more and more companies are shifting towards agile delivery methodologies, especially in AI and software technologies industry.

As commonly known, the traditional project delivery method -also known as ‘waterfall’- relies heavily on detailed planning of the project as a whole; whereas agile philosophy, which is a frequently preferred replacement of waterfall, suggests delivering a project in smaller, useful increments. This is the most general, high-level definition of the basic difference between the two methods.

However, what could be faced during the transition from the traditional project delivery approach to the agile methodologies considering from the delivery team’s perspective? What are the successful moves we’ve done and the challenges we’ve faced so far? Let’s see…

How to deliver AI tech to corporate clients?

Tech train is moving forward, and it’s moving fast. Most clients in the industry don’t want to miss even the slightest opportunity to catch that train in order to implement the latest, cutting-edge technologies.

When it comes to AI technologies, it becomes crucial to do the correct analysis and provide the correct guidance to the clients who may sometimes not be fully aware of their requests and requirements. The role of an AI tech vendor should be to analyze the needs of the client in the best way possible and to provide the correct solution to them. The guidance provided by the vendor has to be consistent and flexible to accommodate any changes in the needs and requirements of the client during the deployment of the project.

What actions make a successful project delivery?

Based on the nature of AI software projects what we can expect from related stakeholders are as follows:

  • Client should be the party to bring in the requirements
  • Vendor should be the party to bring in the expertise and solution

Obviously, no resource in a project is infinite, so it is very important for the vendor to set the client’s expectations for the deliverable scope and duration. Clients are always in a rush, and they expect results very quickly. However, they usually don’t have the expertise to evaluate how and when can the results be obtained. This is where the vendor should step in.

To satisfy the clients, showing an output or reaching milestones is very important. Therefore, the vendor could be able to set realistic short-term goals. Each completed task, each delivered increment is a plus for the project and its stakeholders. Even though determining the long-term (or final) goals of the project is also good to see a complete picture, it is a huge risk to try to reach those goals without completing minor steps.

In order to provide valuable outputs in short durations, it is important to create work packages as small as possible. Among these small work packages, there probably will be tasks that can be progressed in parallel. The vendor should be able to analyze this well and proceed with parallel tasks whenever possible so that a larger amount of added value will be presented to the client in a shorter duration. This will also help the client to see their RoI (Return on Investment) progress at a positive level, which will result in a happier client and a healthier project process.

What actions make an unsuccessful project delivery?

AI-based software delivery projects are much more complex and different compared to other projects, so conventional delivery approaches will be obsolete, moreover not applicable for these types of projects. One of the biggest mistakes that can be made by the vendor or the client is to focus on all outputs at once. Eventually, there is always the possibility for the requirements, scope, or technology to change during the project. In this kind of circumstances, it will be more difficult to complete each independent task with the existing resources, and there will be a case where 1+1 will, unfortunately, be bigger than 2. Trying to analyze and design all the requirements at the same time will cause the project deliverables to be “jack of all, master of none”

The importance of lessons learned

Besides trying to select the best methodologies, tools, and techniques for the delivery of an AI software project, it is also crucial for a delivery team to keep the correct mindset. It is in the nature of these projects to face changes on the way, therefore the project team should always be open-minded, and flexible for changes.

Additionally, one of the most important ways of improving project delivery processes is to keep a good track of the lessons learned. Negative experiences are always great opportunities to learn, and these experiences should be shared and collected. The important thing during a project is not trying to make any mistakes at all but not repeating the same mistakes over again.

As an example to summarize what we have stated so far, even while compiling this blog entry we have applied several of these points we mentioned above. We did not try to write the whole script at once, instead, we have started with an outline, breaking down the main ideas we wanted to emphasize, and completed each one step by step. Also, we have progressed the tasks in parallel, preparing the bullet points and turning them into paragraphs at the same time. No need to mention that we have changed our approach and ideas multiple times during the process.

There is no single truth when it comes to project delivery, however, we wanted to summarize some of the tips and tricks based on our experiences.

Co-Author: Anıl Ayhan, PMO Leader, Sestek
Co-Author: Alp Biberoğlu, Project Manager, Sestek