Размер шрифта
-
+

Справочник IT-рекрутера. Архитектор программного обеспечения – Chief Software Architect (CAS) - стр. 20

   3. Программы передачи знаний: CSA разрабатывает программы передачи знаний, чтобы обеспечить понимание разработчиками новых технологий и методологий, способствуя формированию культуры непрерывного обучения.

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

Управление Техническим Долгом

Управление техническим долгом является важнейшей обязанностью главных архитекторов программного обеспечения (CSA), поскольку это напрямую влияет на качество программного обеспечения, «ремонтопригодность» и масштабируемость с течением времени. Вот подробный обзор того, как CSA управляют этим аспектом.

Выявление Технической Задолженности

   1. Аудиты кода: Регулярные аудиты кода необходимы для выявления областей, в которых накопилась техническая задолженность – анализ сложности существующих кодовых баз для выявления недостатков или устаревших компонентов.

   2. Инструменты мониторинга производительности: Использование инструментов мониторинга производительности помогает выявить узкие места и неоптимальные методы кодирования, которые со временем приводят к увеличению затрат на обслуживание.

   3. Оценки рисков: CSA проводит оценку рисков путём оценки потенциального воздействия на надёжность системы, уязвимости в системе безопасности, проблемы соответствия требованиям, связанные с технической задолженностью.

Расстановка приоритетов

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

   2. Анализ затрат и выгод: CSA проводит анализ затрат и выгод для решения различных типов технической задолженности, сопоставляя немедленные исправления с долгосрочными выгодами.

   3. Системы определения приоритетов: Разработка систем определения приоритетов (например, с использованием метода «Одолженных часов») помогает классифицировать и ранжировать задачи на основе срочности и воздействия – это гарантирует, что первоочерёдные задачи будут решаться в первую очередь.

Рефакторинг

   1. Инкрементный подход: CSA выступает за инкрементный рефакторинг, при котором вносятся небольшие изменения для улучшения качества кода без нарушения текущих операций.

   2. Проверки кода: Внедрение строгих процессов проверки кода помогает поддерживать чистые стандарты кодирования и предотвращать накопление новой технической задолженности на этапах разработки.

   3. Внедрение шаблонов проектирования: Поощрение разработчиков к использованию установленных шаблонов проектирования обеспечивает модульность, возможность повторного использования и ремонтопригодность – это снижает сложность с течением времени.

Непрерывный Мониторинг

   1. Инструменты автоматического обнаружения: Интеграция автоматизированных инструментов для обнаружения частей кода или потенциальных областей технической задолженности помогает постоянно поддерживать чистую кодовую базу.

Страница 20