Web Development Takes Time

Mohyaddin Alaoddin
4 min readFeb 10, 2017

As a full-stack web developer who has worked for about four years I’ve learnt an important rule in the web development profession, a rule that could be true for all other fields of work as well, “it takes time”, web development takes time and if it doesn’t for you then you’re certainly doing something wrong.

I’m aware of the market need for the fast development of its business requirements however, if a software product is managed too quickly to maintain in the future, or developed so fast that it imposes potential errors for its users afterwards, then the product will not only be losing its value, but also will indicate lack of planning and experience from the parties who were assigned for its development.

In this post I’ll try explain why it’s taking much time to develop a medium to large scaled web applications, and how most of the web development corporations, digital media agencies, and even freelancer developers set a large — sometimes as twice or thrice longer than anticipated — time frame for an upcoming project to accomplish.

Why does it take that long ?

Web development is based on a diversity of technologies, each of which takes care of an aspect of the final product, the aspects of a web site, application or software can be thought of in different approaches e.g. generally a dynamic web application consists of two fundamental aspects: the front-end, and the back-end, then we get to a more specific approach that divides the front-end work into User Interface (UI) design and development and, User experience (UX) design and development. And the back-end work is divided into Data analysis and planning, Database development — and sometimes administration — , and server-side development.

In a large corporation we can find a team or more which consist of UI designer, UI developer, UX designer, UX developer, Data analyst and back-end developer, and a team could have more than one individual for each field of work, and of course there must be a team lead who plans and manages the work of the team.

And in an organisation crowded with projects, each project should be taken care of by those people, and it’s important to notice that the technologies comprise a project are integrated and connected to one another, so planning and organization of the team members’ tasks to accomplish the project is crucial, and that’s the reason behind the long time frames in the large scaled corporations.

In the small and medium sized companies full-stack developers are preferred over having multiple individuals working on a single project, a full-stack developer is a web developer who has a good grasp of all the mentioned technologies, but his limitations are that he excels at either the development portion of those technologies or the designing portion of them, the other limitation is the time he needs to accomplish the project is rationally longer than that needed by a team, and because of being a single hand that’s taking care of that much of aspects that gives the sufficient reason behind the long time frames set for completing his projects.

To give an example of some of the technolgies used to develop a full dynamic web application or site, here is a list of the main componenets that build it:

  • Database Management System: MySQL, Microsoft SQL server or, Oracle Database.
  • Server-side scripting: php, jsp or, ASP.net on C# or VB
  • php Frameworks: Laravel, CodeIgniter, Yii or, Slim
  • Client-side scripting: javaScript (ECMAscript 5 and 6) or, coffeescript.
  • javaScript APIs and Frameworks: jQuery, AngularJS or, VueJS
  • Web content structure: HTML5
  • Web content presentation & design: CSS3 or UI frameworks like Bootstrap or, Materialize.

How web developers, development corporations, and agencies set their deadlines ?

Ideally deadlines are set according to two main factors, the urgency of the project at hand, and the capabilities of the personnel working on that project, and that’s why every project should be starting with defining its specifications and the client’s requirements, which leads to a rough estimation for the time needed to complete the project without being late on delivering the final product, or having a heavy stress upon whom are assigned to work on the product. while considering some extra time to handle any unexpected issues along the way.

In the real world, I’ve experienced the negligence of one of those factors, if a company or a corporation management takes the project it either sets the deadline according to the client’s needs regardless of the — should be — known performance of the current workforce, or sets it according to the comfort of the working individual(s) regardless of how soon the client needs their project completed, of course both ways don’t end up well.

How to solve that compromise?

First of all if we’re going to start a project for a client, we need to have the clearest understanding of his requirements and needs, after having the requirements collected we shall take the time to study them thoroughly in order to get the needed time to accomplish them, taking into account the available workforce that will develop the product and, according to the skill set they have, this way we can have the confidence in reporting the estimated time frame and the expected milestones to the client.

The second thing is to be clear to the client that any time frames and milestones reported are estimations not promises so, the plan should include periods of time for handling issues that might arise during the development of the product — yes, accidents happen every now and then.0

Last thing is communication, being on contact with the client continually especially in times of doubt about the product features required, is a way of to prevent misunderstandings and incorrect implementation of the requirements requested.

Thanks for taking the time to read this article, later on I’ll writing what developers usually do when they get tighter deadlines ahead and, how to avoid bad practices of programming that we find ourselves forced to make due to the short time left before the deadline is due.

--

--