As an individual developer working on a personal project, you tend to have a very clear vision and understanding of what you’re working on but the moment another developer joins, everything changes. You are suddenly faced with the challenge of making sure that this new developer understands as much as you do and that they get the whole picture.
Clients that need software built always want to know how much it will cost them, and a lot of times (at least as we have experienced at Intellectual Apps) they want to have this information before work begins. In order to get a “realistic” estimate of how much it will cost to build the piece of software, agencies would elicit the requirements and then based on that come up with an estimate of the cost. Client has a cost for getting their software built while the agency is happy they got the project. Great!
We need to build ABC, so that our client can do 123. Developers nod their head in confirmation that they understand what needs to be done. Been there before?
What usually follows is the lack of shared understanding between the team members, this means that everyone has their own idea of what ABC is and how it should get implemented. So being that the awesome development team understands what needs to be done, they go straight to implementation and after that all they’ll need to do is test the product and deliver to the client. Saving time right?