Site icon AppTractor

Скука в разработке — это прекрасно

Разработка программного обеспечения должна быть скучной

Униформа разработчиков программного обеспечения —  кардиган, тапочки и расслабляющая музыка.

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

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

Чем быстрее команды пытаются создать программное обеспечение, тем больше ошибок они делают и тем медленнее это происходит.

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

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

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

Волнение — предупреждение

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

Если разработчики работают всю ночь, значит, оценка неправильная, планирование неправильное или что-то еще пошло не так.

Ошибки и большие проблемы всех волнуют, и созывают экстренные собрания. Это плохо, разработчики не любят весь этот стресс и срывы.

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

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

Встречи и планы

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

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

Постоянное измерение стори поинтов и создание фич не измеряет прогресс создания программного обеспечения. Создание неправильного программного обеспечения выглядит как прогресс, но это не так.

Программное обеспечение, завершенное на 70%, ничего не значит, потому что последние 30% могут занять больше времени, чем первые 30%.

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

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

Что создает программное обеспечение, так это разработчики, пишущие код, тестировщики, тестирующие его, и пользователи, пробующие его. Этот цикл развития идет по кругу, пока не будет создано правильное программное обеспечение.

Короткие пути и спешка

Чем быстрее создается программный проект, тем больше ошибок делается.

Самые интересные события на проектах это:

Проблемы являются симптомами системы, которая работает неправильно. Дедлайн пропущен из-за того, что что-то пошло не так (неправильные требования, оптимистичные планы).

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

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

Следуйте за процессом

Подобно марафону, создание программного обеспечения — это неуклонное продвижение к цели.

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

Разработка программного обеспечения — это противоположность Trainspotting :-)

Вместо этого выберите:

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

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

Когда вы пропустите шаги, сэкономленное время будет потрачено на проблемы позже. Сегодняшние решения (плохой код) станут завтрашними проблемами (технический долг).

Вывод

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

Спешка или пропущенные шаги должны быть крайним средством, они позже создадут проблемы. У вас никогда не будет больше времени в будущем, у вас его будет меньше, потому что кодовая база становится все более сложной (и проблемной).

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

Exit mobile version