Every day dozens of people get excited about the idea to create something of their own, to realize their web-project. In most cases, all these initiatives lead to nothing. As it is not surprising, the main reason for the failure of the project is the absence or flawed concept.
This article discusses the analysis of the success of "green" web-projects, the reasons for their failures and the method of writing the concept of the project. The article is recommended for reading to all people who decide to create their own web-project for the first time.
First, some statistics ...
Important point: The article deals with the first or “green” projects that are made by people who do not have adequate experience in their implementation.
I’ll tell you right away where I got these figures from - this is my personal statistics for 1.5 years. I myself have previously been engaged in the development and implementation of large web-projects for one Russian corporation, therefore I have a professional interest in all new ideas that can be found on the open spaces of the network.
At the time of this writing, 54 projects participated in the analysis. Among the ideas of the projects there are banal social networks and browser MMORPGs that are no different from others, and really worthwhile and innovative copies. But let's move on to the numbers, they will speak for themselves.
Note: shares are rounded off, statistics are presented as a slice for 54 projects, my own project does not participate in statistics.
What is the current status of the project?
Actively developing projects, with a more or less folded team, exactly one (2%). This project has been around for about a year.
There are 3 projects (6%) that are working, sometimes idle for one reason or another. One of them has been in this "sluggish" mode for almost a year and a half. Despite the low speed of development of these projects, it is impossible to say that they are failed and do not develop.
The remaining fifty projects (92%) “died” (the project was not implemented or it has zero attendance) for various reasons.
Why was the project closed?
4 projects (7%) are in force. I brought them in this diagram to get a cut for all projects.
12 projects (22%) do not have their own ideas. These projects copy existing web-projects with some changes. Among them are social networks, a lot of browser games and several online services.
15 projects (28%) failed to create a team or the author of the project failed to find people willing to make the idea a reality. The maximum development of these projects ended with the organization of the project site, usually very clumsy.
5 projects (9%) were closed due to lack of money for development. At least, the authors assure so.
The remaining 18 web projects (34%) "have sunk into oblivion" for an unknown reason to me. The authors of these projects do not respond to attempts to contact them.
In principle, everything is predictable, but let's move on to the next question.
')
Does the project have an adequately defined concept?
Adequately designed concept is only in 1 project (2%). And guess what state this project is in? He is actively developing.
The rest of the concept either revolves in the mind of the author, or expressed in 5-10 sentences.
I think here and without comment everything is clear. The root of evil is found ... Now it is necessary to chop it off and tell what the concept of the project is.
What is the concept?
The concept (from the Latin.
Conceptio - understanding, system) - a certain way of understanding (interpretation, perception) of any object, phenomenon or process; the main point of view on the subject; guiding idea for their systematic coverage. (Wikipedia)
In simple terms, a concept is a system of reference points for constructing a finished product, documented and allowing to achieve a result without additional data. This is a project idea and instruction how to put this idea into practice, written down on paper or another data carrier.
To avoid unnecessary writing, I have prepared a
template for
a web project concept . Naturally, you can change it to fit your needs. I, personally, make out the concept in the old manner, that is, on paper. For example, my current project looks like this:

Of course, the concept of a project is an abstract concept, built at the level of structure and ideas. The concept, by its nature, should not contain anything superfluous, but it is closely intertwined with technical implementation. To work with such an ideal concept you need a good knowledge of the technical base. People who have decided to create their own web-project for the first time usually don’t have such knowledge, so in my version of the concept you will encounter many critical technical issues that you should pay attention to.
The content of the concept of a web project with a description of individual items
Project nameIt's all clear. As you call a ship, so it will sail.
Objective of the projectWe recall the thesis at the institute and write something similar. This is necessary for a clear understanding of why this project was started. Let me remind you, the goal displays the desired result. For example: the creation and implementation of a browser-based MMORPG "Bricks", generating advertising revenue and selling the project.
Project ObjectivesSimilar to the previous, remember the diploma. This is needed to understand how to implement this project. Let me remind you that tasks reflect actions that must be done to achieve a result. For example: explore the browser MMORPG market, develop software code, test the service.
Project participantsAt this point, the name of all those involved in the creation of the project. Advice for the future: use your real full name, because otherwise it is then difficult to prove that, for example, “Zforford Beeblebrox”, who wrote the program code, is you.
Project DatesHere, all novice (and even experienced) developers make a mistake. Allocate on development twice more time, than it seems to you.
Logo and mottoHere, too, everything is clear.
Project DescriptionWrite a few paragraphs of text describing your project, emphasizing its merits. Write clearly and most interestingly. Then it is useful to attract investors or buyers.
Distinctive features of the projectAll the features of your project. If you have nothing to write here, except as - “this project is the best, as mine”, then you can finish the activity of the web developer on this.
The target audienceDescribe the people for whom the project is being written. For example: sellers of the forest of the city of Birobidzhan.
Technical part- Server and extensions. For example, Apache 2.2+
- Server language and extensions. For example, PHP 5+
- DBMS. For example, MySQL 5+
- Expected attendance. You need to clearly understand how many people will be able to serve your service without brakes. For example, 3,000 people a day.
- Traffic. Everything is simple. The number of people per day is multiplied by the average page weight and we get the volume of traffic per day.
a common part- Encoding. Describe the basic encodings used in your project. Tip: use utf-8 encoding.
- Compression. Whether files will be compressed when sent to the client.
- Minimization. Whether files will be minimized (extra spaces and comments cut out) when transferred to a working server.
- Filter incoming data. It is very important to determine at the beginning what data we will receive from the client. For example, only letters of the Russian and Latin alphabet, numbers, signs = _ &
- Access limitation. Describe the project directories to which users are denied access. For example, access to the scripts directory is prohibited for all users except root.
- The rules of the names. Even if you are writing a project alone, you will first determine how you will call modules, files, functions, and variables. For example, for functions use underscores, for variables, capitalization.
- Commenting rules. For example, the function header in / * * /, the separation of functions using / - /
- Ways of interaction of developers. For example, icq.
Application logicAt this point, it is desirable to draw a diagram of how data will be exchanged between parts of the service. Of course, the point can be omitted if the interaction is elementary, on the principle of client-server.
Server partThis section describes all critical server-side settings. I highlight the following:
- magic_quotes
- register_globals
- allow_files
Client part:- Frameworks and plugins. For example, jquery
- Doctype For example, strict
- Supported browsers. For example, IE7 +, Opera 9+, FF 3.5+
- Supported OS. For example, only Windows
- Phone support
- CSS. For example, everything up to css3
- Client screen resolution. For example, higher than 1024 * 768. Please pay attention to this item. He is usually remembered at the end of the work, when they see their “dispersed” website.
- Type of images. For example, Jpeg and Gif. Thanks to IE, this item must also be taken into account.
The following items may not be completed if you do not understand what this means.
- Ajax
- Event Delegation
- CSS Sprites
- CSS3PIE
DBMSRegarding the DBMS, I highlight only one critical setting:
And at this point you should draw a database schema with a description of all fields and relationships. This moment is very difficult, as it requires a good understanding of the project.
Concept art projectHere are the sketches of all pages of the project, not just the first. For me, it looks like this:
RestOf course, the concept of a web project is not limited to the points I have given. Here you need to add a detailed description of each moment and the functionality of the project.
Finally
It may happen that the documentation will have more than one piece of paper (my current project has 38 A4 sheets) and you will write it for a very long time (I wrote 2 months), but it costs it. The concept is your support on the way to the realization of your project. Remember: lack of concept is the “killing” of your idea.
And finally, general tips and additional articles on project management topics:
General concept writing tips:
- Use a unique idea.
- Do not copy or use the resources of competitors. Otherwise, get a clone of someone else's project.
- Use your real name. Why - described above.
- Write in Russian, correctly, in compliance with the semantics of the language. Especially, the items describing the project. Remember: ignorance of the Russian language has a very negative effect on business.
- Connect with people of interest to you and your project. Collect their contacts, inquire about them. You may have to use their services.
- Read the necessary literature, expand your horizons. Tip: read "with a marker", that is, highlight the important parts.
- Make a diary of the work done. He will clearly understand the speed of work.
- Make a log of the mistakes made. Save time from re-attack on the same rake.
- Make a log of the found "bugs". Write there everything that you do not like in the project, and then correct it.
- Make a journal of ideas. Write down there all, even crazy ideas about the project.
- Test the project on the target audience.
Additional articles on "Project Management"
If my vision of the concept of a web-project seemed to you somewhat confused, then you can read several articles on similar topics. Articles advised by habravzer
TheFaSTeR ,
seorez ,
Napolsky - many thanks to them.
Update 09/01/11 1:53 In order to avoid unnecessary disputes, I added a paragraph of text with the answer why my concept template is in this form.
Update 09/01/11 9:10 At the end of the article I added a paragraph of text with links to articles on project management. Thanks to habouiers for comments.