As every entrepreneur knows, every business is different and, implicitly, every project is also different. But, one aspect that is always consistent is the project lifecycle, especially when working with an agile development agency.
This is why it is crucial for every business owner to understand it before starting their next web or mobile development project.
At this point, you might be thinking…
“Why do I need to know this process? Shouldn’t my project manager or development team know this?”
Well, once you too understand it, the entire project will go much smoother. Also, you will always know what to expect as you already know what the next step is.
But, before we dive into the project lifecycle itself, let’s first do a quick recap of what it means to work with an Agile development agency, like Wiredelta®, and how do we use this methodology to carry out a project successfully.
What is the agile methodology in project management?
The agile development methodology can be described as a fast and flexible way to deliver the desired results within a set budget and a timeframe. And if you are saying to yourself “Well, isn’t that the point”? You are absolutely correct. Regardless of which methodology you use, that is the goal.
But Agile stands out through its flexibility. Simple put, with traditional project management methods like Waterfall, the product owner – that is you – is not involved in the development process. You are only part of the first phase.
So what is a project’s lifecycle? A project lifecycle is traditionally comprised on 5 phases:
- Development, and
However, most development agencies, ourselves included, have added an extra phase to this original “plan”, which is maintenance. This is because, as you may know by now, websites and mobile apps don’t just exist on the internet once you launch them.
They need care and attention to continue to perform as expected and ensure optimal up-time (when you web or mobile app is active and users can access its functionality) so, maintenance is a must.
How to use Agile development to reach your goals
Due to the characteristics of agile, i.e. customer’s needs are always prioritized and changes are a natural part of the process, working with agile can be also stressful. So, you and your team need to find a balance and always keep the end-user in mind.
To help with this, agile teams use something called the MoSCoW method to help you prioritize functionality or features into four categories:
- Must haves – features that are critical to your application;
- Should haves – secondary or support features that ensure a good user experience, f.ex. social logins that simplify the account creation process and add an extra layer of security;
- Could haves – also called nice-to-haves, these are features that could add value to the user, but are not needed in the beginning of the project;
- Won’t haves – features that might unnecessarily prolong the development phase, do not add any extra value, and could potentially break the user journey.
The reason behind this divide is that many times, product owners aim too high and lose sight of what is crucial to the project and what is not. And it’s perfectly understandable, we all dream of the perfect app. But remember that successful applications like LinkedIn, Facebook, Uber and even Google were not built in a day.
So, understanding the different phases of agile development will give you a better control of your own project, you will be working alongside your project manager, instead of relying on them to update you and keep you in the loop.
This also means that you will be prepared to bring up those must haves before its too late if you forgot one, or know when to give up on a Should have, if your budget or time is running short.
More importantly, being aware of the characteristics of each different phase will lead you to the realization that skipping one or some of the steps in the hopes of speeding up your project can turn out unfavorable.
However, we understand this is a lot of information, so for now we will only focus on the first half of the project lifecycle – planning, analysis and design.
Let’s dive in!
Project lifecycle in Agile – Planning, Analysis and Design
This part of a lifecycle in agile requires a lot of decision-making, clear communication, and, last but not least, knowing what you want to achieve with your project. Keeping this in mind will help simplify the start of the project, make better decisions and avoid unnecessary fixes later on.
Planning is one of the longest – and slowest – phases, because it actually starts before you even have a project. It actually starts with your idea and your goals. So, the first step of any project is visualize the goals of what you want to achieve. What is it you are trying to solve?
This rule applies to every situation in our daily life and it works the same way in agile. In order to draw up a strong plan, it’s vital to set clear goals and answer the “What” question first. Don’t complicate your life by trying to answer the “how” question just yet. That is what the plan is supposed to do.
Once you have an idea of what it is you are trying to achieve, only then you should reach out to a few development agencies and discuss ways to bring them to life. A key factor to keep in mind here is that an agency’s role is to help you achieve your goals.
So, you shouldn’t be afraid to present your if you don’t trust them with your idea, but if you are, make sure you sign a non-disclosure agreement (NDA) first.
Another thing to keep in mind is that you lead the planning phase. That’s why it is important that you are clear on:
- What your objectives are?
- How much can you afford to invest – your budget?
- What is your timeframe – do you have a hard deadline?
- Who is your target group – the more narrow and specific you are the better, you can’t make everyone happy.
- Are there any constraints or contingencies the development team should know about – third parties or investors involved, language limitations etc.
Another good piece of advice is to focus on what make up the very foundation of your project – the must haves – and features associated with it – the should haves. As long as the core of your project works as intended, adjusting and building on top is easy.
But, if you focus too much on the “could haves” or you start introducing “won’t haves” into the mix, then you lose sight of your goals and you risk ending up with a poorly build product or no product at all. So, don’t get caught up in details, this can slow down and complicate the whole process.
And, if you are struggling to choose the right features or feel time-pressured, remember that this is a process, no task is done overnight and you have a team to rely on – talk to them and listen to their input.
This applies to all the phases in your project lifecycle, not just planning – straightforward, honest communication between you and your development team will benefit the end results of your project in so many ways.
Once you and your team have discussed your goals, it’s time to start the second phase – analysis. The primary goal of this stage is to establish the project’s limitations and constraints, and come up with a strategy:
“How are we going to achieve our goals?”
This is the phase where you will be presented with a project estimation, which, in layman’s terms is an educated guess made by the development team on how long will it take to develope each feature, and how long do they think the project will take.
By using a price estimation instead of a fixed price, you have the freedom to adjust your plans based on pricing, development time, potential extra costs with third-party services, must have features you missed in planning, etc.
Also, based on those factors, you may also have to prioritize tasks with the team. And it is not unusual at this point if you and the web development agency have different opinions about how things should be done.
But, remember that they are professionals and the fact that your opinions don’t match might simply be because of different perspectives. Ultimately, you are in control of your own project so what you say, goes. However, they might have experience with a similar situation so maybe it’s worth giving it a second thought.
The third phase of the project is designs, and this phase consists of two factors – the structure and the visuals. During this phase, the development team has to decide which database design is best for you, what technologies and programing languages to use and of course how will the app work.
In the meantime, your project manager and designers start on their side – the wireframes, the prototype and eventually the final designs. It is important to not skip any of these steps, as it affect both the future user interface, as we all the user experience.
- Wireframes – help you visualize the basic structure and functionality of the app. They are just sketches, so they can easily be adjusted to match your vision and improve the final user flow.
- Prototypes – are a working basic version of you future web or mobile app with all the visuals but none of the code. If you want to make changes in the final designs, now is the time.
- Final designs – represent the goal of how your future app will look and feel when the project is done. They cover colors, brand identity, fonts, user flow and everything in between.
It is important to discuss your designs with the entire team before approving the final set for two reasons – one, they might have experience with past projects similar to yours, that might help and two, making changes to the designs once the development phase starts is more difficult and time consuming, which may affect your deadlines and budget.
Another important aspect to keep in mind is that designs should be tested with users. Users’ expectations are becoming more particular and it is important to have a clear, non-chaotic design, with easy to understand functionality.
So, when you think you have a final set of designs ready, show them to a focus group and collect feedback from them. This way you will ensure that the products you’re building works in the real world, and your users will like it.
The Agile methodology offers you the flexibility you need to ensure the success of your project. But, in order for your project to be a success, you first should remember:
- Each phase of the project’s lifecycle is vital, and if you skip one or decide to cut corners, it can be fatal to your end results;
- In Agile, you need to be an active part of the project at all times – communication and teamwork are key.
- The core structure of a project’s lifecycle in agile remains the same, so if you want to thrive, take your time to plan, do an in depth analysis of each aspect of your product, and make sure you test your designs with real users and listen to their feedback.
We hope this article helped you start understanding your project’s lifecycle a little better. Next, we will dive into the second half and discuss the equally important and as exciting phases – Development, Testing and Maintenance. Don’t miss out!
And in the meantime, if you need assistance or simply want some guidance, don’t hesitate to book a free consultation with one of our project management experts. We are here for you!