Руслан Раянов
Управление проектом разработки сайта или веб-приложения
От идеи до внедрения
www.web-automation.ru 2015
Введение
Начнем с признания. Мне еще очень много нужно сделать, чтобы вести проекты на действительно высоком уровне. Я не претендую на эксклюзивность моих идей. Просто излагаю свой опыт и мысли, и, надеюсь, что это будет для вас хорошим бумажным (вернее электронным) помощником при ведении проектов.
Сразу хочу сказать, что пишу эту книгу исходя из своих сугубо прагматических интересов. В первую очередь, книга направлена на людей, с которыми я работаю. Это наши разработчики и менеджеры проектов. Именно они делают результат, который мы имеем сейчас. Мне бы очень хотелось иметь общее видение и представление о ведении проектов, и, чтобы каждому члену команды были понятны наши общие принципы и основные методики ведения проекта.
Во-вторых, эта книга для наших клиентов. Т.е. для тех, кто является заказчиком проектов, которые мы ведем. Понимание того, как ведется разработка, значительно упрощает взаимодействие между исполнителем и заказчиком. Обычно недопонимание возникает из-за отсутствия полной картины по проекту, либо неучтенной сложности. В книге мы рассмотрим моменты, связанные с заказчиком и его роли в разработке сайта или веб-приложения.
В-третьих, эта книга для тех, кто просто хочет научиться управлять проектами или узнать что-то новое по этой теме. Причем это не обязательно должен быть программный проект. По своей сути, практически все проекты имеют очень сходную структуру. У всех есть начало, конец, ресурсы, цель, план и т.д. В книге мы рассмотрим все составляющие в контексте проекта на разработку сайта.
После прочтения книги у вас будет представление о том:
● что такое проект
● что такое принципы эффективности
● как вести проект
● как управлять ресурсами на проекте
● как планировать проект
● как решать проблемы
● как вести ежедневную текучку по проектам
● как делать отчеты по проектам
● как организовать взаимодействие с заказчиком и исполнителями
Сейчас есть довольно большое количество различных методик (agile, scrum и т.д.). Мы не будем рассматривать ведение проекта в контексте какой-либо методологии. Я просто опишу наше видение, как надо вести проекты. Что-то может пересекаться с известными методологиями, что-то – нет. Поэтому при прочтении прошу не сравнивать с другими подходами ведения проекта.
Какие проекты мы будем рассматривать в книге?
В первую очередь, это те проекты, которые мы сами разрабатываем. Это сайты и веб-приложения со своей специфической бизнес-логикой, которые требуют разработки на заказ. Т.е. это, например, CRM, в которой автоматизируются сложные бизнес-процессы, либо интернет-магазин с нетипичной функциональностью, либо агрегатор-биржа по какой-то отрасли. В общем, все то, что не подпадает под стандартные CMS. Подобные проекты отличаются от потокового создания визиток в первую очередь тем, что здесь гораздо больше неизвестных переменных: сложность модулей, программисты и их навыки, изменчивые требования и т.д.
Другой момент, мы не рассматриваем большие проекты со стоимостью выше 1-2 млн. рублей. У меня нет опыта разработки подобных проектов и думаю там есть значительные отличия. В первую очередь в том, что надо учитывать значительно больше интересов разных сторон. Важный момент – при увеличении размера проекта сложность его ведения увеличивается непропорционально. Т.е., чем больше объектов задействовано в проекте, тем сложнее всем этим управлять, и зависимость сложности от количества нелинейная.
Возможно, те, кто далек от мира разработки сайтов и веб-приложений, сочтут, что это чтиво не для них. Специально для вас, вся наша жизнь – это продвижение от одного проекта к другому: поездка на отдых, уборка квартиры, свидание, устройство на новую работу, открытие своего бизнеса, разработка сайта, – все это проекты. Воспринимайте все, что вы делаете для достижения определенных целей как проекты. Принимая такой контекст, примените эту книгу для достижения своих целей. Мы не будем рассматривать в книге постановку целей (цель в наших проектах – сделать сайт). Вы сами можете их определить и прорабатывать их в соответствии с принципами, заложенными в этой книге. Рекомендую вам начинать с одного проекта – иначе вы рискуете забросить это дело в середине пути, а это самый худший исход проекта.
Итак, давайте начинать. В первой главе мы изучим принципы, на основании которых мы ведем проекты.
Глава 1. Принципы ведения проекта
Принципы – это основа. Это фундамент. Всегда отталкивайтесь от принципов, а не от правил, ограничений, прихотей заказчика и т.д. Принципы – это компас. В любую непогоду он выведет вас на нужный путь. Следуя четким принципам, вы снижаете риски принятия неверных решений. Принимая сложное решение, всегда спрашивайте себя, а как это соотносится с вашими принципами? В общем, вы меня поняли – в ситуации неопределенности действуйте согласно принципам, а не каким-то другим соображениям.
Очень важно, чтобы вся команда действовала по одинаковым принципам и ценностям. Если это не так, то начинаются трение и недопонимание.
Конечно, со временем принципы меняются. Что-то оказалось неэффективным, что-то мы узнаем новое и пробуем. Давайте разделим все принципы на основные и дополнительные. Основные имеют приоритет и раскрывают ваши основные ценности. У каждой команды они могут быть разные. Важно, чтобы внутри команды было согласие по ним.
Здесь я приведу наши принципы работы. В вашем случае они могут быть совсем другие. Вы сами должны определить для себя свои принципы.
Основные принципы ведения проектов
Лучше делать быстро, чем медленно.
Мы всегда стараемся оптимизировать по времени наши действия на проекте. Я бы условно разделил людей на “тугодумов” и “скорострелов”. Так вот мы – “самострелы”. Скорость выполнения для нас – приоритет. Конечно, не всегда это получается, и у нас бывают простои и задержки. Но мы работаем над этим, и скорость выполнения работы очень важна для нас.