Две ценности программного обеспечения

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

Невозможно сделать правильный выбор без знания о последствиях
Невозможно сделать правильный выбор без знания о последствиях

Поведение

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

Структура

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

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

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

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

Ошибки накапливаются
Ошибки накапливаются

Наибольшая ценность

Что ценнее, поведение или архитектура? Что важнее - правильная работа системы или простота ее изменения?

Я полагаю, что большинство из вас выберет ответ - поведение. Но так ли это на самом деле? Давайте рассмотрим два логических умозаключения:

  • Если правильно работающая система не допускает возможности ее изменения, она перестанет работать, когда требования изменятся. И вы не сможете заставить ее работать правильно. Программа станет бесполезной.
  • Если программа работает неправильно, но легко поддается изменениям, вы сможете заставить ее работать правильно и поддерживать ее работоспособность по мере изменения требований. То есть, программа будет оставаться полезной.

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

Если спросить представителя бизнеса, хотел бы он иметь возможность вносить изменения, он безусловно ответит, что хотел бы. Но тут же он может уточнить, что текущая работоспособность для него важнее гибкости в будущем. Однако, если руководитель в будущем попросит внести изменения, а затраты на эти изменения окажутся несоизмеримо высокими, он почти наверняка будет недоволен тем, что разработчики довели систему до такого плачевного состояния.

Заключение

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

О том, как выглядит добротная, чистая архитектура, позволяющая разработчикам создавать системы, способные приносить прибыль компаниям долгое время, я рассказываю в своем телеграм-канале solonkov.team. Там же вы сможете задать интересующие вас вопросы и заказать консультацию.

1313
2 комментария

Отличная статья)

1

Сергей, спасибо за комментарий!
Завтра выйдет следующая!

Видео выходного дня: глава Meta* Марк Цукерберг танцует и поёт в блестящем голубом комбинезоне

Предприниматель выступил на дне рождения супруги, позже написав: «Жене бывает 40 только раз».

1212
22
11
реклама
разместить
Французская Waiting For Ideas представила виниловый проигрыватель из цельного алюминия за €5800

PP-1 изготавливают на заказ, ждать нужно около 12 недель.

Waiting For Ideas
66
33
22
Мужчина купил на меркетплейсе телевизор за 500 рублей, но продавец отказался отдать его. И даже суды не сразу решили, кто прав

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

Мужчина купил на меркетплейсе телевизор за 500 рублей, но продавец отказался отдать его. И даже суды не сразу решили, кто прав
11
Власти Бали изучают возможность ввести туристический налог по примеру Бутана — $100 за каждый день пребывания

С 2024 года на острове действует разовый туристический сбор в 150 тысяч индонезийских рупий ($10).

Власти Бали изучают возможность ввести туристический налог по примеру Бутана — $100 за каждый день пребывания
1212
11
11
Как быстро меняются настроения на Бали от «пожалуйста приезжайте, мы тут с голоду без туристов помираем» до «по $100 в день за честь быть на нашем острове, а так то вы тут нафиг не нужны». Жил на Бали почти год, на мой взгляд ничего на $100 в день просто за визу остров предложить не может
День 1102: ЦБ «жёстко настроен» на возвращение инфляции к цели в 4%

Собираем новости, события и мнения о рынках, банках и реакциях компаний.

Источник фото: РИА Новости
2727
11
11
11
11
ЦБ вечно прогнозирует и каждый раз жидко... ошибается. Но в царстве иллюзий и 2% инфляция может быть.
В Роскомнадзоре опровергли доступность YouTube в России

28 февраля 2025 года некоторые пользователи писали, что сервис загружается «без проблем».

Источник фото: TechCrunch
2323
55
11
Без впн пол инета уже не работает, вообще не отключаю, и проблем не вижу.
5 антипаттернов тимлида: как эффективно демотивировать свою команду

В этой статье Олеся Якубова, Agile-коуч и эксперт ScrumTrek, собрала главные ночные кошмары тимлида = антипаттерны, которые убивают мотивацию и создают хаос в команде, а еще она рассказывает, как это починить с помощью разных техник и инструментов.

5 антипаттернов тимлида: как эффективно демотивировать свою команду
33
В России вступил в силу закон о самозапрете на выдачу кредитов и займов
2222
1515
66
33
11
11
Потужные, как всегда, в хорошем пытаются разглядеть и выискать что-то плохое:)
[]