Инструменты не создаются сами по себе, как самоцель, они нужны для облегчения выполняемой работы. Это обстоятельство важно учитывать при выборе инструментов. Благодаря правильно подобранным инструментам обеспечивается возможность более тесного сотрудничества. В результате становится возможным переход от написания и поддержки программ одним человеком к созданию программ несколькими людьми и даже командами. А написанные ранее программы могут восприниматься и поддерживаться разными командами даже несколько лет спустя.
Зачастую при обсуждении инструментов в центре внимания оказывается программное обеспечение. Обговариваются используемые языки программирования, интегрированные среды разработки, текстовые редакторы, оболочки, решения по управлению конфигурированием или программы чата. Но инструменты – это нечто большее, чем программное обеспечение. По сути, это все, что помогает нам достичь цели, но само не потребляется в процессе достижения цели. В следующем перечне приводятся примеры инструментов.
• Подъемная тележка сервера позволяет снизить травматизм и ускорить работы по техобслуживанию в центрах обработки данных.
• Меньший по размерам и более легкий ноутбук облегчает вашу жизнь во время поездок на конференции и посещения центра обработки данных.
• Выбор аппаратного RAID-решения обойдется вам дороже (по сравнению с программным RAID-решением), но зато даст такие преимущества, как возможность аварийного электропитания от батарей и более легкое техобслуживание.
НАИЛУЧШИЙ ИНСТРУМЕНТ
Не существует двух одинаковых инструментов. Всем им присущи разная ценность и накладные расходы. Если бы это было не так, нам бы не пришлось писать эту главу. Вы бы просто могли выбрать инструмент в соответствии с предъявляемыми ему требованиями. Даже среди инструментов, которые совершенно справедливо рассматриваются в качестве ключевых, например инструменты по управлению конфигурацией или инструменты контроля исходного кода, одни лучше подходят для конкретной среды, а другие хуже.
Применяемый набор инструментов может изменяться в зависимости от вашего опыта, знаний и процессов. Это означает, что команды могут использовать один и тот же инструмент, но получать при этом совершенно разные результаты. Инструменты должны соответствовать контексту окружающей среды. Не существует самого лучшего в мире инструмента вне контекста, а сам контекст постоянно изменяется.
Если инструмент должен широко адаптироваться и применяться для реализации успешных изменений, он должен быть приспособлен для решения реальных проблем. Поскольку в процесс принятия решений, относящихся к данному инструменту, вовлечены люди, нужно уметь обнаруживать, понимать и решать их разочарования и проблемы.
Понимание реальных базовых проблем, которые могут быть решены с помощью инструментов, позволит нам в целом выбрать правильные решения, а также полностью осознать сложности, возникающие в работе. Благодаря такому пониманию мы можем минимизировать эти сложности и любой связанный с ними риск, что, в свою очередь, поможет сократить накладные расходы и сосредоточиться на нужных областях.