Software development, much like any other field out there, is saddled with challenges and developers must always find new and innovative ways to overcome them. Every client is different, and their requirements are different also. As such, as a web or mobile app developer, one must learn the art of correctly estimating the duration of a project correctly.
A large number of software developers when undertaking a web development project would provide the cost of development based on the details provided by the customer, only to later realize that what the client actually wants is an entirely different product. Off course here the agile development method would bring one of its advantages, being the iterative approach to software development. Whereby in each iteration of around 2 to 4 weeks both the client and the developer align on the scope of each of the iterations.
Despite using the agile development approach, clients still expect to receive a budget estimate and a duration for the development of their mobile or web application upfront. This has been a source of a headache for a whole lot of developers and software development companies over the years. Most clients have no clear picture in mind and are hoping that somehow, as a web or mobile app developer, you can figure it out for them without them saying too much. The problem with that approach, even for experienced web and mobile app developers, is that:
All the above reasons, coupled with a few others are some of the reasons why trying to correctly estimate the duration of a project is difficult. Despite this, developers and clients shall work together and make this a whole lot simpler if they can do the following:
As a developer, you need to formulate and ask the clients some important questions. These questions would make the client think about their project more than they already have. It provides you the avenue to know if your client has given the project a lot of thought prior to contacting you or not. Some of the questions you can pose to them includes:
Questions like this, if asked, makes the client rethink their prior stance and to see the whole development process from a different perspective, giving you the freedom to work at a pace that’s convenient for both of you.
For offshore development situations, this might be a bit harder to arrange. Although with a Skype/Google Hangout call, one comes a long way. Web/mobile Developers should make it a habit of contacting their clients in person if possible. This makes you get to know each other better prior to the beginning of the project. The development of a web application or mobile app is pretty easy if both developer and client have a good relationship. A one-on-one meeting would help foster this bond quickly.
When the client provides you with all the information, take it and formulate some approximate duration and cost for the job before you even begin the main task of developing the web or mobile application. A few key areas you should look at are design, architecture, implementation, testing, hosting plans and support. This proposal would enable the client to clearly understand a few of the crucial steps that need to be taken in the course of developing a website or mobile app.
Always outline what you expect of your clients, so they can know what it is exactly they are to provide to you for the development of their project.
Sometimes, depending on the complexity of the web or mobile app development project, other professionals may be involved in the development process. Professionals such as project managers, graphic designers, web designers, contents team and marketing team to mention a few, may be on the team to handle the project. The approach still remains the same in that case. A clear project outline and proposal for your client would help in a correct estimate of the project duration and hasten up the process altogether.