How sites are developed from $ 100,000

image

For the past 7 years I have been managing individual IT projects within the framework of the web studio that I lead, and during this time I have gained good experience working with large projects, which I want to share with you. My clients are usually from the USA, France and Germany, but there are completed projects in Canada, Switzerland, Denmark, Australia, Japan, etc. I designed a social network, an online auction, a fitness contest, a service for selecting auto parts, food delivery, online offices for receiving and processing orders, trading floors and other types of services. As you can see, the projects are different, but they are united by one distinguishing feature: the user interacts with the service according to a given algorithm. My main task is to think through these algorithms.

And if in more detail, then I should:

  • discuss the project in detail with the customer
  • draw up design documentation
  • assign tasks to specialists
  • check their implementation and issue amendments
  • hand over working functionality to the customer
  • teach him how to use the service
  • sign the certificate of completion and transfer the project to the support department
  • periodically connect to complex tasks during the maintenance process

I’ll write about the nuances of my business and stuffed bumps in a separate article. And now, actually, about the projects ...

Elephant must be eaten piece by piece


I must say right away that the projects with which I worked did not immediately cost more than $ 100,000. Such projects are being developed in stages and the first stage, what is called MVP (Minimum Viable Product), is several times cheaper. The purpose of the first stage is to launch a full-fledged working service with limited functionality and let the first users enter it on any preferential terms. It is important either to monitor their behavior through the Webvisor, or to give them the opportunity to report bugs to chat. It immediately identifies all the flaws that could not be found through testing, because dozens and hundreds of users can use the service not like a tester. Most often, immediately after the test launch of the first stage of development, a list of improvements appears, which are included in the 2nd stage.This allows you to adjust the development to the requirements of users on the fly.

Time is money


Even before the delivery of the first stage, we offer the Customer to discuss and prepare project documentation for the second stage, so that the loading of the team of specialists is continuous and there is no downtime. This way we save overall project development time. Not to mention the beginning of programming without waiting for the design and layout, as well as connecting several programmers, sharing workloads between them and combining the final result.

Talk “for optimization”


With each subsequent development iteration, the service code becomes more complicated, the number of users and content increases significantly. It's time to optimize the download speed. This process begins with the optimization of the server structure, since it immediately gives a short-term result. After that, site-side queries are optimized. We still have to return to this procedure when the number of users again increases significantly. Here we can talk about stress testing, but from practice, “the spoon is the road to dinner,” therefore, optimization work is usually carried out when there are objective reasons for this.

Tell me my light


With a certain load on the server and the number of users, the question becomes about mirroring the service. Firstly, a mirror copy of the service on another server allows us to distribute the load by dividing users between servers. Secondly, in the event of a shutdown of one server for any technical reasons, the second one takes the burden and users continue to use the services of the service continuously. Thirdly, such a structure allows testing a new developed functional without the risk that all users of the service will encounter an unexpected bug in the working version. By increasing the proportion of users who see new functionality gradually, you significantly reduce this risk.

Call me, call


Of course, no such service can exist without a support line and without the allotted time of specialists who can connect at any time to urgently fix system errors for thousands of possible unforeseen reasons: using an unsupported device / operating system / browser, not following the process work on the service, document format errors, technical problems on the server, etc. etc.

Flies separately, cutlets separately


The process of maintenance and development is different as well as the level of tasks. In this regard, we have long come to the need to separate these two departments - these are different people with different work processes. Of course, it is important in this case to transfer things correctly after the development of the main functionality, so that the caliper line is in detail up to date with the project algorithms.


It is important to understand that customers will spend large development budgets only if they receive a return on their investment. Thus, it is useless to focus on the technical literacy of the implemented solutions and consider that if you have detailed design documentation and you are right on all sides, because made a well thought out and tested service, then you are cool and you will pay a lot and a long time. If you don’t see the ultimate goal in that the service grows and does not delve into the Customer’s business goals, communicate with promotion contractors (if this is not your department) and keep your finger on the pulse of the project, then your ideal product will successfully fall on the shelf, and you lose the source of income. Unfortunately,most software developers measure their work with a thoroughly completed technical task and are proud of their ability to dismiss customer complaints. This is undoubtedly important, but it will not give you the possibility of earning in the future.

At last I will tell you


I want to note that in order for your web development business to be successful, it is not necessary to strive for large projects. There is a good field for business in inexpensive and cheap sites, if you put such work on stream. As our specialization, we chose the development of complex services, because we do it well. Our company came to this business from the development of accounting systems, so the automation of the business is “in our blood”.

Hope it will be helpful. Thanks to everyone who read!

I would be grateful for your constructive comment.

And if you do not use comments because of natural modesty, political, religious or any other reasons, you can write to me here .

All Articles