|
Вадим Бородин
21 августа 2014
|
Я программирую сайты, поэтому в моём управлении проектами будет много умных слов и умеренной бюрократии.
Для работы с кодом использую Гит на Гитхабе, для планирования — Трелло.
С Гитом лучше всего работать, придерживаясь методологии «гит флоу» (http://nvie.com/posts/a-successful-git-branching-model/). Эта модель идеально подходит, когда работаешь короткими итерациями и живой сайт всё время подпитывается свеженаписанным кодом, но ломать ничего не нужно. Вкратце:
В репозитории создаются две постоянные ветки — master и develop. Master — это чистовик, он лежит на хостинге и отдаётся «в мир». Develop — черновик. Это внутренняя версия сайта, в которую разработчики вливают все новые фичи. Когда develop отполирован до приемлемого состояния, его заливают в master. Напрямую в master писать нельзя (на самом деле иногда можно).
В свою очередь, в develop напрямую писать тоже нельзя. Все правки к сайту оформляются в конкретные задачи — например, «сделать шапку» или «сделать, чтобы логин кириллицей не ломал сайт». Чтобы правки, относящиеся к разным задачам, не смешивались и не запутывали команду, над каждой отдельной задачей работают в отельной ветке, которую называют таким образом: feature/header или feature/cyrillic-login. Когда задача сделана, на Гитхабе создаётся пуллреквест (запрос на то, чтобы залить изменения в develop). Приходит другой программист и проверяет, что всё хорошо, а затем заливает задачу в develop.
В Трелло каждой задаче соответствует карточка, а карточке соответствует feature-ветка в Гите.
Есть такое дополнение к браузеру «Скрам для Трелло»: https://chrome.google.com/…trello/jdbcdblgjdpmfninkoogcfpnkjmndgje (https://chrome.google.com/webstore/detail/scrum-for-trello/jdbcdblgjdpmfninkoogcfpnkjmndgje)
Не знаю, как это дополнение помогает скрамщикам (я в Скраме не смыслю), но суть его в том, что каждой карточке теперь можно поставить число, а сверху в заголовке колонки выведется сумма этих чисел.
Так, например, каждую карточку можно оценить некой единицей трудозатрат. Я оцениваю в децинеделях — это одна десятая того, что я в силах сообразить за рабочую неделю. Если вся команда договорится о такой единице, то можно говорить о том, какое количество таких единиц команда может произвести за один интервал и всё ли успевается.
Проект в Трелло я делю на несколько колонок. Задача начинает жизнь в самой первой колонке, по ходу выполнения перемещается одна за другой к последней. Колонки такие: — идеи задач (то, что можно предложить ответственному за проект, например, «сделать регистрацию через Вконтакт»); — задачи, по которым стало ясно, что их надо делать; — задачи, по которым стало ясно, что их надо делать и сколько децинедель они отнимут; — задачи, которые надо сделать на этой неделе (тут нужно следить, чтобы децинедель не вышло больше, чем команда готова произвести); — задачи, над которыми уже идёт работа (соответственно, для неё уже есть feature-ветка в Гите); — задачи на проверку (для неё уже есть пуллреквест, если задача не прошла проверку, то она возвращается в предыдущую колонку); — проверенные командой задачи (feature-ветка залита в develop; дальше результат показывают клиенту; если он недоволен, создают новую задачу согласно его комментариям); — проверенные клиентом задачи, готовое к выкладке; — сделанные задачи: то, что уже лежит на живом сайте.
Получается такая себе мануфактура, в которой ничего не теряется и не ломается на пути к изготовлению хорошего изделия.
|
|
|
|