How to Meet the Deadline in the App Development Project?
August 8, 2023
In reviewing the projects where our company's developers encountered challenges in meeting deadlines, an unexpected conclusion arises. The recurring cause behind project delay does not seem to be directly related to time planning and management.
A vivid example comes to mind. In one of my projects, the application development was split into two 4-month phases. The initial phase went smoothly, strictly adhering to the timeline. However, during the second phase, we found ourselves in a continuous time crunch, struggling not to miss the deadline. The developers remained the same, as did the client and the app; no unexpected technical difficulties arose. The only alteration was the client's expectation of the desired outcome we were aiming for.
I will share this story to provide a tangible example of the client's chosen approach and its implications on the project deadline management. Towards the end of the article, I will offer my considerations on facilitating timely project completion and making the process smoother and less stressful for all parties involved.
How Do Deadlines Come About, Anyway?
A representative from an information agency contacted our company to discuss their plan of developing their own news aggregator, opting to move away from external paid services. As in any project, our initial task was to determine the critical functions that the future app should have for its first release.
The client specified two key functions:
- aggregating news from tens of thousands of diverse online sources; and
- conducting analysis based on approximately fifty criteria, such as sentiment evaluation and interest tracking across different countries.
After evaluating the workload, the developers suggested a two-phase plan.
- During the first phase, the developers will work on implementing the two key functions with app integration restricted to news websites only. They anticipate this phase will take approximately 4 months to finish.
- The second phase will replicate the same tasks to connect the app to social media platforms such as Facebook, Twitter, TikTok, and more, also with a 4-month deadline to meet.
After the client company agreed to these timeframes, they were set as the firm deadlines for both the first and second phases of the project.
App Concept Is Never Static
At the outset, the programmers have a rough plan in place, outlining the app functions and their sequential development. However, once they start, the plan undergoes continuous changes. This is a standard workflow, where new and previously overlooked details come to light, demanding task clarification, addressing gaps and inconsistencies, additional research, and sometimes even total reconsideration of some functions.
During the initial phase of the project, the client had to invest significant effort in studying news sources, competitors' services, and the requirements of their company and customers. They needed to determine which specific data and types of analysis would best serve the app users and how to present them in a user-friendly manner. Consequently, the development plan was affected, with some tasks expanding, and others being dropped. However, the overall workload remained largely the same, and the first phase concluded successfully without any schedule delay.
Occasionally, a more radical revision of the app's concept takes place.
In the second phase of the project, the primary goal was to duplicate the work already completed with news websites, but now with social media platforms. However, halfway through, the client, in their ongoing niche research, introduced several entirely new tasks to the development plan.
- The most significant of these was incorporating artificial intelligence capabilities into the application. This would enable automatic summarization of news articles and conduct more nuanced analysis, taking into account the overall meaning of the messages, not just keywords.
- Furthermore, the client opted to change the app's design and integrate it with several additional news sources.
Nobody Wants to Move Deadlines
One might assume that if the workload grows, the timelines would be adjusted. However, this is not a common practice, as this prospect is unappealing to both entrepreneurs and developers.
The client company has already publicized the upcoming launch of their new service and is actively engaging in discussions with clients who might find the service enticing. Additionally, the company had intended to adopt the application for their own use, and many of their future plans revolve around this strategy. No one is eager to reassess these plans due to a delayed release.
Developers are averse to delaying deadlines for another reason - they have already executed numerous similar projects and realized from their own experiences that such a practice substantially raises the probability of failure. This is because the key to app success lies in attracting users as quickly as possible.
Aspiring entrepreneurs may not yet be aware of this, but a release is far from being the end of the journey; it can be considered the starting point in some ways. No matter how thoroughly the app owner has planned everything, after release, it often becomes evident that some features may not interest users, and there are numerous aspects that users find lacking. Therefore, continually adding new functionalities to the app when it is still uncertain whether the existing ones are needed and, consequently, pushing further away the moment when users can provide feedback, is a risky approach.
For example, it can result in the app not making it to the release stage because its owner depletes their entire budget while striving for perfection. Conversely, if the release does occur, entrepreneurs often find themselves caught off guard by users' harsh evaluations and the subsequent struggle to captivate their interest, having already devoted substantial resources and effort fruitlessly.
So, How to Get Extra Time?
Implementing the client's new plans will indeed require a considerable amount of time. However, neither the client nor the developers want to delay the release. This raises the question of how to handle deadlines. I will describe a few potential approaches to address this predicament.
Putting Off Features
Might it be better to delay the inclusion of new features until we have a grasp of user preferences? The experience from numerous previous projects suggests to developers that, in most cases, this is the preferred approach. However, this very experience also indicates that app owners, who are enthusiastic about their idea, find it incredibly difficult to agree with this notion.
The situation was no different in this project. For instance, my team had concerns about revamping the entire interface design before the release. Was it justified to invest significant effort again if the initial design was never seen by any users? Was there any basis to assume that users would prefer the new design? Nevertheless, the client insisted on introducing the app with the new design and features right from the outset.
Ultimately, we completed the redesign and successfully implemented the data analysis capabilities using artificial intelligence. However, we had to abandon some of the new tasks that the client introduced after initiating the second phase. The app integration with additional news sources became unattainable due to time limitations. This is exactly how it often unfolds - the option to "put a task on hold" is only considered when constrained by time or resources.
The second approach seems reasonable to me as well. It is sensible to initially implement each app function in a basic version, enabling users to familiarize themselves with it and determine its usefulness. If it proves beneficial, we can then expand the function based on user feedback. In contrast, if it fails to generate interest, the losses in terms of time and resources invested in its development will be relatively small.
Entrepreneurs view this option more favorably. For example, in this project, the client supported our reasoning and reduced the number of analysis types performed by the app by half, focusing solely on the essential variants. The idea is that once we gain a deeper insight into the specific requirements of the company's clientele, we can introduce additional types of analysis more consciously. The client also reevaluated all other aspects of the app's functionality in a similar manner, both originally planned and newly incorporated tasks.
Throughout the app development, two opposing processes are constantly at play. On one hand, there's a drive to enhance the app, while on the other hand, there's a push to optimize resource allocation, directing efforts to the most promising functionalities. The first process results in an increased workload, while the second one seeks to minimize it. The expectation is that these processes will offset each other, keeping the overall project scope relatively consistent, and meeting the established deadline. In the initial phase of our project, this was indeed the case.
If keeping the project within its original scope proved unsuccessful, the only way to meet deadlines is to expand the development team. At the start of the second phase, our team consisted of 2 programmers and a tester, but it grew threefold by the time of the release.
This was the client's first project of its kind. They had never overseen the development of an application from the ground up before. Together, we were able to establish a comfortable yet effective means of interacting with one another. The outcome of the first phase exceeded the client's expectations, leaving them impressed with how successfully we implemented all our plans.
During the second phase, the client chose to move beyond the current achievements and enrich the app with more remarkable features. Soon, a wholly different atmosphere characterized our meetings. In the initial months, the client was fully absorbed in their fresh ideas, brimming with optimism, and not taking our warnings regarding project scope growth seriously. As the deadlines drew closer, it became increasingly evident that meeting them was at stake.
Furthermore, the project had exhausted its budget, and the client faced challenges in obtaining further funding. In the closing months, the client dedicated all their energy to accelerating the development by minimizing the time spent on current tasks. On the other hand, the developers focused their efforts on explaining why this was not achievable and advocated for abandoning some secondary tasks instead.
The release took place on time. Upon its launch, the app looked quite impressive and quite competitive. From a technical standpoint, it still required some additional optimization and testing, which we couldn't fully manage. The next judgment will be delivered by the users.
Let me now summarize my thoughts on how to meet deadlines and what is needed to achieve a seamless and successful development process.
Realizing all plans is entirely possible. It is feasible to work at a comfortable pace and in a supportive environment, ensuring a well-managed and predictable process, and devoid of any unpleasant surprises. Simultaneously, striving to improve the app's functionality is entirely feasible. All of this is not only realistic but constantly happening in numerous projects.
In my opinion, achieving this requires only one thing. It is all about a vision of the desired end result of the development, specifically what the app should embody upon its release.
Here are two possible approaches to this question:
- We assume that only users have the ability to determine the pros and cons of the app. The initial version of the application will serve as a preliminary, unrefined product, more like a trial run, providing users with an opportunity to express their opinions. The goal by the release date is to have the most crucial functionalities of the application realized in its fundamental form, enabling a prompt presentation to users for their input. This attainable objective ensures smooth planning and management of both the development process and project finances.
- We rely on our own judgments of the app's pros and cons. By the time of release, the app should have as many features as possible in the most attractive way according to our preferences. Achieving this goal is arduous, and striving for it can result in project management issues, with the risk of surpassing time and budget constraints.
Both my personal experience and the collective experience of the custom development industry indicate that the first approach is not only more pragmatic but also substantially enhances the application's chances of success.
- My App Is 99% Ready, Just Lacking the Final Touch
- Question of Trust: Funds Gone, or Chance Left?
- When Business Should Care About the Quality of Their Software
- Story of Eight Years Without Updates
- Why We Communicate With Our Customers Every Day
- Baking Dreams and App Nightmares, Perfecting the Mobile Bakery App