aboutsummaryrefslogtreecommitdiff
path: root/files/ru/learn/common_questions/thinking_before_coding/index.html
blob: f10459aee6456b028f95475dc09a33011c403f0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
---
title: Как начать разрабатывать свой сайт?
slug: Learn/Common_questions/Thinking_before_coding
tags:
  - Включает активное обучение
  - Для начинающих
  - Необходимое Схематично
  - Планирование
translation_of: Learn/Common_questions/Thinking_before_coding
---
<p class="summary">Эта статья покрывает первый и крайне важный шаг в создании любого проекта: определить, что вы хотите получить.</p>

<table class="learn-box standard-table">
 <tbody>
  <tr>
   <th scope="row">Необходимые знания:</th>
   <td>Никаких</td>
  </tr>
  <tr>
   <th scope="row">Цель:</th>
   <td>Научиться определять цели, которые позволят дать направление вашему web-проекту.</td>
  </tr>
 </tbody>
</table>

<h2 id="Определение_идеи_проекта">Определение идеи проекта</h2>

<p><span class="seoSummary">Большинство людей, начиная свой web-проект, фокусируются прежде всего на технической его стороне. Безусловно, вы должны иметь представление о технической стороне своей работы, но гораздо важнее сперва узнать, что вы хотели бы получить в результате. Конечно это кажется очевидным, однако слишком много проектов не доживают до релиза не из-за отсутствия технических знаний, но из-за отсутствия целей и видения.</span></p>

<p>Так что когда у вас появляется какая-то идея и желание воплотить ее в web-сайте, вам необходимо ответить на 3 простых вопроса, и уже потом предпринимать что-либо иное :</p>

<ul>
 <li>Что я хочу в конце-концов получить?</li>
 <li>Каким образом web-сайт поможет мне в достижении моих целей?</li>
 <li>Что и в каком порядке должно быть реализовано, чтобы достичь моих целей?</li>
</ul>

<p>Совокупность и анализ ответов на эти вопросы поможет определить <em>идею проекта</em>, которая является <strong>необходимым</strong> первым шагом в достижении ваших целей, вне зависимости от того, имеется ли у вас опыт разработки или же вы новичок.</p>

<h2 id="Активное_Обучение">Активное Обучение</h2>

<p><em>На данный момент этот раздел еще не готов. Вы можете помочь сообществу разработчиков, вступив в <a href="https://developer.mozilla.org/en-US/docs/MDN/Getting_started">Please, consider contributing</a>.</em></p>

<h2 id="Более_глубокое_погружение">Более глубокое погружение</h2>

<p>Проект никогда не начинается с реализации. Музыканты никогда не делали бы музыку, пока не решили, что же они хотят сыграть, аналогию можно провести к художникам, писателям, и web-разработчикам. Реализация второстепенна.</p>

<p>Технические навыки безусловно важны. Музыканты обязаны владеть своим инструментом. Но даже хороший музыкант никогда не создаст хорошую музыку не имея идеи. Следовательно, прежде чем переходить к вашей любимой IDE, вы должны отойти немного назад и детально представить, что же вы на самом деле хотите сделать.</p>

<p>Часовая конференция-обсуждение с вашими друзьями - хорошее начало, но не совсем рациональное. Лучше будет спокойно сесть и структурировать всю информацию, это позволит вам получить наиболее адекватное представление пути к реализации вашей идеи. Для этого вам нужны лишь только листочек, ручка и немного времени для ответа на следующие вопросы.</p>

<div class="note">
<p><strong>Заметка:</strong> Имеется неисчислимое множество способов, как сформулировать идею проекта. К сожалению, мы не можем собрать здесь все сразу (и даже увесистой книги не хватит). То, что мы представляем в этой статье - это простой способ выполнить шаги, которые профессионалы называют <a href="http://en.wikipedia.org/wiki/Ideation_(idea_generation)">Project Ideation</a>, <a href="http://en.wikipedia.org/wiki/Project_planning">Project Planning</a> и <a href="http://en.wikipedia.org/wiki/Project_management">Project Management</a>.</p>
</div>

<h3 class="highlight-spanned" id="Что_же_в_конце_концов_я_хочу_получить"><span class="highlight-span">Что же в конце концов я хочу получить?</span></h3>

<p>Этот вопрос наиболее остро нуждается в ответе, поскольку ответ является решающим в дальнейших действиях. Лучше всего подойдет список целей, которых вы хотите достичь. Это может быть что угодно: интернет-магазин, выражение политических взглядов, расширение круга общения, организация концертов, коллекционирование картинок с котиками, или что угодно еще, что вы хотите получить.</p>

<p>Представьте себя музыкантом. Должно быть, вы хотите:</p>

<ul>
 <li>Предоставить людям возможность прослушать ваше творчество.</li>
 <li>Создать интернет-магазин.</li>
 <li>Наладить контакт с другими музыкантами.</li>
 <li>Поговорить о музыке.</li>
 <li>Обучать своему творчеству с помощью видео-уроков.</li>
 <li>Публиковать фото вашего кота.</li>
 <li>Найти нового друга (подругу).</li>
</ul>

<p>Когда вы получили такой список, необходимо упорядочить его согласно приоритетам. Разместим цели в порядке убывания важности:</p>

<ol>
 <li>Найти нового друга (подругу).</li>
 <li>Предоставить людям возможность прослушать ваше творчество.</li>
 <li>Поговорить о музыке.</li>
 <li>Наладить контакт с другими музыкантами.</li>
 <li>Создать интернет-магазин.</li>
 <li>Обучать своему творчеству с помощью видео-уроков.</li>
 <li>Публиковать фото вашего кота.</li>
</ol>

<p>Выполнив это простое упражнение, написав ваши цели и отсортировав их, вам будет гораздо легче принимать решения. (Нужно ли мне добавить какие-то возможности, использовать эти или иные сервисы, создавать именно <em>такой</em> дизайн?)</p>

<p>Теперь, когда вы получили приоритетный список ваших целей, имеет смысл перейти к следующему вопросу.</p>

<h3 class="highlight-spanned" id="Как_сайт_поможет_мне_в_достижении_цели"><span class="highlight-span">Как сайт поможет мне в достижении цели?</span></h3>

<p>И так, у вас есть конкретная цель и вам кажется, что для ее достижения нужен веб-сайт. Вы уверены?</p>

<p>Вернемся к нашему примеру. У нас есть 5 задач, связанных с музыкой, одна из области личной жизни (поиск своей пары), и ни с чем не связанные фото кота. Есть ли смысл создавать сайт, который способен удовлетворить всем этим требованиям? Так ли это необходимо? В конце концов, десятки уже существующих web-сервисов способны помочь вам в достижении ваших целей.</p>

<p>Поиск пары - главная задача, и более разумно использовать уже существующие ресурсы, чем создавать свой. Почему? Мы потратим больше времени на создание и поддержание сайта чем на поиск своей потенциальной пары. Пока эта цель сохраняет наибольший приоритет, логичнее тратить время и силы на использование (освоение) существующего инструмента, чем начинать его создание с нуля. Аналогично, существует достаточное количество сайтов, которые уже предоставляют возможность демонстрации фотографий, чтобы на создание еще одного можно было очень коротко ответить: это того не стоит.</p>

<p>Оставшиеся пять задач непосредственно связанны с музыкой. Конечно же, на данный момент уже достаточно сайтов, обладающих подобным функционалом, но в текущем контексте имеет смысл создать сайт, посвященный именно вам. Прежде всего, сайт - это лучший способ <em>чтобы собрать все</em>, что мы хотим опубликовать, в одном месте (для решения проблем под номерами 3, 5 и 6) и создать среду для взаимодействия между нами и публикой (для решения проблем 2 и 4). Если проще, то так как все эти задачи из одной области, содержание всего в одном месте (веб-сайте) поможет нам в достижении целей, а также поможет нашим поклонникам связаться с нами.</p>

<p>Как способен сайт помочь мне решить мои проблемы? Ответив на это, вы найдете наилучшее решение для себя и убережетесь от траты усилий впустую.</p>

<h3 class="highlight-spanned" id="Что_и_в_какие_сроки_должно_быть_реализовано_для_достижения_целей"><span class="highlight-span">Что и в какие сроки должно быть реализовано для достижения целей?</span></h3>

<p>Теперь, когда вы уже узнали, что вам на самом деле нужно, настало время составить план, раскладывающий ваши цели на небольшие выполнимые шаги. Еще нужно помнить, что все ваши планы не есть догмы. Они постоянно эволюционируют вместе с изменением курса проекта. К примеру, если вы вдруг вспомните о чем-то ранее неучтенном, или просто измените свое видение проекта.</p>

<p>Как водится, лучше один раз увидеть, чем сто раз услышать, так что вернемся к нашему примеру:</p>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Цель</th>
   <th scope="col">План по достижению</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td style="vertical-align: top;">Предоставить людям доступ к вашему творчеству</td>
   <td>
    <ol>
     <li>Записать музыку</li>
     <li>Опубликовать ваши аудиозаписи в сети (Можете ли вы использовать для этого существующие сервисы?)</li>
     <li>Предоставить людям доступ к вашей музыке в некоторых частях вашего сайта</li>
    </ol>
   </td>
  </tr>
  <tr>
   <td style="vertical-align: top;">Обсудить вашу музыкальную деятельность</td>
   <td>
    <ol>
     <li>Написать несколько статей для затравки обсуждений</li>
     <li>Определить, как должны быть оформлены статьи</li>
     <li>Опубликовать готовые тексты на вашем сайте (Как это делается?)</li>
    </ol>
   </td>
  </tr>
  <tr>
   <td style="vertical-align: top;">Познакомиться с коллегами по цеху</td>
   <td>
    <ol>
     <li>Предоставить людям способ связаться с вами (Email? Соц. сеть? Номер телефона? Письмо?)</li>
     <li>Определить, как люди могут узнать эти данные на вашем сайте</li>
    </ol>
   </td>
  </tr>
  <tr>
   <td style="vertical-align: top;">Создать интернет-магазин</td>
   <td>
    <ol>
     <li>Приготовить их</li>
     <li>Разместить в магазине</li>
     <li>Найти способ доставки</li>
     <li>Определиться с платежной системой</li>
     <li>Добавить способ делать заказы на вашем сайте</li>
    </ol>
   </td>
  </tr>
  <tr>
   <td style="vertical-align: top;">Обучать музыке в своих видео-уроках</td>
   <td>
    <ol>
     <li>Записать видео-уроки</li>
     <li>Разместить видео в онлайне (И снова: стоит ли использовать для этого уже готовые платформы?)</li>
     <li>Предоставить людям доступ к видео на вашем сайте (проинформировать)</li>
    </ol>
   </td>
  </tr>
 </tbody>
</table>

<p><strong>Два важных замечания.</strong></p>

<p>Во-первых, некоторые из этих задач не привязаны к интернету (к примеру, запись музыки или написание статей). И очень часто такие "офлайн" вещи играют большую роль в достижении целей, чем сам сайт. В продажах, к примеру, гораздо большее значение и тяжелую реализацию представляют решения вопросов доставки, оплаты и налогообложения, чем непосредственная реализация сайта с возможностью оформления заказов.</p>

<p>Во-вторых, написание плана порождает новые вопросы, которые тоже нуждаются в ответах. И, как правило, этих вопросов больше чем рассмотрено в этой статье. (К примеру, можете ли вы сделать что-то из плана самостоятельно, лучше попросить кого-то из знакомых или придётся прибегнуть к помощи третьих лиц?)</p>

<h2 id="Заключение">Заключение</h2>

<p>Как стало понятно, простая мысль "А не сделать ли мне сайт?" порождает очень много работы, и при каждом следующем обдумывании она только растет. В скором она может стать очень большой, но это не повод для паники. Вы не обязаны отвечать на <em>все </em>вопросы, а также выполнять каждый пункт плана. Что действительно имеет значение, так это ваше видение результата и понимание целей. Однажды создав идею, вам нужно определиться, как и когда ее реализовать. Разбивайте большие задачи на меньшие и более выполнимые. И каждая выполненная задача приблизит вас к грандиозному успеху.</p>