Часть 1. Люди, организация и методы
Глава 5. Инструментальные программы
Посмотрим, как мы использовали ПО для устранения
проблем и неисправностей в NuMega.
Из собственного опыта
Когда я начинал работать в NuMega, «жучки» и другие
различные неисправности фиксировались на доске
(если вообще фиксировались). Они оставались там до
тех пор, пока не были исправлены, а затем их просто
стирали. Когда доска заполнялась полностью, новые
записи втискивали в утолок или, чтобы освободить место,
стирали другие ошибки. Эта система работала для
одного-двух человек, но истории работы над ошибками
не было.
С ростом организации становилось очевидно, что
нам требуется автоматизированное решение. Если бы мы
в то время не перешли к нему, то не смогли бы успешно
вырастить свою команду. Хотя поиск инструмента, спо-
собного решить наши проблемы, и не был сложен, спо-
соб его использования часто становился предметом спо-
ра. В конце концов мы выяснили, что для группы нашего
размера куда важнее выполнять на «отлично» всего не-
сколько функций, чем пытаться делать все, что мы можем
только представить.
Для всех ошибок — одно хранилище
У нас было простое правило: обо всех ошибках сообщать
системе устранения неполадок. Если их там нет, значит, их
не существует. Это здорово упростило управление мероп-
риятиями по исправлению ошибок. Сплетни, кулуарные
разговоры и сообщения электронной почты не годятся в
качестве методов протоколирования ошибок. Скажем, если
информация о неисправности приходит от службы техни-
ческой поддержки, управления продуктом, отдела продаж —
словом, от кого угодно, то эта информация не признавалась
официально до момента ее ввода в систему. С ростом ком-
пании большая часть работы по протоколированию оши-
бок ложилась на плечи службы технической поддержки, но
идея оставалась той же.
Как далеко это заходит? Значит ли это, что если у одного
разработчика возникла проблема с API, который реализо-
вал другой разработчик, то ее сразу же нужно запротоколи-
ровать? Вовсе нет. Разработчики могут решить проблему
друг с другом самостоятельно, и тогда ее не нужно прото-
колировать. Однако если решение проблемы займет неко-
торое время и требует наблюдения (что особенно важно),
то необходимо занести ее в систему и описать, чтобы не
забыть о ее существовании. Эти правила распространяют-
ся на всех членов команды и на все отделы.
Другое преимущество от протоколирования неполадок —
возможность отчитываться о них. Как здорово пойти на
текущее совещание с полным списком всех крупных непо-
ладок и людей, над ними работающих! Это эффективный
способ фокусировать внимание в процессе разработки на
важных вопросах. Заявивший об ошибке будет польщен
тем, что ее признали и она обсуждается. А тот, кто назначен
для ее разрешения, поймет, что теперь не отвертеться.
Управление изменениями
Как было сказано в начале этого раздела, процесс
управления изменениями может осуществляться при
помощи системы устранения проблем и неисправностей.
Так как все серьезные проблемы запротоколированы, вы
можете составить список необходимых исправлений. После
того, как по конкретной неисправности принято решение,
просто внесите информацию об исправлении в историю.
Возможность пересматривать прошлые решения и
причины их принятия — большой плюс. Это позволит
избежать отговорок типа «я не помню» или «кажется, меня
не было на том совещании». Все просто, понятно и под
контролем.
106
107