Почему они делают что-то, что причиняет тебе боль?


Иногда это больно, это не значит, что это плохо!

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

Одной из таких тем является дискуссия о прививках. Хотя я не собираюсь приводить подробности по каждой из сторон мнения, была одна цитата, которую я слышал от врача, когда говорил с пациентом о том, что он не хочет делать прививку. Доктор в основном спросил: «Почему они делают что-то, что причиняет тебе боль?»

Вам также может понравиться: Как писать программное обеспечение: 5 уроков, извлеченных из ведения бизнеса

Услышав этот вопрос, я остановился. Не потому, что я думал, что она на 100% права, а с выводом доктора, что ничего плохого не может случиться с добрыми намерениями. Это напомнило мне пару примеров из жизни, с которыми я столкнулся в своей карьере.

SQL-запрос ушел неправильно

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

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

Худший случай этой ситуации, когда неожиданные результаты не были обнаружены сразу. Фактически, только после того, как многочисленные транзакции были выполнены с базой данных, проблема обнаружена.

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

Конечный результат привел к простою приложения.

Используя подход врача, это будет похоже на то, как конечные пользователи спрашивают: «Почему человек отправляет изменение, которое может привести к сбою нашей системы?»

Обновления, которые сломали другое приложение

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

Было предпринято очень много попыток, в том числе разборки сессий, но мы неизбежно столкнулись с проблемами, потому что действия одной команды противоречили потребностям другой. В большинстве случаев это были небольшие проблемы, которые просто вызывали незначительные обновления, когда-то обнаруживались.

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

Особые команды, которые занимались изменением финансовых позиций, были в курсе того, что происходило. Любые интеграции, которые они имели в своем бэклоге, были представлены до тех пор, пока не был создан новый дизайн.

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

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

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

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

Если бы врач был пользователем приложения, я думаю, что она первой спросит: «Почему они намеренно нарушают мое приложение?»

Вывод

Комментарий доктора заставил меня сделать паузу, потому что вероятность того, что кто-то намеренно сделает что-то, что причинит вред одному или нескольким людям, очень мала. Независимо от своей точки зрения на эту оригинальную тему вакцинации, я думаю, что разочаровывает то, что доктор сделал это замечание – как будто чтобы заставить пациента принять точку зрения доктора.

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

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

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

Хорошего дня!

Дальнейшее чтение

ИТ-уроки не только усвоены в офисе

Год непрерывного развертывания: извлеченные уроки

Учитывая офшоринг? Учтите эти уроки