For app developers, it’s deceptively easy to get sucked into the mindset that the software you’re currently working on is a ‘project’. With a start and end date, you and your team focus on delivering the work on time with the desired features in order to then move onto a new ‘project’. However, there is a fatal flaw in this type of thinking that trips up app developers everywhere, to the irritation of their clients.
By deeming software as a project, you negate to see it as a ‘product’. While these may seem similar, a product should be seen as something that is indefinite, evolving and improving over time to fit the ever-changing needs of real users.
Shifting your team’s mindset from projects to products can help you to avoid the variety of pitfalls of sticking with the former mode of thinking, yet what exactly are those issues?
One of the more egregious issues that arises with project-focused thinking is that, by framing success in terms of budget and deadlines, you ignore the importance of the overarching commercial goal for the end user.
This can create a barrier between the developer and the needs of the client, leading to a product that doesn’t quite work for either party. On the other hand, product-focused development garners much greater success, as developers are much more closely aligned to the commercial objectives and user intent.
A common misunderstanding that developers fall into is, once a software system has been built, the project will run at a high quality in its current state forever. In reality, many products are heavily reliant on external factors that may change. For example, third party libraries will likely need to be patched or updated, the interfaces may change and the dataset that your software deals with will likely increase.
All of this can completely change how your system reacts and behaves, which will inevitably lead to the developer’s bane - software rot. On the other hand, by viewing your work as an ongoing product, you can aid in evolving and improving to minimise the drop in software quality.
Lack of ongoing ownership
If you’re working on projects, it’s easy to wash your hands of your work once it has been launched. This, unfortunately, fosters a lack of responsibility and miscommunication between teams. However, by taking ownership of the product as a whole, a vested interest in creating something maintainable becomes a clearer goal.
This increased responsibility can have significant knock-on benefits to the quality and efficiency of the product and can help to promote a more productive knowledge transfer between teams.
As you can see, while a relatively simple change, shifting away from project-focused thinking can provide a variety of benefits for a software team and, as experts in the app development industry, we encourage this change in thinking wherever possible to maximise productivity and communication.