Мэри Шеклет, президент консалтинговой компании Transworld Data, поделилась с порталом InformationWeek несколькими советами, которые помогут улучшить поддержку ПО и тем самым высвободить время для разработки нового софта.
В 2019 г. компания Tidelift, которая занимается поддержкой и сопровождением ПО на базе Open Source, провела опрос среди разработчиков, который показал, что они тратят на создание нового кода около трети своего времени (32%), тогда как сопровождение софта отнимает у них 35% времени. Исходя из опыта консультирования, можно сказать, что время, затрачиваемое на обслуживание софта, составляет около 50%. В любом случае, оно отнимает у организаций то время, которое в противном случае они могли бы использовать для работы над новыми проектами и добиваться поставленных целей. Так или иначе, поддержка ПО — созданного собственными усилиями или унаследованного — объективная реальность и от нее не уйти.
Поддержка в трактовке Economic Times является «частью жизненного цикла разработки ПО. Его основная цель — модификация и обновление программных приложений после доставки для устранения ошибок и повышения производительности. ПО — это модель реального мира. Когда реальный мир меняется, меняется, где это возможно, и сам софт». Так какие же шаги нужно предпринять предприятиям, чтобы сделать обслуживание ПО более эффективным?
1. Слушайте, что вам говорит ваша служба поддержки
Никакая другая служба в ИТ не может лучше контролировать производительность приложений, чем служба поддержки. По роду своей деятельности она вынуждена реагировать на вопросы и проблемы пользователей. Работающие в ней специалисты знают о том, какие приложения наиболее проблемные и почему. Если бы большинство ИТ-команд в ходе мозговых штурмов при разработке приложений и оценке производительности руководствовалось собранной службой поддержки информацией, им было бы гораздо проще выявлять проблемные области и сбои в работе приложений, чтобы или исправить их, или вывести из эксплуатации, заменив другим решением. Не менее важно и то, что изучение собранных специалистами техподдержки данных о проблемных точках приложений позволит избежать тех же ошибок при разработке нового ПО.
2. Подключите QA
Во многих организациях разработчикам приходится укладываться в сжатые сроки, что вынуждает их переправлять свою работу тестировщикам (quality assurance, QA) в самую последнюю минуту, поэтому прежде чем приложение будет развернуто в рабочей среде, оно проходит только выборочное тестирование. В итоге это может вылиться в недели частичной утраты программой работоспособности, на протяжении которых разработчикам придется столкнуться с отчетами об ошибках и заняться их поиском с последующим устранением при помощи апдейтов или временных решений. Время послепроизводственного обслуживания ПО можно значительно сократить благодаря тщательному предварительному тестированию приложений на предмет их соответствия техническим нормам, возможностям интеграции и удобству применения. Чтобы облегчить задачу с QA, к ней должны подключиться руководители проектов, выделив адекватное время, которого бы хватило для устранения максимального количества багов и недоработок.
3. Подумайте о переходе в облако
Организациям, работающим с онпремисным унаследованным ПО, которое далеко не всегда поддерживается его поставщиком, целесообразно подумать о переходе в облако. Применение облачной версии ПО с поддержкой облачного провайдера позволит отказаться от софта, которому требуется «бесконечное» обслуживание. С одной стороны, в этом сценарии клиент не беспокоится об обслуживании софта, но, с другой, он теряет контроль над ситуацией, позволяя поставщику вносить в софт изменения или добавлять улучшения тогда, когда ему заблагорассудится. Для многих компаний удобство работы с облачным софтом перекрывает недостатки, поэтому они мирятся с ними.
4. Если софт больше не окупается — избавьтесь от него
Почти у всех организаций имеется унаследованная система, которая больше не приносит выгод. В этом случае самое время подумать о выводе ее из эксплуатации методом «rip and replace» («выдрать с корнем и заменить»). Этот метод применяется, когда новую систему не нужно интегрировать с другим работающим ПО и основную работу по ее обслуживанию можно переложить на поставщика.
5. Всегда проводите тест на регрессию
Ситуации, когда сроки сдачи проекта поджимают, — не редки, и это как раз тот случай, когда недальновидные компании игнорируют некоторые тесты качества. Одним из наиболее важных из них является тест на регрессию. Его суть заключается в том, что какое-то приложение, в которое были внесены изменения, переносится в имитируемую производственную среду, чтобы протестировать его работу с другими приложениями и вызываемыми подпрограммами. Если регрессионное тестирование проигнорировать, повышается риск того, что или само модифицированное приложение окажется неработоспособным, или оно из-за ошибки в коде приведет к выходу из строя другие части системы. Как следствие, если новое приложение не протестировать, то это может привести к поломке систем и вызвать перебои в обслуживании.
6. Используйте для установки новых версий ПО стандартную процедуру
Независимо от того, идет ли речь о патче безопасности, обновленных функциях или внесении изменений в функции, установка обновления должна быть максимально унифицированной и стандартизированной для всех устройств, на которых оно будет работать. Это придает процессу обновления ПО организованность и снижает нагрузку на службу техподдержки и команды обслуживания, особенно это актуально в ситуации, когда обновления выходят нерегулярно, а сами устройства работают с различными версиями ПО.
7. Оптимизируйте работу своей команды, которая занимается поддержкой ПО
Существуют люди, которым нравится заниматься сопровождением ПО, и за это их следует поощрять и вознаграждать. Поддержка ПО — отличное средство начать карьерный рост для «новобранцев», которое дает возможность получить полное представление о различных системах, которые работают в компании. Эти знания принесут пользу независимо от того, будут ли они по-прежнему заниматься поддержкой софта или же перейдут на другую должность в ИТ-департаменте.