суббота, 26 ноября 2011 г.

Цифры

Некоторые выводы:

Цифры/сроки

От 20% до 50% времени уходит на активности "около работы". Т.е. если эстимейт предполагает на 1 мес. разработки, то все может затянутся на 2 календарных месяца.


Зависимость кол-во оверхедов от длинны проекта не линейная. Если проект маленький - оверхеды маленькие. Скорее всего потому, что к проекту относятся как к чему то временному и не существенному.
Если проект средний (12-18 ес), то оверхед просто громадный. Объем работ не сильно большой, а подготовка/бюрократия уже "не детская" (тяжеловесные подходы к организации процессов).
Если проекты большие, то оверхеды начинают теряться в общей массе (по появляются др. моменты, связанны с "затяжными прыжками").


Напряженная работа начинает напрягать где то к концу 2-3 недели. Появляется дискомфорт и чувство усталости. Ритм 2 недели "по полной", потом неделя "на расслабоне" дает неплохие результаты.

Овертаймы начинают чувствоваться к начал след. недели. 5 дней + овертаймы + еще пару дней - еще можно работать. Далее начинается спад продуктивности, внимательности и т.д. Как можно работать 5-7 недель без выходных - для меня загадка...


Общение с заказчиком


Отсутствие обратной связи от заказчика, начинает напрягать уже к концу 2-го релиза. ~1 недели молчания после поставки достаточно, чтобы команда немного напряглась. К 2-3 релизу это перерастает в легкую форму пофигизма.

В среднем, задержка полноценного фидбека может достигать 1 релиз. Делаем уже 5-й, а получаем окончательную информацию только по 3-му. Календарное время - примерно 1-2 мес.

Наверное стоит держать контекст фичь еще, как минимум 1 мес. после релиза. А лучше 2-3.

Акцент заказчика может оказаться самым неожиданным для вас. 70% вопросов задаются по "очевидным" для вас моментам. 25% по мутным и недостаточно документированным фичам, и 5% вопросов обращаются к по настоящему проблемным местам, которые не были известны вам.


коммиты/поток изменений


Самый большой барьер - начало.
Начало проекта. Необходимо приложить все мыслимые усилия, чтобы в начале проекта работа началась. Первые 10-20 коммитов очень важны. Нужно лить что угоно (струкру директорий, скелет проекта, шаиблоны и документу) - не важно, важно чтобы лед тронулся. Когда люди начинают работать с СВН и ВИКИ, то начинают появляться вопросы, начинаются шевеления и команда начинает движение вперед.
Начало релиза. В начале релиза наблюдается провал. Не такой громадный, как на старте проекта, но все же... Старое сделали, новое еще не начали. Что делать? Когда и с чего начинать? Главные и второстепенные цели этого релиза. Надо приложить максимум усилий, чтобы ответить на эти вопросы (и донести ответы до команды). Без этой информации наблюдается штиль. Возможно, лучшим вариантом было бы начать отвечать на эти вопросы уже в конце прошлого релиза (умным языком "начинать планировать следующий релиз, в конце ткущего"), но в реальной жизни небольших команд не всегда это получается. Релизы обычно довольно напряженные, основной фокус - поставка, а вопросы анализа и планирования как то теряются.


Максимум активности - середина и конец релиза. Середина - все на крейсерской скорости. Конец - все "в теме", и происходит куча небольших исправлений (допиливаний). Начало релиза - не совсем понятно с чего начинать и иногда требуется доработка дизайна.

суббота, 5 ноября 2011 г.

Русский в консоли

Печально, но до сих пор приходится ковыряться с проблемами локализации в Linux.
В Ubuntu (10.10, 11.04 и 11.10) в виртуальных консольках (tty1-6) не отображается русские буквы. Самый простой способ исправить:
sudo apt-get install console-cyrillic
dpkg-reconfigure console-setup
dpkg-reconfigure console-cyrillic
sudo nano /etc/rc.local

В конец, перед выходом, добавляем setupcon:
setupcon
exit 0

SUN/Oracle JDK + Ubuntu 11.10

В последней версии Ubuntu пакеты 'sun-java6' убрали из всех репозиториев. Есть 2 способа пофиксать эту проблемму (если OpenJDK по каким то причинам не подходит):

Manual

В ручную скачать установщик, установить его и зарегистрировать все что надо (см: здесь).
Способ чуть сложнее, но в результате получаем самую свежую версию (и более ясное понимание что и где лежит).

PPA repository

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin
sudo update-alternatives --config java

Способ заметно проще и быстрее, но последняя доступная версия 1.6.0_26.