Общие соображения по архитектуре ПО или Пособие для Главного Плотника (часть 4: про менеджмент)
Третья часть здесь
Часть четвертая, небольшая, последняя про менеджерские трюки:
Одна из самых тяжелых ошибок, которые вы можете совершить, – сказать себе и команде: «Мы все взрослые, высокопрофессиональные специалисты, каждые делает свою работу и отвечает за нее, давайте не будем лезть в код друг друга, пока он работает».
Не знаю, как там у других (хотя финансовый кризис-2007 говорит, что у финансистов так же), а в нашем бизнесе чаще всего – «Мы – сборище опасных инфантильных маньяков, пишущих код, не приходя в сознание, и единственный способ убедиться, что код хоть как-то работает – каждому просматривать код каждого и иметь возможность код каждого члена команды изменить (если у того начнется сезонное обострение)». Звучит неприятно, но, увы, так оно и есть. Очень выпуклый пример, рассказанный человеком, пребыавшим в то время непосредственно в месте события.
Если бы на момент написания кодом владела менее узкая группа лиц, готов поспорить, библиотека была бы много проще и после ухода части людей продолжала бы развиваться.
Избегайте антипаттерна «Баба-Яга против». Если кто-то что-то делает по-своему, никого не слушает и всем недоволен, это значит, что:
1. у вас что-то придумано плохо, и ему реально неудобно;
2. он – свободный художник и «так видит»;
3. он в детстве хотел быть архитектором, а сейчас вы душите его инициативу;
4. еще какая-то ерунда.
В любом случае, надо этот вопрос как-то решить и не оставлять под проектом бомбу. Способы решения оставлю за кадром, т. к. они больше для менеджмента, чем для архитектуры.
Часть четвертая, небольшая, последняя про менеджерские трюки:
Совместное владение кодом
Одна из самых тяжелых ошибок, которые вы можете совершить, – сказать себе и команде: «Мы все взрослые, высокопрофессиональные специалисты, каждые делает свою работу и отвечает за нее, давайте не будем лезть в код друг друга, пока он работает».
Не знаю, как там у других (хотя финансовый кризис-2007 говорит, что у финансистов так же), а в нашем бизнесе чаще всего – «Мы – сборище опасных инфантильных маньяков, пишущих код, не приходя в сознание, и единственный способ убедиться, что код хоть как-то работает – каждому просматривать код каждого и иметь возможность код каждого члена команды изменить (если у того начнется сезонное обострение)». Звучит неприятно, но, увы, так оно и есть. Очень выпуклый пример, рассказанный человеком, пребыавшим в то время непосредственно в месте события.
Байка
Фирма Sun (которой теперь больше нет) делала платформу Java. И была в той платформе библиотека для создания Rich UI, называлась она AWT. Все было неплохо, однако сделать на AWT красивый современный интерфейс было можно, но на практике довольно сложно, поскольку AWT давал слишком уж низкий уровень взаимодействия с экраном. Sun наняли команду (работавшую на фирму Netscape, которой тоже больше нет), которая сделала им библиотеку Swing. У Swing есть свои проблемы, но она уже значительно лучше AWT. Проблема одна: Swing внутри устроена очень сложно, а команда, написавшая, ее больше на Sun не работает. В результате Swing существенно не развивалась и не улучшалась последние лет пять как минимум.
Если бы на момент написания кодом владела менее узкая группа лиц, готов поспорить, библиотека была бы много проще и после ухода части людей продолжала бы развиваться.
Баба-Яга против
Избегайте антипаттерна «Баба-Яга против». Если кто-то что-то делает по-своему, никого не слушает и всем недоволен, это значит, что:
1. у вас что-то придумано плохо, и ему реально неудобно;
2. он – свободный художник и «так видит»;
3. он в детстве хотел быть архитектором, а сейчас вы душите его инициативу;
4. еще какая-то ерунда.
В любом случае, надо этот вопрос как-то решить и не оставлять под проектом бомбу. Способы решения оставлю за кадром, т. к. они больше для менеджмента, чем для архитектуры.
Байка
В одной команде работал разработчик, который все время был чем-то недоволен, все время бурчал, жаловался, что «они все делают не так». При этом звезд с неба он не хватал. Получили ему как-то сделать форму для логина из трех полей: имя, пароль, экземпляр БД. Он сделал четыре поля. На вопрос начальника: «А почему так?» – ответил: «Ну, надо же мне как-то над собой расти». Ему высказали закономерные претензии по поводу качества исполнения работ, на что он послал начальника в пеше-эротический тур.
В чем была глубинная причина конфликта, не знаю. Но еще с армии твердо знаю: если подчиненный посылает начальника вдаль, то:
1. Если это происходит между ними двоими, еще можно решить конфликт воспитательными беседами.
2. Если это произошло на публике, либо одного, либо другого надо убирать из команды.
В тот раз все закончилось увольнением. Но, говоря по совести, меры приняли слишком поздно, ситуация была сильно запущена. То, что можно было вылечить антибиотиками, вылечили ампутацией.



комментарии (18)