Estimate and architect a Drupal project

Estimation and architecture are the essentials to the project's Discovery stage. However, if a project has had a widening of scope (a client requested additional functionality) or a serious change, or an obstacle has been discovered, then the project may need to be re-evaluated or re-architectured.

Architecture is the process of converting the list of required functionality into a so-called Technical Specs - a specific structure of how data will be organized and related, and what technical methods shall be used to store and process it. Architecture is essential. Neglecting the architecture frequently results in an architectural debt - that is when you discover that the project was not thought trough well, and then ends don't meet. Once you are in the process of implementing, this can lead to producing unusable or unnecessary functionality, that may be very expensive to redo or rework once done.

Estimation is the next step after architecture. Once you have the technical specs, you can estimate how much it will cost you to implement. The costs of implementation relate to the technical tools used (are you using paid online services to store code, store files, emails, and the costs of implementations relate to the amount of work to be done. If is imperative that the estimation is performed either by someone with a full stack set of skills (like myself), or a group of people that cover the following areas: marketing, design, project management, front end, back end. Marketer brings in the market argument, the designer the design time estimate, the back end and front end developers estimate the project from their corresponding perspectives, and the project manager estimates the team overhead, risks, and the usual test and debug time.

A holistic systematic approach in estimation based on a clear architecture plan will help minimize or even eradicate the possible risks connected to bad planning and misevaluation.