The common problems that are present in a custom FileMaker development project come from the underestimation of the time and effort in building the project. A lot of teams that provide hundreds of project estimates mostly fail to hit the right mark, especially in the early days of their business.
However, as the years go by, custom app developers find a reliable model for determining the amount of time and effort required for the completion of a project. For consistency, project team members go through regular training on the method.
Steve Lane, who works in the field of software development and databases, tells us the best practices we should adopt to have a successful project estimation of a custom software development project. You can read on below for that purpose.
It’s Should Be Comprehensive
Well, if you think that the person-hour project estimation is just simple math, think again! It’s more complicated than having a small group of specialists doing tasks for a specific amount of time.
The thing is that there are things that need to be addressed behind the scenes of the project as well. So your project estimation must be comprehensive, tackling everything that covers the project.
Avoid Comparing Two Projects for Your Estimation
A specific custom software development project is not the same as another. Even if you think that you’re building software that has similarities with another software, a lot of variables will be at play in your project that it would be too risky to borrow an estimate from another project for your assessment.
Project comparisons are only advisable if you want to have an order-of-magnitude approximation of your project. However, it’s not wise to commit to an estimate as per rough comparison of two projects.
Consider Non-Development Factors
It’s not only software developers that will put their work into a custom software development project. That’s why an open and transparent communication must also be relayed to non-developers who are involved in keeping the project run with zero or less problems.
If you’re a FileMaker developer, for instance, it’s advisable for you to update your client regularly to build an excellent developer-to-client relationship. You should orient your client to the essential matters that are happening behind the scenes.
The amount of support needed to complete a custom software development also differs from one project to another. For a small project that only has one developer, a project manager may work only to send regular updates and to ensure that the developer is fully provided with what he/she needs.
For a big project, on the other hand, the project manager should be hands-on because big projects typically involve multiple developers, multiple client contacts, and sophisticated testing process. The manager must lead meetings, supervise tasks, and facilitates communication among team members as well.
Aside from project management, the manager should also build a time-and-effort estimate for internal and external meetings, QA activities, deployment tasks, etc.
Estimates for Foundation Stage
Most custom software development project needs up-front design and discovery work. In this case, you have to put importance on the business analysis time for the foundation stage.
Business analysts have to work with clients to determine the risks, opportunities, and objectives of the project during the foundation stage. As such, you’ll have more chances to craft a plan that can address the valuable features and capabilities for software development.
In the process that leads up to the completion of design and discovery, developers can also create a better estimate of time as per knowledge gained from the unfolding solution blueprint. Indeed, it will create more transparency and accuracy if there are also mid-foundation and post-foundation estimates for a project.
Put Importance on the Task Size
For sure, it’s easy to estimate if there’s only a small number of items for a project. However, challenges emerge if you have to evaluate a bigger project task than usual. If an item in your estimate tells that you have to invoice within 24-48 hours, it will be practical if you break that down into smaller units of functionality.
So, there should be units like “create invoice,” “print invoice,” view list of invoices,” etc. And if there are several invoice types with different print format, you can again make a breakdown of those into smaller items.
However, it’s advisable not to make an immediate estimate if it’s too early to make a breakdown of an item. There should be a range that enables the work for several definitions that you need to do.
Number of Estimated Items
Of course, determining how many estimated items in a project is also crucial. It’s because your estimate will be less meaningful if you have fewer estimated tasks in a project, and no one can really make a very accurate estimate of the items. What you should see is that there’s a balance of the “overs” and “unders”.
Too few items, for instance, will risk your project getting doomed by an inferior estimate for a single item. As such, you should keep in mind of the under-ten-items rule. This rule states that it’s dubious to have predictions involving many items below ten. But you’ll be at an advantage if you have estimated items no fewer than twenty.
Size of Estimate Ranges
You should make sure that your entire estimated items should fit within a particular range of sizes. A large gap between your smallest and biggest estimated items only means that you either broke down the small ones prematurely or there isn’t enough breakdown of the big items.
For you to have a better estimate, you should apply a range of no higher than 6x between the smallest and biggest items.
Don’t Miss Out Major Items
You’ll only have a valid estimate if you completed all the items in your task list. If you miss out around 20 percent of your tasks, you won’t determine the number of hours you’ll need for the missing items. So your estimate of the other things will be useless.
Thus, you should create multiple estimates, and you should only commit according to a post-foundation stage estimate for you not to miss out major items from your list.
Use the Right Tools
Steve Lane’s team created a tool that can estimate projects effectively. It utilizes statistical math to craft a master estimate from some estimated work items. This tool is called the three-point estimator.
A single developer can generate the estimates, or with multiple people conducting various tasks, the forecast can be generated by separate estimators. The three-point estimator solution provides each item three different estimates under the labels expected, best and worst case.
It’s a must that you do the custom software project estimation correctly. That’s why you should adopt the best practices for project estimation for that purpose. As a summary, it’s advisable to have a comprehensive estimate, avoid comparison of two or multiple projects, consider non-development factors, determine the project size, and use the right tools for the project.
Pauline Jacobs is a tech and business blogger. She writes stuff ranging from business strategies to custom software development. In her free time, Pauline loves to read sci-fi books and go to museums.