Let’s start with the most obvious question – What is PropTech? The name PropTech is an amalgamation of the words “property” and “technology”, and is also commonly referred to […]
Software development projects almost always undergo subsequent iterations. A client can add new requirements or suggest corrections that broaden the scope of a project. And while the scope of the project’s functionalities may change, the project delivery deadline shouldn’t be delayed and can’t be postponed forever. That’s why it’s sometimes difficult to accurately estimate a software project, defining how much time and effort you need to finish it. Luckily there are certain things that can help here.
As a developer, you should know that there is more than one model of work. You’ve probably heard about the Waterfall model or Kanban, Lean, FDD. In the previous articles, we mentioned the Agile method which seems to be the right one when it comes to managing huge projects. The Agile methodology, although was created after the Waterfall, is better adapted to changing requirements. The traditional model includes a higher cost of making iteration.
The nature of the model will more or less allow for corrections and changes while working on the project. Some methodologies aren’t well suited for introducing changes in the middle of work. Choosing the Agile approach where work is divided into “sprints”, after each of them you get feedback on the progress. This way your estimates are more accurate as you have the control over what’s done and what’s left. Also, it’s not problematic when introducing lots of changes.
Our estimates are guided by our skills and past experience. Take a look at the latest projects and see how much time and effort you put into them. Maybe the chosen technology is familiar to you so you know the mechanism and potential complications of using it. On the other hand, as software developers, we seek to find new, better solutions which we haven’t tried before thus sometimes we don’t have enough knowledge to correctly estimate our work. Nevertheless, it’s good when the initial estimation is based on your previous collaborations.
Developers can have more than one project to finish. They need to switch between tasks and it can be very demanding. That’s another issue that should be considered during the time and effort estimation – how many projects do you currently run? And when you answer that question you may also find an answer to how much can you realistically accomplish? The word realistically is important here. The fear that something will overlap and won’t be delivered makes us overestimate the needed time. Then instead of finishing a smaller task, as usual, you estimate that you need an entire day for this particular feature.
It’s very common that clients improve their original idea while it is already in progress. That’s why the optimal solution is to estimate a project along with the development process. By incorporating the client’s and your team’s feedback you can write code in a more efficient way, minimizing the later effort. What’s more, with each product requirements change the scope of the project changes and so the initial estimation. Frequent estimations are the smartest choice and they will provide you with updated and most accurate results.
Remember to inform clients about any obstacles on the way. Sometimes the integration with an external server may cause a lot of troubles and require more time than expected. That’s why It’s better to be in constant contact and keep everyone updated.