1.7.3. Внутренние факторы


Практически все характеристики, существенные с точки зрения использования технологии можно объединить в понятии ее качества. Можно попытаться определить качество технологии по аналогии с качеством программного обеспечения, используя целостный подход, включающий рассмотрение всех важных аспектов.

1. Функциональность. Этот аспект определяет, какие задачи технология решает. Он включает ее пригодность к выполнению определенных работ, степень правильности получаемых результатов, возможность решения других, побочных задач.

2. Эффективность. Этот аспект качества показывает, как соотносятся ресурсозатраты на внедрение и использование технологии с выгодами от ее применения. Он включает отношение прямых и косвенных выгод от использования технологии, к затратам на обучение персонала, на приобретение необходимой аппаратуры и ПО, время окупаемости внедрения технологии, итоговое повышение производительности труда при решении с помощью данной технологии задач определенного вида, и пр.

3. Удобство использования. Этот аспект показывает, насколько легко технология осваивается и применяется, каковы трудозатраты на решение определенных задач при работе по этой технологии. Основной момент, на который следует обратить внимание при рассмотрении этого аспекта — удобство использования технологии включает как удобство ее использования конечными пользователями, так и управляемость, т.е. удобство контроля и управления проектами, использующими эту технологию. Кроме того, здесь необходимо учитывать затраты на обучение обеих категорий пользователей — конечных пользователей технологии и менеджеров проектов, в которых она применяется, а также, возможно, руководителей более высокого ранга, которым может потребоваться новое понимание процессов, происходящих в их организации.

4. Гибкость. Этот аспект отражает возможность использования технологии в разных условиях, в частности, в разных проектах, организациях, культурных средах, с разным персоналом, с разными инструментами, в сочетании с различными другими технологиями и техниками, с разным масштабом задач — для проведения небольших мобильных проектов или для проведения огромных, ресурсоемких проектов с вовлечением большого количества людей.

5. Модифицируемость. Этот аспект определяет, насколько легко технологию приспособить для решения других задач, добавить к ней новые возможности.

6. Добротность, надежность. Этот аспект качества связан с вероятностными характеристиками технологии, показывающими распределение «плохих» ситуаций, недостатков технологии с точки зрения всех остальных, перечисленных ранее аспектов. a. Какова вероятность неуспешного применения технологии на заданном отрезке времени с заданными характеристиками проекта, персонала, менеджмента, организации в целом? b. Каков возможный разброс характеристик эффективности в заданных условиях? c. Каков возможный разброс требуемого времени на обучение, ресурсов, затрачиваемых на внедрение технологии, какова вероятность неуспеха при обучении технологии?
d. Каково соотношение между затратами на сочетание технологии с изменяющимися внешними условиями, возможными выгодами от полученного результата и вероятностью неуспешного исхода? При каких ограничениях на изменения внешних факторов вероятность успеха и получаемые выгоды находятся в определенных границах? e. Каково соотношение между затратами на изменение технологии, возможными выгодами от полученного результата и вероятностью неуспешного исхода? При каких ограничениях на возможные модификации технологии ресурсозатраты и вероятность успешного использования результата находятся в определенных границах? 

Даже такое весьма поверхностное рассмотрение качества технологии в целом позволяет выделить ряд типичных проблем, создающих трудности при попытках внедрить новую технологию разработки ПО. Соответственно, появляется возможность указать пути решения этих проблем.

1. При разработке технологии обычно основное внимание уделяется аспекту функциональности, в ущерб другим аспектам качества, из которых для пользователей особенно важны удобство использования и эффективность. Понятно, что на первых этапах разработки технологии ее функциональности должно быть уделено основное внимание. Но как только она становится способной решать поставленные перед ней задачи, требуется серьезная проработка вопросов удобства использования и эффективности, без решения которых разработку нельзя считать завершенной, а саму технологию нельзя признать «пригодной для внедрения». Адекватный подход к созданию удобных в использовании наукоемких технологий возможен на основе синтеза технического и гуманитарного знания, привлечения к проработке вопросов удобства использования и обучения достижений современных эргономики, педагогики и наук, занимающихся изучением процессов формирования новых знаний и умений у людей. Иногда разработка технологии ведется с прицелом на решение достаточно общих проблем, и она выглядит слишком громоздкой для решения достаточно простых задач, которые, тем не менее, часто встречаются на практике. В этом случае стоит подумать о возможности использовать технологию в облегченном режиме, позволяющем справляться с такими задачами, не затрачивая лишних усилий. При наличии таких возможностей удобство использования технологии явно возрастает. Кроме того, следует уделить большое внимание управляемости технологии, особенно если она оказывает значительное влияние на показатели общего хода проекта, например, изменяет распределение трудозатрат на различных этапах, делает непригодными использующиеся метрики производительности труда, качества и степени готовности результатов проекта. Для этого надо четко осознать, какие изменения технология вносит в привычную картину проекта и предложить для использования новые метрики, позволяющие менеджерам адекватно отслеживать положение дел в проекте и качество его результатов в новой ситуации. Необходимо также разработать эффективные методы борьбы с основными возникающими в проектах рисками, особенно с теми, возникновение которых становится более вероятным при использовании новой технологии.

2. Оценки эффективности и гибкости новой технологии обычно очень ненадежны в глазах ее будущих пользователей. a. Во-первых, они получены в «тепличных» условиях, в проектах, которые проводятся силами высококвалифицированных сотрудников, часто являющихся авторами технологии и с трудом отделяющих саму технологию от прагматичного использования всего, что только может помочь в решении поставленных задач; b. Во-вторых, они часто основываются на очень небольшой выборке проектов. Принятым способом оценки эффективности технологии является определение ее коэффициента окупаемости инвестиций (return of investment, ROI). Стандартной методики оценки ROI не существует — для разных технологий должны учитываться разные детали и показатели проектов. Но методика оценки ROI для данной технологии должна быть разработана, иначе руководство организации, в которой проходит внедрение, не получит значимых аргументов в пользу эффективности технологии. Кроме того, следует проводить как можно больше различных проектов, нащупывая область применимости технологии и измеряя показатели ее эффективности. При этом должен быть хорошо организован сбор различных метрик, позволяющих оценить состояние проекта и качество его результатов. Кроме традиционных метрик надо собирать и упомянутые выше новые, позволяющие более адекватно оценивать обстановку в новых условиях. Наконец, стоит активно привлекать представителей организаций, в которых проводится внедре-ние, для участия в таких проектах. Нужно проводить пилотные проекты в рамках этих организаций, с привлечением их служащих, с тем, чтобы продемонстрировать жизнеспособность технологии в той среде, где ей предстоит работать.

3. Руководство и персонал организации, в которой проходит внедрение, должны иметь возможность удостовериться в оценке не только эффективности, но и других характеристик технологии. Для этой цели чаще всего используются истории уже прошедших внедрений, представляющие мнение служащих организаций, где внедрение проводилось прежде. Кроме того, можно обратиться к независимым техническим специалистам в данной области, чтобы они дали свою оценку качества технологии.

В целом, разработчикам новой технологии, переходящим к попыткам ее внедрения, стоит еще раз внимательно оценить все перечисленные выше аспекты качества технологии, может быть, с привлечением независимых экспертов. Если при этом обнаруживаются серьезные дефекты и недоработки, связанные с нефункциональными характеристиками технологии, их надо устранить, модифицируя саму технологию, до попыток ее внедрения.

Кроме того, если технология влияет на стиль и методы руководства проектами и организациями, еще до внедрения она должна иметь дополнительные наработки, связанные с обеспечением ее хорошей управляемости — дополнительные метрики качества продуктов и процессов, показатели состояния проектов, методы преодоления возникающих рисков и т.д.

Оценки нефункциональных характеристик технологии должны быть подкреплены не только намерениями разработчиков сделать ее эффективной, удобной, гибкой и пр. Хорошо иметь набор достаточно различных примеров проектов, в которых технология действительно проявила все эти свойства. Здесь, правда, возникает некоторый порочный круг — для успешного внедрения технология уже должна иметь историю успешных внедрений. Но разорвать его можно, используя разнообразие примеров, пилотные проекты, вовлечение независимых разработчиков и представителей заинтересованных организаций в небольшие проекты, в рамках которых эта технология применяется.