Представьте себе, что вы управляете программным проектом, где все на бумаге, график заблокирован, и вы ожидаете сборки с этой последней функцией, готовой к поставке, когда внезапно все начинает разваливаться - у разработчиков возникают проблемы, которые, кажется, пришли из ниоткуда и угрожают поставить под угрозу вашу сборку, ваш график и, возможно, даже ваше здравомыслие. Если вы находитесь в такой ситуации, слышать это не слишком утешительно, но ... многие из нас сталкивались с такими же проблемами. Итак, давайте посмотрим на некоторые из самых расстраивающих и нередко ошеломляющих причин, мы слышали от разработчиков о том, почему они опаздывают, и обсудим некоторые способы, которые помогут вам подготовиться к неожиданному.
Несмотря на эпиграмму, прими «Закон Мерфи» близко к сердцу и помни, что «случается дерьмо».
При разработке программного обеспечения каждый менеджер по продукту знает, что оценка, которую дает разработчик, всегда сопряжена с некоторой степенью неопределенности: возможно, к системе стороннего производителя, к которой вы пытаетесь подключиться, имеется устаревшая документация, которая делает процесс разработки медленным, или, возможно, пользовательская история изменилась быть намного более сложным, как только разработчик начал работать над этим, и они обнаружили кучу угловых случаев. Эти типы икоты случаются, и, по тихим словам Дональда Рамсфелда , являются своего рода известным неизвестным. Но время от времени к вам приходят разработчики и, к сожалению, сообщают вам, что они не будут уложиться в сроки по причинам, которые звучат настолько странно, что вы можете задаться вопросом, шутят ли они вас.
Создав и поставив на рынок более 200 продуктов , наша команда менеджеров по маркетингу в Keepwarning очень хорошо осведомлена о « законе Мерфи » и о том, как, казалось бы, «откуда-то» придет и бросит гаечный ключ в хорошо смазанную машину. , Мы опросили их по некоторым из самых неприятных и неожиданных причин, по которым их разработчики опоздали, и вот некоторые из них:
Плохая скорость загрузки. Когда вы нанимаете удаленных разработчиков в областях с низкой скоростью соединения, это создает несколько проблем. Проблемы возникают, когда у вас есть тестеры или сотрудники в местах с сетевыми проблемами, например, за границей или в сельской местности. Для нас в Северной Америке мы принимаем высокие скорости загрузки как должное, однако во многих частях мира скорость интернета - не что иное, как ужас. Мы считаем само собой разумеющимся, что загрузка файла IPA размером 100 МБ на серверы Apple занимает всего несколько секунд, у нас были разработчики, которые тратили часы, пытаясь загрузить одну сборку в TestFlight, унося даты доставки, пока они наблюдали за медленной последовательностью загрузки индикатор.
Проблемы с питанием. Даже в районах с более современной инфраструктурой перебои в подаче электроэнергии происходят из-за неадекватных требований или незапланированных стихийных бедствий. В районах с плохими или сломанными энергосистемами это приведет к задержкам. На Западе мы обусловлены тем, что не столкнемся с проблемами власти, если не будет шторма, землетрясения или других стихийных бедствий. Слишком немногие из нас когда-либо испытывали прикосновения к электрическому прибору, который не заземлен должным образом, а затем просыпались на подвальном этаже в замешательстве и пахли обгоревшими волосами - имейте в виду, что в менее развитых районах электропитание несовместимо. Власть - это то, что мы считаем само собой разумеющимся, однако регулярные отключения электроэнергии - это факт жизни в Восточной Европе и Азии, и это то, что может полностью остановить развитие.
Каникулы. Любой, кто когда-либо работал с разработчиками в Индии, может сказать, что конец октября - плохое время для планирования каких-либо сроков поставки, поскольку именно тогда вся Индия на неделю закрывается для Дивали. Середина августа? Даже не думай об этом, это День Независимости. Индия - страна с множеством религий, и в зависимости от того, где находятся ваши разработчики, вы можете столкнуться с множеством других фестивалей (которые знали, что фестиваль воздушных змеев был праздником?), Которые проходят в течение года и могут застать вас врасплох. Каникулы - это не просто то, что может задержать вас в Индии: если у вас есть разработчики в Китае, не ожидайте, что какая-либо работа будет выполнена в конце Лунного Нового года в конце января или если ваша команда находится в Бразилии, то в начале марта ( Карнавал) не самое подходящее время для планирования основных результатов.
Бунты и Война. Одно дело, что разработчики опаздывают, потому что они неправильно прочитали функцию в спецификации, но можете ли вы действительно винить их, если причина, по которой они опоздали, была из-за беспорядков в их районе или артиллерийских снарядов, приземляющихся поблизости ?! Если вы работали в украинской команде разработчиков в 2014 году или в настоящее время работаете разработчиками, базирующимися в Венесуэле, то вы, вероятно, понимаете, какое влияние беспорядки и войны могут оказать на производительность ваших разработчиков. На Западе мы воспринимаем как должное работу в обществе, которое стабильно и мирно, однако человек на другом конце вашего Slack DM, возможно, переживает действительно мучительный опыт!
TestFlight не обработал сборку. Это должно быть знакомо любому, кто разработал приложение для iOS: вы загружаете свою сборку в TestFlight, ожидая, что она будет выпущена в QA через несколько минут для проверки, а затем ничего не происходит. Ты ждешь 30 минут, все еще без сборки. Проходит пара часов, и сборка все еще находится в процессе обработки в App Store Connect! Задержки TestFlight при обработке сборок общеизвестно непредсказуемы и, похоже, происходят в самые неподходящие времена. Мы видели, как TestFlight зависал в процессе сборки на срок до 12 часов без каких-либо объяснений со стороны Apple и без обращения к нашим сторонам. Задержки TestFlight, как и в аэропорту LaGuardia, являются жизненным фактом, который нужно учитывать при планировании.
Помогите разработчикам помочь вам!
Как ни смешны эти примеры, они случаются и не являются абсолютно неизбежными. Между хорошим лидерством, тщательным планированием и гибкостью команды, построением или переопределением основных этапов до разумных (при необходимости) сроков - это только часть игры. Если вы работаете с оффшорными командами разработчиков, помните их календарь и обстоятельства окружающей среды, которые могут повлиять на их способность выполнять. При планировании вашего графика хорошо бы выделить один день на случай обстоятельств окружающей среды, особенно вокруг важных результатов, как раз тогда, когда оле Мерфи и его пакет хитростей могут появиться!
Keepwarning хорошо разбираются во множестве навыков, которые превращаются в отличное программное обеспечение для бизнеса. Как и все остальные, мы не идеальны, и иногда случаются задержки по причинам, которые столь же нелепы, сколь и непредсказуемы. Мы узнали, что при разработке программного обеспечения вам нужно ожидать неожиданностей и быть готовыми к быстрому движению и оставаться гибкими перед лицом, казалось бы, потусторонних препятствий, которые угрожают нарушить наш график разработки.