Вот проблема, с которой я сталкиваюсь:
Цитата от руководителя проекта:
Привет, Спарк, я поручаю тебе задачу разработки фреймворка, который можно было бы использовать для разных приложений iOS. Вот требования:
- Он должен быть в состоянии определить толщину большого пальца или пальцев, используемых для управления пользовательским интерфейсом.
- С этой информацией все элементы пользовательского интерфейса должны быть расположены и измерены автоматически .
- Для большого пальца элементы должны быть расположены ближе к центру экрана.
- Для меньшего большого пальца элементы должны быть расположены ближе к углам экрана.
- Для большого пальца все шрифты должны быть меньше. (Мы предполагаем, что взрослый в этом случае.)
- Для меньшего большого пальца все шрифты должны быть больше. (В этом случае мы предполагаем, что человек помоложе.)
Резюме:
Эта структура требуется для создания удобных для пользователя интерфейсов программным способом. Фреймворк должен быть разработан таким образом, чтобы мы могли использовать столько проектов, сколько необходимо, поэтому он также должен быть очень удобным для разработчиков.
Я разработчик дал эту задачу, поэтому мои вопросы заключаются в следующем:
- Как я могу объяснить, что эти требования немного нелепы?
- Как я могу объяснить, что было бы лучше сосредоточиться на разработке реальных проектов?
- Как я могу объяснить, что даже если бы это было возможно, я бы не рекомендовал разрабатывать такие вещи?
- Как мне вежливо, нежно и с уважением сказать «нет» этому проекту?
- Как я могу объяснить, что даже для разработчика с 3-летним опытом это может быть невозможно?
project-management
iphone
frameworks
ios
requirements
Сагар Р. Котари
источник
источник
How do I say politely, gently & respectfully NO to this?
Еще один совет, который я должен дать вам, чтобы иметь некоторый контроль над своими боссами, вы всегда должны позволять им приходить к своим собственным выводам. Если они приказывают вам, никогда не говорите «нет», просто объясните факты и обсудите проблемы. Попытайтесь заставить их понять, насколько глупы их запросы, потому что они могут не знать деталей. Они, вероятно, увидят, что это глупая идея и дадут вам другую задачу, и вам НИКОГДА не приходилось говорить НЕТ. Я никогда не говорю НЕТ, и я все время получаю глупые требования, которых никогда не бывает.Ответы:
Если вы получаете набор требований, которые физически невозможно реализовать, поскольку устройство не поддерживает и не может поддерживать требуемую функциональность, вам необходимо объяснить это лицу, создающему требования.
Вы должны уважать и объяснить , почему требования не представляется возможным реализовать (т.е. сенсорный экран не может различать между большим пальцем, пальцем или стилусом Он не имеет достаточное разрешение для того , чтобы обнаружить ширину пальца..) - держать вещи фактические , указывая на существующая документация, если таковая имеется.
Не вступайте в какие-либо эмоциональные споры и сохраняйте спокойствие и профессионализм. Сказать кому-либо, что их требования глупы, никогда не бывает выигрышной стратегией.
Посмотрите, сможете ли вы получить представление о реальных целях функции - почему она рассматривается как требование. Это может привести вас к другой, лучшей функции, которая решит эту проблему. (спасибо @spoike)
@ DarkStar33 предлагает в комментариях провести исследование и дать реальную оценку того, сколько будет стоить проект и сколько времени он займет, предполагая, что результат будет слишком дорогим и длительным, чтобы того стоить. Вооружившись цифрами и данными для их резервного копирования, безусловно, может помочь вашему делу, хотя я бы все же посмотрел на бизнес-цели, чтобы увидеть, могут ли они быть достигнуты (даже частично) иным способом.
источник
"have the project lead explain the actual business goals"
- отличная идея, дайте им то, что они хотят, даже если они не знают, как попросить об этом.Эти требования не глупы, не глупы и не смешны. На самом деле это очень важная проблема для пользователей сенсорных экранов, так как людям с большими пальцами очень трудно точно определить цель, что часто не понимают маленькие пальчики.
Однако, если вы обнаружите, что эти требования невозможно реализовать из-за того, что датчики устройства не способны измерять размер пальца, просто напишите это так: к сожалению, доступные в настоящее время устройства не поддерживают такую функцию
источник
Я собираюсь немного поиграть в «Адвоката дьявола» и сказать, что я думаю, что на самом деле технически выполнимо измерить размер большого пальца человека. IPhone является мультитач-устройством. Для калибровки вы можете поручить пользователю положить пальцы рядом или рядом на экран и измерить расстояние между этими прикосновениями.
Конечно, это потребовало бы тестирования и экспериментов, чтобы увидеть, насколько осуществима моя интуиция. Возможно, большие пальцы пришлось бы перетаскивать по экрану, чтобы лучше читать.
Тем не менее, существуют серьезные проблемы с юзабилити и реализацией.
источник
Что вы делаете, так это относитесь к этому серьезно и возвращаетесь с оценкой того, сколько времени потребуется, чтобы убедиться, что оценка очень высокая и очень подробная, чтобы они не могли оспаривать большие цифры. Как только вы показали, что делать это будет не экономно, они оставят вас в покое. Обязательно укажите, какие конкретные задачи в настоящее время не поддерживаются аппаратным обеспечением и могут или не могут быть даже выполнены. Не забудьте добавить расходы на любого вида специалистов, дополнительных людей, которые могут вам понадобиться для проекта такого масштаба.
источник
Люди в Apple уже глубоко задумывались обо всех этих вещах, и они не придумали интерфейс с изменяемыми размерами в зависимости от размеров большого пальца.
Как пользователь, я бы ненавидел движущиеся цели под пальцами.
источник
Если вы беспокоитесь о том, чтобы попасть в беду из-за того, что вам предъявляют невозможные требования, тогда лучший выбор - немедленно сказать им, что это невозможно. Чем дольше вы позволяете им составить бизнес-план для невозможного проекта, тем больше вероятность, что они обвинят вас в провале проекта.
Прежде всего, постарайтесь не беспокоиться о вещах, которые не являются вашей ошибкой, у всех нас есть достаточно, чтобы беспокоиться о том, что у нас есть возможность контролировать. Если кто-то будет считать вас ответственным за такой провал проекта, то это несправедливо по отношению к вам. верите ли вы в карму?
источник
Один из способов отвлечь необоснованный запрос - помочь клиенту понять природу проблемы, которую он пытается решить. Посредством техники планирования собеседования, известной как « вытаскивая стек « почему »», вы продолжаете рекурсивно спрашивать «почему» (конечно, вежливо, разумно):
Цель состоит в том, чтобы получить основную ценность для бизнеса:
(Предметы из огуречного вики)
Если функция не подходит ни к одной из этих категорий, она может помочь клиенту увидеть, что есть или более важные вещи, на которых следует сосредоточиться, или с помощью этого мыслительного процесса вы сможете посоветовать им, как решить проблему, которую они ' пытаемся решить более осмысленным образом. Часто настоящая проблема заключается в более высоком уровне абстракции, чем та проблема, которую они попросили вас исправить.
Чтобы использовать пример сканирования размеров большого пальца:
источник
Often the real problem lies at a higher level of abstraction than the problem they've requested you to fix.
Отказ от ответственности - я не знаю, возможен ли ваш запрос, и если это возможно, вам нужно определить, сколько времени это займет, и предоставить этот отзыв своему менеджеру. Но я пишу этот ответ с предположением, что это невозможно, по крайней мере, с использованием стандартной структуры - и я расширяю свой ответ на более общий случай, когда вы действительно не можете или не должны что-то делать.
Просто сказать нет.
В этой теме есть много ответов «никогда не говори нет», и я считаю, что это мягкое и покорное отношение. Подумайте об этом так - я технический эксперт в этой команде, а остальные члены моей команды пытаются сделать что-то, что я считаю неосуществимым, слишком сложным, потенциально невозможным. Это моя обязанность сказать нет.
Конечно, я могу и должен сказать нет мягко; Я могу «настоятельно рекомендовать против этого», предлагая «выяснить, возможно ли это», прежде чем сказать «нет». Но в конечном итоге я собираюсь сказать нет, потому что это моя работа.
Есть так много аналогий с этим
Вы можете попросить всех этих людей выполнить задачи, которые они будут знать глупыми, расточительными, опасными или неправильными. И вы ожидаете, что все они выступят против этих действий и в конечном итоге откажутся (по крайней мере, я на это надеюсь). Если кто-то из этих профессионалов ответил бы: «Хм, ладно, я думаю, мы можем это сделать» - не давая мне откровенного «Это плохая идея», - тогда, честно говоря, я бы не стал нанимать их в любом случае.
Ваши коллеги будут ценить и уважать вашу честность, и вы сэкономите много времени и денег, если вы предоставите полезную обратную связь, а не согласитесь с тем, что, как вы знаете, не сработает.
источник
Не должно быть слишком сложно сказать вашему клиенту, что вы не можете реализовать то, что ваша целевая платформа не позволяет вам. Но сделайте шаг назад и спросите себя, какова логика этих довольно нелепых требований? Из того, что я могу прочитать, они очень обеспокоены удобством использования. Затем спросите их, копайте немного глубже, пока они не скажут вам то же самое: «мы хотим дружественный интерфейс». Затем наведите их на то, что выполнимо, а что нет. Скажите им, что если им нужен простой пользовательский интерфейс, существуют простые (и более дешевые способы), такие как предоставление пользователю возможности установить размер шрифта / значка (я полагаю, что это возможно в IoS). Может быть, вы можете позволить пользователю контролировать размер шрифта / размер значка и расположение для приложения через вкладку настроек? Это должно быть проще (и точнее!), Чем пытаться угадать возраст человека по размеру большого пальца! Последнее, чего хотел бы ваш менеджер - это ненужный, раздутый, трудно поддерживаемый код, который достигает того же, что уже предоставляет ОС. Скажите вашему клиенту, что пользователи предпочли бы контролировать приложение, а не приложение, управляющее ими таким образом, который может привести их в бешенство.
источник
Моим ответом было бы, что я начну изучать некоторые из этих неопробованных технологий и сообщу им, если это вообще возможно. На основании этих открытий может быть начат план потенциального развития.
Я не думаю, что вы сможете отличить большой палец одного человека от кого-то другого, но вы можете получить достаточно размеров от пальцев, чтобы знать, когда они используют большой палец. Настоящая проблема заключается в том, что из-за угла большого пальца он может не касаться большего пространства на экране, чем другие. Никто никогда не использует телефон большим пальцем и не ставит его на экран так, как будто у вас снят отпечаток большого пальца.
Покинуть компанию. Выясните, как это сделать. Продайте его за гораздо больше денег, чем зарабатываете сейчас.
источник
Когда дело доходит до требований, я обычно делаю это так: я пытаюсь оценить, сколько времени потребуется, чтобы реализовать конкретное требование.
В случае требований, которые могут быть невозможны, спросите несколько дней или сколько угодно времени, чтобы выяснить, возможно ли это. В вашем случае возникает вопрос: «Можно ли определить, насколько толстым является палец пользователя?»
На самом деле этот вопрос даже немного сложнее: «Можно ли определить, насколько толстым палец пользователя после первого касания менее чем за 200 миллисекунд, чтобы обеспечить немедленное взаимодействие?» (заменить сначала на 2 или ...; и 200 мс на 300 мс или как угодно ...)
Может быть, даже ответ на этот вопрос занимает один месяц. Возможно, даже если это более или менее выполнимо, он использует супер сложный алгоритм, который хорошо работает только в 80% случаев.
Вы видите, куда я иду?
Люди часто делают неверные предположения о возможностях, потому что у них мало опыта и знаний в данной области. Поэтому вы не можете спорить с интуицией, но вам нужны факты.
Если другие заинтересованные стороны поймут, что эта функция займет 2 человеко-года и потребует iPhone 10 до 2014 года, их требования быстро уменьшатся.
источник
Это звучит сложно, но не невозможно вообще; точка, что сенсорный экран не может различать между большим пальцем среднего пальцем или стилусом спорна; при инициализации (при запуске сеанса и т. д.) пользователю предлагается указать большой палец, затем средний палец и т. д., чтобы откалибровать размеры (сделать несколько статистических средних), используя несколько движений и т. д.
источник
Я хотел бы попытаться решить коренную проблему другим способом, прежде чем сказать, что это невозможно сделать.
Например, если пользователь часто пытается нажать маленькую кнопку и пропускает ее, вы можете наблюдать за областью вокруг кнопки и использовать ее для повторной калибровки всех других нажатий.
Представить креативное решение, подобное этому, вероятно, нужно после того, как попросить вас волшебным образом определить ширину пальца (о чем вы можете сообщить, что его нет в API).
Это по-прежнему может быть затруднено - размещение области вокруг кнопок для обнаружения пропусков - так что оцените больше часов.
источник
Не говорите прямо, потому что это повредит его чувствам. Просто дайте понять, что из-за технологических ограничений 60% времени это будет работать каждый раз.
И как только он осознает непрактичность и затраты, связанные с таким мероприятием, предложите более практичный подход в рамках своего бюджета, например, настройку, позволяющую изменять размер текста. И русские взяли карандаш в космос.
Попытайтесь заставить его заявить о проблеме и требовании, а не о решении и дизайне для будущих проектов.
источник
Что мне нравится делать, так это подходить к проблеме с точки зрения команды. В этом случае менеджер проекта и мне нужно придумать решение. Я также хотел бы показать, что я пришел с открытым сердцем. Если я слышу то, что считаю невозможным, есть вероятность, что между мной и руководителем проекта возникло недопонимание. Или, возможно, мы не достигли этого ага момента.
Как только мы решим сделать прыжок и начать открытый разговор, я считаю, что проще всего рассматривать проблему как экономическую. В технологии почти все возможно, учитывая бесконечное количество ресурсов. Обсуждая, что нужно сделать, много раз это самый простой способ с уважением сказать «нет». И это был бы способ устранить любые возможные недоразумения. Хотя, если честно, мы не совсем говорим «нет». И какова цель сказать нет в любом случае. Если работа не стоит того, не важно, хотим мы этого или нет.
источник