Прошла неделя, страсти улеглись, и я хочу немного рассказать о прошедшем на прошлых выходных марафоне по разработке приложений soft24.
Но сначала – спасибо всем, кто принимал участие. Ребята, с вами было интересно общаться и работать над идеями и кодом, я с удовольствием приму участие и в следующих “забегах”. И, конечно, отдельное большое спасибо организаторам (и в первую очередь Тимофею Евграшину).
Угнать за 80 секунд
Вкратце об идее: участники собираются вместе (в буквальном смысле, удаленная работа отпадает) и создают законченный продукт за ограниченное время. В Украине уже проходило несколько подобных мероприятий, на которых люди создавали фильмы и журналы за 24 часа. Мы же собрались под одной крышей, чтобы создать софт.
Все вышло как нельзя лучше, и в качестве бонуса мы получили массу удовольствия от самого процесса. Но обо всем по порядку.
Атмосфера
Представьте себе 25-30 программистов, которые видят друг друга в первый раз, но уже горят желанием создать что-то этакое, потом прикрутить еще что-то вот такое, повесить бантик и покрасить в малиновый, чтобы вышло ОГОГО. Представили? Теперь равномерно накрошите программистов по залу, обеспечьте wifi, раскидайте десяток-другой bean bag chairs, пару бильярдных столов, литров 50 кофе, полцентнера шоколадок и.. знаете, лучше идите-ка спать домой, потому что поспать здесь у вас точно не получится.
“Он добавил картошки, лука, посолил и поставил аквариум на огонь” (народное творчество)
Программист и PR-щик – братья навек
На мой взгляд, очень хорошей идеей было собрать вместе не только программистов и дизайнеров, но и PR-щиков с журналистами. Пока одни увлеченно рисовали модели на доске и копались в коде, другие не менее увлеченно бегали по залу с фотоаппаратами, снимали скетчи, брали интервью, проводили видеотрансляции и развлекались как могли.
На этом месте я, пожалуй, остановлюсь, и передам привет девушке Гале, которая с самого начала взяла в свои руки контроль над программистами. Я имел неосторожность в задумчивости прогуляться с кофе в сторону PR-команды, где моя праздношатающаяся личность тут же привлекла внимание:
- (Галя) Ти хто?
- (Я) Э-э-э.. с утра был программистом..
- То чого сюди приперся? Іди програмуй!
- Да я это.. да мне бы.. я так, хожу-думаю..
- Думати? Думати можна. Думай.
Старт
В 10 утра субботы мы запустили на большом экране обратный отсчет и время пошло. Представиться и рассказать о себе и своих скиллах несложно, чуть сложнее ясно описать идею своего приложения (сервиса, программы) в паре фраз. С другой стороны, если идею приложения сложно объяснить – возможно, оно будет понятно и интересно только узкому кругу людей? За 10 минут stand-up обсуждения идей мы набросали штук 15, потом разбились их на команды и принялись за работу.
Если кто-то не знает – будучи предоставленными самим себе, разработчики быстро запрягают и не менее быстро едут. Представление, знакомство, обсуждение и выбор идей, формирования команд и согласование инструментов и правил разработки заняло немного времени, и в 12:14 наша команда уже чекинила первые строчки. Поневоле вспоминаются некоторые компании, в которых 3 менеджера на 1 работника.
ххх: думаю, очень показательно, что из всех факультетов именно у нас, менеджмента, не получилось организовать вечеринку в честь получения дипломов… (bash.org.ru)
Bare essentials
Несколько советов тем, кто будет участвовать в подобных проектах. В условиях ограниченного времени на первое место выходит четкая постановка целей, хорошее распределение работы и, конечно, умение быстро писать код. А еще – умение отсекать ненужное. Кстати, все эти моменты хорошо описаны в книге Getting Real от известной студии 37signals.
Для начала набросайте на бумаге список функций, необходимых для первого релиза. Потом посмотрите на написанное критически и, скрепя сердце, вычеркните половину списка. Затем соберитесь с силами и избавьтесь еще от половины. Оставьте только то, без чего ваше приложение совершенно не сможет работать, и приступайте.
Во-вторых, release early, release often. Чем раньше вы получите работающий скелет приложения, чем раньше вы попробуете его в деле, тем скорее определите, что имеет значение для пользователя, а что – лишь красивые, но бесполезные плюшки. В конце концов, как говорят в Одессе – “вам шашечки или ехать”?
И, наконец, научитесь делить работу. Не толкайтесь локтями на одном участке проекта. Скажем, один человек занимается UI, другой ядром, третий рисует графику. Или один работает над базой, второй тестирует, третий спит. В крайнем случае пишет код один, остальные варят ему кофе и делают массаж. Главное – не нужно всей толпой набрасываться на один кусок, и уж тем более не нужно добавлять людей в надежде сделать работу быстрее.
Assigning more programmers to a project running behind schedule will make it even later, because of the time required for the new programmers to learn about the project, as well as the increased communication overhead. (The mystical man-month)
Продолжение следует
На сегодня закончу на этом. Следующая часть через несколько дней.




