Столкнувшись с законом Мерфи о разработке программного обеспечения

Он близок к развертыванию, и внезапно начинается ад. Многое идет не так, и развертывание откладывается на последние минуты. Почему это происходит? Как инженеров нас учат всегда быть готовыми, но в считанные минуты развертывания все равно что-то идет не так.

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

Все, что может пойти не так, пойдет не так

Маленькая проблема ведет к большим проблемам

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

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

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

Подготовка к неожиданному

На самом деле это невежество второго порядка. Когда я говорю об этом, у меня есть очень интересная история. Когда я сказал, что нужно готовить неожиданное, меня спросили: «Что за неожиданное случится?». Это странный вопрос, поэтому я отвечаю: «Я не могу знать, что знаю, чего не знаю». Само определение неожиданного - это непредвиденные проблемы в будущем.

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



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

Шанс на обучение

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

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

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

Заключение

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