Как стать автором
Обновить

Зачем?

Время на прочтение 3 мин
Количество просмотров 500
Как часто мы начинаем проект не задавая себе правильных вопросов? Самым простым вопросом, который следует ставить перед собой с детской непосредственностью, является — «зачем»? Звучит бредово, не правда ли? Недавно ко мне обратился студент, которому еще только предстоит изучать под моим руководством курс «Web-программирование» с вопросом о замене лабораторных работ на результат по проекту, который он собирается выполнить.



Надо наверно начать с того, что я был сильно обрадован инициативностью студента. По сути, предыдущий поток разочаровал меня за исключением некоторых звездочек. Апатия, безынициативность, откровенная безграмотность и отсутствие элементарных навыков прогнозирования неприятностей – вот основные качества, которыми они открылись мне. В тоже время, инициатива со стороны студента вызвала некоторую озадаченность. Я решил разобраться с мотивацией и, как оказалось, не зря.

Сделать социальную сеть с некоторыми дополнительными фишками для определенной группы — идея. Идея, но человек решил покорить горы трудностей совершенно не представляя ни объемы, ни сути работы. Хотя следует отметить наличие опыта работы на PHP и некоторое владение MySQL. Можно сказать, эффект второй системы в действии1. Уже что-то умеет, уже что-то знает, уже имеет некоторый опыт и считает, что может сделать все. Мне понравилось упорство с которым студент отстаивал свою идею. Было ощущение, что я вижу танк на борту которого выбита фраза:
«Не оглядывайся, смотри только вперед, на то, что ты хочешь сделать, и ты непременно свершишь задуманное.»

Навязчивая идея и отсутствие опыта проваленных проектов могут значительно повлиять на результат еще на начальных этапах разработки продукта. Я не хочу сказать, что принцип «а давай закодим по-быстрому проект» не работает, хотя в большинстве случаев он не работает. Еще когда дисциплины по разработке ИС находились на этапе зарождения, было установлено, что жизненный цикл содержит не только «ух ты, мы кодим», но и «упс, а как это поддерживать». Учитывая, что внедрение и поддержка не самые интересные этапы в разработке, и то, что именно в них выявляются фундаментальные ошибки, заложенные при проектировании. Именно проектированию следует уделить большое внимание.

Проектирование ИС на основе технологий, которыми еще не владеешь, в большинстве случаев обернется большими ошибками, вызванными неполным представлением как о методах использования самих технологий, так и об ограничениях, которые технология накладывает на разработчиков. Ошибки исправлять всегда гнусно, долго и это совершенно демотивирует команду разработчиков.

Собственно, еще одна фундаментальная проблема студенческих воздушных замков связана с командной работой. Незнание средств поддержки коллективной работы (например, SVN) значительно ослабит результативность работы. Отсутствие опыта самой командной работы сводит на нет большинство усилий этой самой команды. Неформализованные отношения (без сомнения, молодежного коллектива) благодатная почва для конфликтов.



Но, если вернуться к изначальному вопросу и поставить его повторно, опираясь при этом на вышеизложенное, то он будет звучать не так бредово. Зачем тратить время и усилия на создание проекта изначально обреченного на провал? Может стоит выбирать противника более менее равного себе, то есть как в боксе в некоторой виртуальной весовой категории.

Это совершенно не значит, что я отказал студенту, мне уже приходилось испытать на себе что:
«Тот, кто упорствует в своем безумии, в один прекрасный день окажется мудрецом.»

____________
1 Брукс Ф. Мифический человеко-месяц или Как создаются программные системы / Символ-Плюс, 2006 г. – 304с.
Теги:
Хабы:
+17
Комментарии 25
Комментарии Комментарии 25

Публикации

Истории

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн