Как сделать сайт? Советы
Работа PM 1. Однозначное толкование требований, пожеланий и воли клиента. Худший вариант: Пожелания клиента передаются PM’ом кодеру как есть (расплывчато, невнятно)
Требование или задача формулируются, например, так: «Сделайте это более зелёным», «увеличьте шрифт», «отодвиньте этот блок влево», «оформите эту страницу в общем стиле».
Хорошая практика: PM, на сколько это возможно, выясняет требования и пожелания клиента и передаёт уточнённые требования кодеру. Требование или задача формулируется, например, так: «Используйте вот этот #0BB822 зелёный цвет». «Увеличьте шрифт до 18 пикселей», «сдвиньте блок на 3 пикселя влево».
Влияние: Чем более неоднозначное и расплывчатое требование, тем больше времени необходимо потратить на его выполнение. Отсутствие чётких критериев увеличивает разницу в видении конечного результата заказчика и производителя (помните картинку с качелями и разным виденьем результата разными участниками проекта)
Не стоит обольщаться мнимой самостоятельностью, данной клиентом в решении каких-либо вопросов, т.к. самостоятельность логично предполагает отсутствие строгой приёмки (критической оценки) со стороны клиента как таковой. На практике клиент всегда просит изменить или поменять какие-то вещи снова. Следует свести вариативность к минимуму
Действия: 1. PM:Выяснить все неоднозначности, сформулировать чёткие критерии приёмки. Внимательно отнестись к мелочам. Использовать технику «Правильно ли я вас понял?» и другие
2. HTML кодер: Информировать PM’а о всех вопросах и возникающих неоднозначностях
2. Понимание происходящего и составных процессов вёрстки. Худший вариант: PM не понимает сущности процесса вёрстки, выбирает неподходящую последовательность работ кодера в проекте, урезает время, уменьшает объём работ.
PM не видит или не понимает влияние дизайна на функционал (когда дизайн заставляет менять работу функциональности).
Хорошая практика: PM однозначно понимает в каких местах своего проекта и на какой стадии ему необходимы работы с HTML. Понимает и учитывает возможные риски, проводит мероприятия по их предотвращению.
PM замечает места в которых дизайн влияет на функционал. Если данное место критично - обсуждает с проектной командой изменения; если нет - обсуждает с клиентом «перерисовку» с учётом существующих возможностей.
Влияние: Непонимание, из чего состоит результат, и каким образом этого результата достигнуть, приводит к существованию активностей, неучтённых в оценке. Это, как следствие, ведёт к перерасходу проектного времени.
Исходный материал для кодинга – статическая картинка демонстрирующая частный случай работы сайта. Результат – динамический сайт. Соответственно, приёмка происходит не по идеальным условиям, отображённым на картинке, а по текущей (актуальной) ситуации.
Пример: На входе есть PSD (или несколько PSD) для собственной CMS. При первой оценке кажется, что адаптация дизайна может состоять только из таска «нарезка и натяжка на CMS». Однако, CMS - это не просто главная страница. Это и страница результатов поиска, страница архива новостей и статей и т.д. Неучтённые страницы имеют свои особенности и элементы, не отображённые на PSD и нуждающиеся хотя бы в минимальном привидении к общему стилю. Значит, нужен новый таск - адаптация оформления существующих блоков к новому дизайну. Этот таск не возможно сделать сразу. Он растягивается, так как, включая новую функциональность, у клиента появляются новые вопросы и пожелания к дизайну новых страниц (клиент, покупая CMS может вдруг захотеть включить функциональность, которая есть в CMS, но не предполагалась вначале). Создаётся ситуация аврала и перерасхода проектного времени. Т.к. время было оценено для видимых страниц на начало проекта (а это, допустим, одна главная страница), но по обязательствам мы должны адаптировать CMS для клиента, а его новые требования вкладываются в это обязательство.
Действия: 1. Рабочий процесс: PM, предоставляя дизайн HTML кодеру на ревью, получает экспертное заключение о возможных проблемных местах, местах влияния дизайна на функционал, вопросы, которые следует уточнить у клиента.
2. Рабочий процесс: Проводить «дни открытых дверей», когда коллеги объясняют друг другу специфику и особенности своей работы, обсуждают сложности и мероприятия по их устранению.
3. Рабочий процесс Конспектировать решение проблем или сами проблемы в локальном Wiki (либо как документы, описания, FAQ) создавая, таким образом, базу знаний.
4. PM: Известить HTML кодера о предстоящих работах. Обсудить возможные существующие «узкие места», узнать вероятность какой-то незапланированной активности, обсудить риски и мероприятия по уменьшению их последствий.
5. HTML кодер: Оценить свою активность по проекту, указав всю деятельность по выполнению поставленной задачи. Выставлять проценты выполнения тасков в существующих проектных трэкинговых системах. Извещать о случившемся риске, консультироваться в возникших вопросах.
3. Понимание условий и ограничений используемой платформы или проекта Худший вариант: PM соглашается с требованиями клиента полагаясь на лёгкость реализации или на существование подобного функционала в системе.
РМ владеет только базовыми знаниями о системе.
Хорошая практика: Идеальный вариант, когда PM хорошо знает систему в которой работает (имеет разносторонний опыт работы с системой) и в обсуждении с клиентом опирается на свой опыт.
Более реалистичный вариант, когда PM обращается к консультанту проекта (или опытному девелоперу), чтобы оценить трудозатраты на создание (изменение) функционала или обсуждаемых работ.
Влияние: Знание ограничений системы позволит ещё на стадии постановки клиентом задачи оценить возможность и трудозатраты реализации, не допустить ситуации, когда необходимо отвечать по обязательствам, а решение вопроса требует больших незапланированных затрат времени и ресурсов, нестабильных решений («костылей») и т.д.
Действия: 1. Рабочий процесс: Использовать в проекте консультанта с таском «Консультирование» (кроме этого таска он в проекте может не участвовать).
2. PM: До начала проекта изучить систему, проконсультироваться с коллегами(либо консультантом) и изучить предыдущий опыт работы своих коллег.
3. Рабочий процесс: Конспектировать решение проблем или сами проблемы в Wiki (документы, описания, FAQ).
4. Рабочий процесс: Проведение общих мероприятий по повышению уровня компетенции по используемым системам (знание системы и её ограничений необходимо и кодеру. См. пункт 7. Работы HTML кодера).
4. Объективность. Худший вариант: PM не может расставить приоритеты по проекту в критических ситуациях, трактует текущую ситуацию в проекте далеко от истинного положения вещей. Выбирает быстрые, а чаще авантюрные решения.
Хорошая практика: PM имеет и предлагает последовательность работы для экстренного варианта течения проекта, проверяет и переставляет работы по ситуации, старается использовать стабильные решения, видит весь проект целиком, консультируется с проектной командой перед принятием решения (даже если известно, что мнение проектной команды будет отличаться).
5. Контроль проекта и отдельных частей на разных этапах. Худший вариант: PM проверяет проект в конце.
Хорошая практика: PM проверяет результаты по ходу проекта на каждой стадии (по вехам (milestones) или по завершению таска и т.д.), осуществляет оперативный контроль.
Влияние: Не контролируя проект на каждой стадии, PM увеличивает вероятность перерасхода проектного времени и срыва сроков сдачи. Положение ухудшается тем, что, в случае проведения контроля в конце, отвечающим за текущую ситуацию в проекте, по видению PM’а, является только HTML кодер (если таск «натяжка» последний в проекте). А также тем, что всё равно необходимо снова привлекать ресурс для девелопмента, тестинга и, возможно, перенатяжки.
Пример: Имеет место проект, в котором дизайна на его начало нет. Девелопмент прошёл без прототипа и без дизайна, только по функциональной спецификации. Клиент прислал свёрстанный дизайн или PSD, и после этого в проект вступает HTML кодер. Ситуация: в дизайне нарисована часть функционала, которая отличается от той, что сделана. Причём реализация разницы может потянуть ещё на 20%-60% уже потраченного на девелопмент времени. Как следствие - простой HTML кодера и срыв сроков сдачи.
Действия: 1.РM: Осуществлять контроль на всех стадиях (и в промежутках) проекта.
6. Эффективные коммуникации. Худший вариант: PM обсуждает общие для проекта моменты с каждым участником проекта раздельно. Участники проекта общаются и решают оперативные вопросы тоже «каждый с каждым».
Обсуждение проекта в IM занимает много (или даже больше) времени, чем выполнение задачи. Возникает необходимость обсуждать рабочие моменты с несколькими людьми одновременно (кроме этого ещё и одно и тоже).
Хорошая практика: Все участники проекта в курсе изменения и обсуждения общих для проекта деталей.
Влияние: Общение «каждый с каждым» всегда приводит к тому, что упускаются какие-то детали по проекту, важные для всех его участников (детали, изменения, последовательность выполнения задач и т.д.).
Действия: 1. Рабочий процесс: Конспектировать результаты общения, извещать о результатах всех участников проекта. По возможности обсуждать общие детали при максимуме участников проекта.
2. Рабочий процесс: Назначить строгие даты и время совещаний по проекту с условием обязательного присутствия всей команды. Подведение итогов (срез).
|