Посмотрел давеча презентацию Craig Larman.
InfoQ: Collaboration Over Contracts in Agile “Offshore” Outsourced DevelopmentПервое, что понравилось, что он сумел в полтора часа вложить столько аспектов взаимодействия с offshore командами.
Сюда вошли и общие принципы agile и сугубо технические вопросы и даже типы payment.
Передаю горячий привет своему Project Manager. Андрей судя по всему твоя роль весьма сомнительная. И даже страдает Transparency. Дело вот в чем, исходя из того что Feadback мы слышим от Customer не так часто, а если и слышим то в основном положительные отзывы, то у нас или все хорошо или не совсем так, но в это верится с трудом, потому что РМ иногда приходит и говорит, а что нужно сделать чтобы вы работали в 2 раза лучше :) Craig говорит, что РМа не должно быть как такового и налаживать отношение должен Product Owner (PO) непосредственно с командой.
Где то на 44 ой минуте Craig говорил о тестировании и Acceptance Tests. Тут мне вспомнилась полемика с моим предыдущим тимлидом. Он говорил о том, что acceptance tests слишком долгие и их тяжело поддерживать. Одним из аргументов было то, что они неправильно написаны, но как мне кажется все зависит от сложности flow и проекта в целом. Единственное в чем я твердо уверен, так это то, что они должны делаться и максимальное количество из них если не все должны быть автоматизированы. Spec by Example вам в помощь. В конце концов это подтверждение того что вы имплементировали именно то, что от вас хотел заказчик.
Хорошо что Craig затронул тему о передаче знаний (Knowlage transfer). Это очень важно для offshore teams. Следует взять на заметку Domain and Vision Workshops. Потому как офшорные команды должны разбираться в доменной области и видеть big picture, иначе они превращаются обезьянок за клавиатурой.
Очень понравилась рекомендация не навязывать дизайн и архитектуру со стороны onshore. Давать возможность офшорным командам самим принимать решения в этих вопросах, иначе это очень разочаровывает. Ведь на самом деле предотвратить проблемный дизайн можно всегда с помощью Code Review и Design Workshop.
Напоследок, хочу отметить что Craig Larman удивительно всесторонне развитый и терпеливый человек и действительно имеет право давать такого рода рекомендации и мастер классы. У него богатый опыт как в управлении процессами, так и в непосредственной разработке программного обеспечения. Я это могу утверждать на основании того, что сам с ним 2 дня сидел вместе в паре и TDDировал :)