Как начать проект развития, когда есть слишком много потенциальных заинтересованных сторон

15

Я только что получил новую работу в колледже в качестве (единственного) разработчика веб-приложений.

В колледже есть несколько разрозненных, но довольно плохо закодированных устаревших систем. В основном встроенные в PHP, они имеют дело с посещаемостью, результатами экзаменов, оценкой и т. Д.

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

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

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

Я хотел бы знать, могут ли какие-нибудь опытные разработчики или менеджеры дать мне несколько советов о том, как я могу превратить моих коллег во что-то, что напоминает команду проекта. Является ли Agile способ пойти? Как бы вы подошли к обработке всех разрозненных голосов? Понятно, что какой-то процесс должен быть запущен очень быстро, я просто не уверен, что это такое.

Мэтт Харрисон
источник
8
Если вы единственный разработчик, кто был еще 17 на собрании?
фунтовые
1
Хороший вопрос. Директор школы, различные члены преподавательского состава (даже учитель физкультуры был там), и много людей с сокращенными именами.
Мэтт Харрисон
1
@MattHarrison: а что у них общего с вашим веб-приложением? Они потенциальные пользователи? Поддерживают ли они ту устаревшую систему, о которой вы упоминали? Вы должны уточнить это, чтобы убедиться, что вы знаете, кого вы будете запрашивать, а кого игнорировать.
Док Браун
1
@DocBrown Извините, может быть, я немного неясен. Все они будут будущими пользователями системы. Приложение будет межвузовским и будет использоваться более 3000 человек. Я думаю, что здесь произошло, люди приглашают людей, и встреча стала цирком. Что я сделаю, так это подчеркну необходимость меньшего участия заинтересованных сторон.
Мэтт Харрисон
5
@ Для анонимного downvoter / close: это может показаться слишком локализованным на первый взгляд. Но я думаю, что реальный вопрос - это вопрос развития, представляющий общий интерес: «как начать проект разработки, когда существует слишком много потенциальных заинтересованных сторон», и такие вопросы являются ИМХО здесь актуальными.
Док Браун,

Ответы:

26

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

  • уточнить свои обязанности
  • уточнить, каковы обязанности других заинтересованных сторон
  • определить, кто отвечает за каждую из устаревших систем
  • если для вашего веб-приложения еще нет клиента, найдите того, кто будет его использовать в будущем, и попросите разрешения включить его в качестве представителя пользователя вашей системы (человека, с которым вы можете обсудить требования)
  • если есть разные заинтересованные стороны с разными целями, соберите их требования (например, собеседование с ними один за другим, а не 18 человек в одной комнате). Запишите результаты в список. После этого начните расставлять приоритеты.
  • запишите план действий (общую картину) и небольшую спецификацию для выпуска 0.1 и сделайте так, чтобы ваш босс, а также представитель клиента согласились с ним формально
  • РЕДАКТИРОВАТЬ: см. Комментарий GlenH7

Это может занять некоторое время, вы, вероятно, не будете писать много кода на данном этапе проекта. В такой ситуации вы должны сначала выполнить «разработку требований». Но начни с малого, думай масштабно. Как только вы разработаете свой первый выпуск, у вас будет что показать, обсудить требования с заинтересованными сторонами и т. Д.

Док Браун
источник
Гениальный совет. Спасибо! Могу я просто уточнить; когда вы говорите «очистите свои обязанности», вы имеете в виду прояснить их или очистить, как избавиться от них? Извините, я британец, так что, возможно, это английская штука в США.
Мэтт Харрисон
1
@MattHarrison: надеюсь, что мое редактирование прояснит это - хотя иногда это также может быть хорошей идеей, чтобы избавиться от некоторых обязанностей ;-)
Док Браун
4
Отличный ответ. Единственный пункт, который я бы добавил, - это определить ведущую или исполнительную заинтересованную сторону. Этот человек имеет окончательные полномочия в определении приоритетов функций и области действия. Есть разные способы попасть туда, но кто-то несет окончательную ответственность за проект. И да, не стесняйтесь украсть этот комментарий, чтобы добавить к вашему ответу, если хотите. :-)
6

Отделите от стада тех, кто действительно хочет, чтобы этот проект работал.

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

Затем последует формирование комитетов, подкомитетов и целевых групп. Это лучше, но вы найдете их всех одинаково бесполезными.

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

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

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

JeffO
источник
1
+1 за освещение политических аспектов такой ситуации.
Док Браун
4

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

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

1). Опрос команды - Узнайте, что каждый участник считает важным / необходимым / главным приоритетом

2). Получите что-то, быстро - не пытайтесь решить все проблемы сразу, получите «минимум» функциональности и попросите их одобрить, а затем коллективно продвигайте это на основе отзывов пользователей.

3). Используйте их отзывы и отзывы других пользователей для руководства процессом разработки

(Сборка, оценка обратной связи, сборка, оценка обратной связи) Промыть и повторить.

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

hanzolo
источник
1
+1, это способ водить машину, как только вы добрались до движения :-)
Док Браун
1
+1 за это, хотя я бы все-таки сделал более явным, что вам нужно опасаться «плохой системы», которая на самом деле делает то, что ей нужно. Расставьте приоритеты так, чтобы вы не исправляли вещи, которые не сломаны, сфокусируйтесь на том, где вы можете добиться реальных видимых результатов.
Йорис Тиммерманс
@MadKeithV, согласен .. "Сосредоточьтесь на том, где вы можете достичь реальных видимых выгод", обновленный комментарий, чтобы включить это утверждение.
Hanzolo
2

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

Один из способов сделать это - попросить каждого из них по отдельности задокументировать эти потребности в заметках - одна идея на одну заметку. Затем запустите диаграмму сходства, чтобы помочь им сгруппировать эти разрозненные идеи в конкретные потребности. Наконец, заставьте их голосовать ( Multi-Voting ), чтобы вы могли видеть самые большие потребности.

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

lsievert
источник
0

ПОЦЕЛУЙ - Составь маршрут. Спасибо всем, что пришли, просмотрите это, сделайте это. Отслеживание сторон замедлится, если вы решите эту проблему, поделившись своей обеспокоенностью и попросив их остаться ПОСЛЕ встречи. Принимайте решения путем голосования там, где есть противоречия, чтобы оставаться наиболее счастливыми. Мотивация участия в любой системе напрямую связана с верой людей в ее методы.

Стивен
источник