bannerbanner
Управление проектом разработки сайта или веб-приложения. От идеи до внедрения
Управление проектом разработки сайта или веб-приложения. От идеи до внедренияполная версия

Полная версия

Управление проектом разработки сайта или веб-приложения. От идеи до внедрения

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 4

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


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

Выполнять пожелания и запросы по проекту от исполнителя. Это ускорит процесс выполнения проекта, а также позволит избежать возможных ошибок.

Согласовать взаимодействие с исполнителем. Что это значит? Это значит, что исполнитель должен четко знать ваши приоритеты и цели, связанные с проектом. Это упрощает принятие решений и взаимодействие. Также желательно определить приоритеты по параметрам проекта (бюджет, сроки, объем, качество). При необходимости, это позволит менеджеру проекта правильно перераспределять ресурсы.

В случае обнаружения ошибки указывайте точно местоположение ошибки (URL, под каким пользователем, браузер) и что конкретно не так (описание ошибки, ссылка на скрин). В некоторых более сложных случаях надо также указывать, как должно быть в итоге + ручные расчеты, чтобы исполнитель их мог проверить под отладчиком (т.е. вручную пройти программу и посмотреть внутренние вычисления).

Сразу определять свои ожидания по срокам и бюджетам. Если какой-то параметр для вас очень критичен и имеет строгий дедлайн – то дайте эту информацию менеджеру проекта. Не должно быть такого, когда вы посередине проекта начинаете вдруг требовать его форсированного завершения. В этом случае это крайне негативно будет влиять на качество.

Избегать задержек, связанных с финансами и контентом. Заранее готовьте материалы и откладывайте деньги под бюджет проекта. Это позволит избежать непроизводительных задержек с вашей стороны. Задержки в любом случае будут в проекте, и тут редко кому удается их избежать. Поэтому задача заказчика – хотя бы в относительно простых моментах их не допускать.


В этой главе мы рассмотрели, чем на проекте занимаются менеджер и заказчик. Далее мы переходим к первому этапу ведения проекта – проработке идеи проекта и ее тестированию.


Глава 3. Идея проекта. Как проработать и проверить идею.


Сложно переоценить этот этап. Именно здесь вы можете сэкономить большую кучу денег. Перед началом проекта вы обязаны проверить – действительно ли проект даст тот результат, на который вы нацелились? У вас должна быть некоторая степень уверенности, что выполнив проект, вы получите тот или иной бизнес-результат.


Имея в голове эту цель, мы займемся вопросом проработки идеи проекта, а также рассмотрим вопрос “Как протестировать свою идею на рынке”.


Первое, что вам надо сделать – это понять, а нужен ли кому-то проект кроме вас. Т.е. важно в самом начале определить аудиторию, которая будет потреблять результаты вашего проекта. Для этой цели очень удобно использовать сервис Wordstat – wordstat.yandex.ru. Определите целевые запросы, которые будет набирать ваша целевая аудитория в поисковиках и посмотрите, какая у них частотность в Wordstat – там самым вы поймете, есть ли у вас рынок или нет, и насколько он большой.


Если у вас рынок есть, то поздравляю, двигаемся дальше.


Изучаем конкурентов – кто они, какая у них посещаемость, сколько их в нише, какая у них товарная линейка и т.д. Составьте список своих конкурентов и проанализируйте их. Чем лучше вы будете знать конкурентов, тем больше нюансов вы сможете учесть в своем проекте.


Также изучите по конкурентам такой важный момент как бизнес-модель. На чем именно делают деньги ваши конкуренты? Это не всегда просто выяснить. Не всегда самый доходный товар или услуга на виду. Возможно вы видите только очень привлекательный и дешевый front end продукт, а основные деньги делаются на другом товаре, который предлагается только теплым клиентам. Подумайте об этом: что в вашем случае может быть front end продуктом (максимально простой вход для клиента), а что back end продуктом (на чем делаются основные деньги).


Примечание. Здесь мы не будем подробно останавливаться как проводить исследования целевой аудитории, конкурентов и их продукции. Сейчас наша цель – это управление проектом в целом. Поэтому, мы лишь поверхностно коснемся этих, без сомнения, важных вопросов.


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


В результате вы получите какое-то количество кликов (пусть будет к примеру 200 или 500). Из них к вам обратилось 5 человек. В итоге вы получаете конверсию – 5 / 200 * 100% = 2,5%. Если ваша конверсия составит более 1%, то, значит, ваша идея стоит того, чтобы попробовать. Если нет – то, возможно, ваше предложение не настолько заманчивое, и следует над ним поработать.


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


При создании предложения делайте его чуть лучше, чем в среднем по рынку (имеется в виду по цене). В идеале, это должно быть предложение, от которого просто глупо отказываться.


Этап тестирования очень часто пропускается (мы и сами его пропускали в некоторых своих проектах, и обжигались на этом). Сделайте хотя бы простой опрос из 100 человек (желательно как можно ближе к целевой аудитории проекта). Это не займет много времени, но зато может вам сэкономить очень приличную сумму денег и время.


С тестами закончили, теперь давайте сформулируем цель проекта. Что мы в итоге хотим от него получить. При этом цель, конечно, лучше ставить в вещественных параметрах и в цифрах. Напишите, какой конкретно результат у вас будет по завершению проекта. Это могут быть:

– деньги

– трафик

– функционал

– аудитория

– какие-либо единицы в проекте (видео, тексты и т.д.).


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


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


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


Также стоит рассмотреть вопрос о запуске сначала какого-то более мелкого проекта, пилотного проекта. Мне нравится идея прототипных решений – вы не делаете сразу большое полноценное решение – сначала вы делаете пилотный быстрый проект для получения обратной связи. Т.е. этот проект гораздо легче основного проекта и на нем вы понимаете, будет ли это работать или нет. В каком-то смысле, проведение теста и является пилотным проектом, но степень “пилотности” может быть разной.


К примеру, при разработке доски объявлений, вы можете сделать сначала самую простую доску (возможно на бесплатном движке, либо сделать свой движок с ограниченным количеством функций). Поработать с ним, понять, что в итоге вам нужно и сделать уже свой полноценный движок со всеми наворотами.


Как мы уже упоминали, сразу соотносите свои ресурсы с проектом. Сможете ли вы его потянуть в том виде, который вы определили. Нет ли разрыва между возможностями и потребностями? Самое важное – будьте честными с собой. На берегу решите все моменты с ресурсами для проекта, чтобы потом не закрывать проект на середине пути. Два самых важных параметра – это деньги и время. Хватит ли вам денежных средств для поднятия проекта до того момента, пока он не станет окупать сам себя? Будет ли у вас время на полноценное участие в проекте? Без проработки этих 2 параметров риски проекта существенно увеличиваются.


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


Глава 4. Предпроектная деятельность


Что мы должны сделать до начала проекта?

Во-первых, это общая оценка проекта.

Во-вторых, определить основные параметры проекта.

И, в-третьих, формализовать все моменты по проекту в виде концепции проекта (это письменный документ, а не что-то, что у вас в голове).


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


Очень часто просят назвать очень точную оценку по краткому содержанию проекта. Тем самым заказчик уже закладывает гигантские риски в проект. Невозможно дать точную оценку на начальном этапе. Она в принципе не может быть точной. Есть такое понятие как “Конус неопределенности”. На начальном этапе оценка очень широкая, затем по мере движения проекта вилка оценки уменьшается (т.к. уменьшается неопределенность в проекте). Таким образом, не пытайтесь очень точно оценить проект на самом раннем этапе. Лучше сосредоточьтесь на следующем – сделайте так, чтобы в 90% случаев фактическая метрика вошла в ваша начальный диапазон оценки.


Какие бывают виды оценки?

Быстрая оценка. Делается по одному взгляду на проект. Мы ее очень часто используем для первичной оценки проекта. Как она делается:


Делаем градацию по проектам. Например, 3 градации, у каждой своя вилка и критерии попадания под нее.

При оценке проекта соотносим ее с одной из градаций.

Получаем оценку (оценка этой градации, которая сделана заранее).


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


Модульная оценка. Вы разбиваете конкретный проект на крупные блоки, модули и отдельно оцениваете каждый модуль. Обычно это делает уже технический специалист, либо менеджер. Здесь, как минимум, нужно детально ознакомиться с концепцией или ТЗ проекта. Модулями могут быть крупные функциональные блоки, которые являются более-менее типовыми. Для таких блоков можно сделать типовые оценки. Например, сделать форум – это N часов (или X рублей). Это немного упрощает оценку.

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


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


Для этой оценки очень важно, чтобы ТЗ было уже написано и оно было достаточно детальным. Если этого не будет, то разработчики завалят вас кучей вопросов по деталям проекта.


Оценку лучше вести в часах и определить нормированную стоимость этого часа. У каждого компонента (или страницы) будет 2 оценки – минимальная и максимальная. Чем точнее написано задание, тем ближе они будут друг к другу.


В итоге, суммируя эти оценки, вы получите довольно точное представление о бюджете и сроках проекта.


Очень важно при этой оценке учесть все дополнительные работы (о которых могут забыть разработчики), а именно:

● подготовка проекта

● совещания

● тестирование

● первичная поисковая оптимизация

● вынесение настроек в админку

● дизайн для админки

● уведомления

● типовой функционал, не учтенный в ТЗ (смена пароля, восстановление пароля, выход и т.д.)

● создание системы бекапов

● настройка мониторинга доступности

● регистрация в поисковых системах

● обработка новых запросов клиента

● ведение проекта

● составление отчетности по проекту.


Еще важный момент, учитывайте, что в любом случае будут неучтенные доработки. Их размер зависит, в основном, от клиента – именно он в конечном счете определяет какие функции надо изменить. Здесь важно помнить, что чем позже вы внедряете изменения, тем дороже они будут стоить. Поэтому желательно сразу правильно определять состав функциональности в проекте.


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


Еще момент, выберите уровень технических решений и качества. Здесь имеет смысл брать ориентир на другие сайты, т.е. этот блок сделать примерно как на site.ru. Конечно, это очень субъективно, но позволит команде разработке сделать свое представление о выбранном уровне качества.


После того как мы сделали оценку по срокам и бюджету, хорошо бы собрать всю информацию воедино в так называемую концепцию проекта.


Что в нее входит:

1.       Основные параметры проекта:

a.       Цель проекта и результат. Что в итоге вы должны получить? Зачем вам нужен этот проект? Входными данными для какого следующего проекта будет результат текущего проекта? Четко определите критерии завершения проекта.

b.       Сроки. Сколько в целом месяцев/недель займет проект?

c.       Бюджет. Сколько вы запланировали заложить средств на реализацию проекта?

d.       Объем. Что нужно реализовать в рамках проекта? Что мы оставим за бортом? Определите границы проекта.

e.       Команда. Кто будет реализовывать этот проект? Кто за что будет отвечать на проекте?

f. Ресурсы. Какие дополнительные ресурсы вам потребуются для реализации проекта? Это могут быть знания, технические средства, место для работы и т.д.

g.       Приоритеты внутри проекта. Что в проекте важнее всего из параметров? Сроки, бюджет, качество, объем? Возьмем, например, самолет. В нем важны, в первую очередь, качество и объем. Объем нельзя урезать, да и качество должно быть максимальным. Теперь возьмем социальную сеть. В ней могут быть важны бюджет (т.к. это деньги инвестора) и качество. Объем здесь не так важен – его можно развивать по ходу запуска проекта. Понимание приоритетов даст вам в будущем возможность варьировать параметры проекта. Например, вы не успеваете сделать в срок, а сроки являются приоритетом. Что делать? Либо уменьшайте объем, либо увеличивайте бюджет, либо внедряйте более простые и быстрые решения. При этом, разумеется, вы исходите из прописанных приоритетов проекта.

h.       Риски. Каковы риски проекта? Выпишите список рисков, связанных с проектом. Вы можете их категоризовать. Например, организационные, технические, внешние, по параметрам проекта. Далее для каждого риска вы проставляете степень критичности и степень вероятности (от одного до трех). Далее в порядке приоритетности прорабатываете каждый риск – пишите меры, которые уменьшают вероятность и критичность риска. Тем самым вы получите карту рисков проекта и план по их обработке.

i. Ориентировочный план. Вы примерно должны определить, как вы достигнете цели проекта. Здесь не нужна детализация – просто определите этапы достижения цели. Это позволит команде разработки в целом понимать в какую сторону надо двигаться. Для каждого этапа наметьте ориентировочные сроки. Здесь следует понимать, что это не обязательство или план к исполнению. Это просто желательный план развития проекта, который в процессе может изменяться.

2.       Краткое описание. Очень желательно иметь лаконичное описание, которое позволит сразу схватить суть проекта и показать его особенность. Это нужно для взаимодействия с внешним миром (дизайнеры, программисты, партнеры и т.д.). Хорошее описание сэкономит вам кучу времени при взаимодействии с возможными исполнителями на проект – вам не будут писать те, кто заведомо не подходит.

3.       Критерии отбора исполнителей. Лучше их заранее проработать, чтобы опять же сэкономить время. Что могут включать эти критерии:

a.       Общие требования, например, технологии, географическое расположение, образование, студия/фрилансер, под ключ/специализация. Указывайте требования так, чтобы сразу по максимуму отсеять кандидатов. Подумайте с какими кандидатами вы точно не хотели бы работать. При этом не указывайте аморфные «мастер своего дела» и прочее – это совершенно ни о чем не говорит кандидатам.

b.       Мини тест на адекватность. Если кандидат хочет с вами работать, то пусть сделает простую последовательность действий, которую вы для него подготовили. Например, отправить на почту письмо с темой «ХХХ» с вложением КП в формате PDF. Если исполнитель вам пишет не в вашем формате, то скорее всего он будет так же себя вести и на проекте. Исполнительность – это первое, что нужно проверять для кандидатов.


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




Глава 5. Начинаем проект

Для начала давайте определимся, из чего мы исходим в начале проекта:

У нас есть концепция со всем параметрами.

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

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

Вы – менеджер этого проекта. Т.е. у вас есть все полномочия по принятию решений на этом проекте, а также выделены ресурсы на проект, которыми вы можете распоряжаться.


Инициацию проекта можно условно разделить на 2 пункта:

Подготовка и выделение ресурсов

Планирование проекта


В плане подготовки инструментов и выделения ресурсов вам необходимо рассмотреть следующие моменты:

Вы должны обеспечить подготовку тестового домена, сервера, где будет работать тестовое приложение, базы данных, инструментов разработки (SVN, среды разработки и др.). Одним словом, вы должны подготовить тестовую среду.

Дайте права и полномочия членам проекта. Это доступы к системе планирования, доступ к тестовому приложению (база, код, иногда сервер). Дайте контакты участников проекта.

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

Определение границ проекта для участников. Разработчики должны понимать область проекта, иначе есть риски, что проект пойдет не в том направлении. Обсудите параметры проекта с разработчиками, чтобы они понимали требуемый уровень качества и приоритеты клиента.

Наконец, проведите общее совещание по проекту. Это обобщает все вышесказанное + дает возможность познакомиться членам проекта.


Теперь переходим к плану проекта. Как надо планировать? Систем планирования очень много, я просто расскажу свое видение этого вопроса.


Как мы говорили выше, изначально лучше планировать общими этапами с очень примерными сроками. Очередной крупный этап детализируется на итерации (1-2 недели).


Скрупулезно планировать вы должны только текущую итерацию. Определите совместно с заказчиком, что вы должны сделать на этой итерации. По сути это будут приоритеты заказчика на итерацию.


Сформулируйте, исходя из приоритетов, задачи для исполнителей. При этом следует понимать, что сам приоритет – это по факту не задача. Задача требует указания контекста и особенностей. Также в задаче вы можете дать рекомендации по решению и описать особенности, если это требуется. Для каждой задачи необходимо определить следующие параметры:

Исполнитель

Дедлайн

Оценочное время

Чек-лист. Задание проще всего формулировать в виде чек листа. Так будет проще закрывать задачу исполнителю, а вам – проверять. Чек-лист – это антипод монолитного куска текста в котором размышления автора перемешиваются с заданием и вопросами к исполнителю. Структурируйте свои задачи в форме простых и понятных действий, которые надо сделать исполнителю для закрытия задачи.


Таким образом, у вас на итерацию будет пакет задач для исполнителей, который они должны сделать к определенному сроку. Если итерация составляет 1 неделю, то лучше, чтобы задачи были сделаны к четвергу, чтобы было время внести корректировки в рамках этой итерации. По окончании итерации необходимо написать отчет, в котором мы отражаем насколько хорошо мы закрыли приоритеты клиента на эту итерацию.


Еще очень важный момент по планированию – планируйте так, чтобы в конце итерации всегда получать рабочий результат. Что это значит? Представьте, что вы рисуете картину, например, портрет. Сначала вы делаете общий набросок, на котором определяете контуры лица. Затем вы наносите на холст крупные детали (глаза, рот, нос). После этого вы переходите к более мелким деталям (уголочки глаз, губ, морщинки). И, наконец, вы переходите к теням и т.д. На каждом этапе вы получаете полный рисунок и постепенно его детализируете.


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


Также и в вашем случае. Вы делаете скелет приложения, создаете пустые страницы, затем делаете общие компоненты без стилизации и т.д. В итоге на каждом этапе у вас будет рабочее приложение.


Теперь давайте разбираться с вопросом «Как разбивать на этапы и итерации?».


Условно веб-приложение мы можем разбить на подсистемы/модули. Каждая подсистема может быть разбита на компоненты/страницы.


Первое, что вам нужно сделать, это определить роли в системе и подсистемы, которые в ней будут. Роли – это менеджер, администратор, продавец, оператор и т.д. Подсистемы – это обработка заявки, подготовка КП, форум, система сообщений.


Совместно с заказчиком вы определяете приоритеты по подсистемам и личным кабинетам ролей. В результате вы создаете примерный план этапов проекта с учетом приоритетов бизнес-целей заказчика. При этом этап – это не обязательно только реализация одной подсистемы. Он может включать реализацию разных подсистем или их частей.


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


Незаметно мы подобрались к концу главы. Сейчас у вас есть примерный план по этапам проекта и детализированный план на текущую итерацию в форме конкретных задач для исполнителей с понятными и простыми чек-листами. Следующий момент – самый сложный в проекте. Именно он определяет успех проекта и скорость его движения к долгожданному результату. Об этом мы будем говорить в следующей главе.

На страницу:
2 из 4