What is our approach to project management? In this blog post, we go through the basics, using the work we’ve done with hormonal coil app Wonder as an example.
When meeting with potential clients, one of the questions we’re often asked is: what is Taiste’s approach to project management?
Having worked as a Project Manager for this company for one and a half years now, I feel I can answer this question in detail. Every project is different, of course, and teaches us something new. That’s why the way we do Project Management must constantly evolve and adapt to different environments, too. In this blog post, however, I explore the elements that have stayed more or less the same during the past years.
To make things more concrete, I’m using Wonder, one of our recent projects, as an example throughout the article. Wonder is a mobile application for hormonal coil users, created with the pharmaceutics company Bayer. The project is a great example of success in both project management and co-operation with the customer.
Choosing the team
At the beginning of a project, one of the most critical steps is choosing the right team for the job. Typically, this aspect has already been thought of while putting together the proposal. When the proposal gets accepted, it’s important to confirm the team composition once more.
When putting together a good team, experience, areas of knowledge and previous history with the field in question all play a part. Ideally, less experienced developers and designers should have a more experienced counterpart within the team.
At the beginning of a project, one of the most critical steps is choosing the right team for the job.
Different projects require different skill sets. What technologies do the developers need to be familiar with? Do designers need animation knowledge? Have some of the team members worked on, or have personal experience with the topics at hand?
In our project with Bayer, half of our team members were women. The team members also had first-hand knowledge of a number of different contraception methods. Even with all the client expertise and user research, personal perspective inside the team is always incredibly valuable.
Getting started – Discovery phase
The kick-off meeting is where – together with the client – we make many crucial decisions, starting with the general outlines of the service. What exactly are we about to do, who is the service for and what problem does it solve? With most products, it also makes sense to take a close look at the competition. How is the product we’re about to create better or different from what’s already available? This concept design phase usually continues 1-2 weeks after the initial kick-off meeting with various workshops.
With Wonder, it was initially not clear what kind of functionality would be the most beneficial for our future users. Thus, our focus was on researching the potential audiences and related apps already available on the market. In the end, we decided to focus on younger hormonal coil users who are most in need of reliable information before and after the installation and find it convenient to use a mobile app to keep track of their well-being.
Making technology choices
Choosing the right technology is crucial. This is why developers are very much active in consulting roles from the get-go, long before they write a single line of code.
We have previously written a more extensive article on technology choices. For the purposes of this blog post, we can conclude that technology choices should be a good combination of what the project requires in terms of efficiency and features, what the developer team is familiar with and how established the technology is.
Technology choices should be a good combination of what the project requires in terms of efficiency and features, what the developer team is familiar with and how established the technology is.
One crucial goal with Wonder was to release the app as soon as possible. After the required features became more clear, we decided that React Native framework would be the best tool for the job. With it, the development would be rather quick. Also, we had been very happy with the results of utilising it in our previous projects.
Because the app would feature a significant amount of text content, we opted for using Contentful, a cloud service that enabled Bayer to update the content without needing to release new app versions in order to do so.
Sprints create the project structure
Our typical mobile app project moves from an idea to the first publicly released version within 3-4 months. After this, the development usually continues throughout the lifecycle of the service – whether that means continuously developing the app further or performing just the essential upkeep.
The work is best approached not as one big chunk, but rather by dividing it into sprints. This iterative approach is the core of agile product development. It allows us to constantly and swiftly react to testing and feedback, creating a more refined version after each sprint. In sprint retrospect meetings, we look at how well we succeeded in the previous one and plan the next. This feedback loop is not just about developing the product itself; we are also always looking for ways to fine-tune our work process itself. With Wonder, this resulted in changing our project management software and fine-tuning our code review system.
Communication is key
Together with the client, we decide on the best way to organise communication throughout the project. Usually, I prefer tools that the client is already using; immediacy and familiarity are often more important than the software itself. At Taiste, we use Slack for both our internal communication and many of our customer projects, but since Bayer had a long history with Teams, it was the better option in this case.
Besides instant messaging, Bayer could see the design work in action and comment on it in real-time within the online prototyping tool Figma. Throughout the process, we also held weekly meetings with the customer, sometimes remotely and other times in person. More extensive workshops also took place whenever necessary.
The main roles of communication are engaging the customer in the creative process and decision-making – as well as keeping them up to date. Nasty surprises are the enemy of good customer relations; transparency, responsibility and close co-operation are the opposite of that.
The same holds true with budget updates, too. The client should always be up to date with our current tasks and the time spent. Moreover, it is the project manager’s duty to consult them when it comes to critical decisions. A key tool we use in regards to all this is Harvest. It allows us to track our work in real-time and send detailed, easy-to-read reports to our clients.
So… is this Kanban, Scrum or something else?
It is difficult to write about project management in modern software development without mentioning the most common approaches of today. Terms such as Agile, Scrum, Kanban, DevOps, Lean, SAFe are among ones that every Project Manager should be familiar with. Some of these are clearly defined frameworks (Scrum, SAFe), while others (Agile, DevOps) are based on a collection of methods with common traits.
At Taiste, we do not follow any specific method to the letter. Instead, our agile philosophy is best described as a flexible combination of tried and tested approaches.
In our projects, I see values from the agile manifesto (individuals and co-operation, the ability to react quickly to feedback and changes). On the other hand, there is a lot of practical influence from Scrum’s way of approaching transparency and organisation of work. Another important aspect for us is Kanban’s way of visualising the work process and limiting simultaneous work in progress.
This takes us back to the question presented in the title of this article: how do we approach project management? In short, our way of working is an ever-evolving combination of best practices in the field with our own tweaks. It is characterised by the desire to allow flexibility for each project depending on their unique traits, as well as learn something new from each one and then apply that knowledge. In the rapidly changing field of software development, methods and processes should evolve together with the company and its people.