вторник, 11 июля 2017 г.

Практики организации разработки ПО мирового класса

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

Тем не менее, дизайн приложения возможен только при условии выполнения целого ряда условий и практик, выполнение которых обязательно до того момента, когда настает время задуматься о дизайне приложения.

Неплохой набор условий перехода к разработке приложений мирового класса был изложен в статье, выдержки из которой приведены ниже.

Кое-что из статьи "Руководство для разработчиков программного обеспечения", опубликованной МакКинзи.
An executive’s guide to software development

15 практик, которые позволять определить организацию разработчиков мирового класса.


Ниже приводится перечень факторов с некоторым отступлением от буквального перевода английского текста. Перевод дается с учетом контекста.

  • Структура решений, которые управляют стратегическими решениями.
    • Миграция решений в облако
    • Выбор платформы, определяющийся четырьмя ключевыми факторами:
      • коммерческие факторы, в главном это расходы на платформу;
      • простота использования, включая быстрый доступ и возможности управления платформой;
      • особенности платформы: архитектура платформы, сложность данных, гибкость обеспечения согласованности;
      • суверенитет данных: размещение данных в местах, разрешенных законами соответствующего государства.
    • Микросервисы, контейнерная архитектура
  • Практика управления программным решением включая концептуализацию и дизайн программного решения.
    • Высокое качество управления разработкой программного решения.
    • Ориентированный на пользователя дизайн программного решения.
  • Практика разработки продукта.
    • DevOps (акроним от англ. development и operations) — набор практик, нацеленных на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. Базируется на идее о тесной взаимозависимости разработки и эксплуатации программного обеспечения, и нацелен на то, чтобы помогать организациям быстрее создавать и обновлять программные продукты и сервисы. Непрерывная разработка, непрерывная интеграция.
    • Автоматизация тестирования и разработки тестов.
    • Архитектура на основе использования интерфейсов прикладного программирования (API).
    • Производительность и качество.
  • Доступность элементов планирования и исполнения операций. Организациям требуется набор определенных функций и практик, которые не относятся к техническим вопросам создания ПО, но необходимы для создания эффективного программного обеспечения.
  • Портфолио-менеджмент и управление расходами и доходами на создание ПО.
  • Управление талантами.
  • Управление безопасностью и управление рисками.
Дело в том, что C-уровень (управляющие директора)e должен играть более активную роль в разработке программного обеспечения и делать соответствующие инвестиции в создание практик разработки программного обеспечения мирового уровня в своей организации. 

Комментариев нет:

Отправить комментарий