Я только что получил новую работу в колледже в качестве (единственного) разработчика веб-приложений.
В колледже есть несколько разрозненных, но довольно плохо закодированных устаревших систем. В основном встроенные в PHP, они имеют дело с посещаемостью, результатами экзаменов, оценкой и т. Д.
Моя первая работа заключается в создании системы, которая включает в себя большую часть этих данных, которая в настоящее время находится в различных базах данных без какого-либо дружественного API для ее извлечения (существующие системы написаны на ванильном PHP без разделения данных и представления). с новой платформой для записи пастырской информации о студентах и представления ее преподавателям и старшим сотрудникам в удобной форме, чтобы они могли быстро реагировать на проблемы со студентами.
На нашей первой встрече было 18 человек! Не было четкого лидера или голоса, который представлял бы большинство. Нет идентифицируемого клиента . На встрече обсуждались подробные идеи реализации незначительных функций от руководителей факультетов до споров о том, должны ли мы использовать таблицы Excel или нет для ввода данных!
Как вы можете себе представить, моя голова кружилась в конце. У меня действительно было много хороших идей, но я не мог их услышать. Это очень новая для меня роль до того, как я стал частью команды разработчиков в маркетинговом агентстве. У нас были очень четко определенные роли: менеджер проекта, клиент, дизайнер, разработчик.
Я хотел бы знать, могут ли какие-нибудь опытные разработчики или менеджеры дать мне несколько советов о том, как я могу превратить моих коллег во что-то, что напоминает команду проекта. Является ли Agile способ пойти? Как бы вы подошли к обработке всех разрозненных голосов? Понятно, что какой-то процесс должен быть запущен очень быстро, я просто не уверен, что это такое.
источник
Ответы:
Я не ожидал бы какого-либо «гибкого процесса разработки» здесь в качестве решения вашей текущей проблемы. Первое, что вы должны сделать: очистить свою миссию . Это значит:
Это может занять некоторое время, вы, вероятно, не будете писать много кода на данном этапе проекта. В такой ситуации вы должны сначала выполнить «разработку требований». Но начни с малого, думай масштабно. Как только вы разработаете свой первый выпуск, у вас будет что показать, обсудить требования с заинтересованными сторонами и т. Д.
источник
Отделите от стада тех, кто действительно хочет, чтобы этот проект работал.
Из-за большой политики кто-то собрал эту встречу со списком участников, чье членство было определено тем, кто расстроится, если я не приглашаю их. Бывает. Эта цель была достигнута, но, как разработчик, вы обнаружили, что ничего не было решено. Никто не был назначен, что делать. Если вам повезет, им удалось запланировать следующее собрание или, не дай бог, они назначают повторное собрание в 3-й вторник каждого месяца.
Затем последует формирование комитетов, подкомитетов и целевых групп. Это лучше, но вы найдете их всех одинаково бесполезными.
Наконец, вы узнаете, кого действительно волнует этот проект. Кто действительно хочет потратить время, чтобы сделать это правильно. Надеемся, что у этого человека будет наблюдатель, который даст им время, чтобы сделать это, а не просто сделать это другим пунктом в их уже длинном списке задач. Найти этих людей как можно скорее! Помогите им управлять ожиданиями своего босса и получить согласованное количество обязательств.
Получите что-то перед тем большим количеством людей в оригинальной группе, которые даже потрудятся вернуться. Все они могут быть умными и / или образованными людьми, но они не собираются читать кучу спецификаций. Им нравятся одни вещи, они ненавидят других и хотят большего. Не мешало бы записывать предложения, но постарайтесь, чтобы эта вечеринка продолжила работу над темой игры. Не обещай делать все. Просто рассмотрите, что можно сделать в ближайшее время.
Если вам в конечном итоге приходится иметь дело с более чем 5 людьми на регулярной основе, то это потому, что какой-то менеджер вовлек несколько своих людей, которые на самом деле не хотят быть там.
источник
Придумайте список идей, которые, по вашему мнению, укрепят / улучшат существующие системы на основе ваших наблюдений и их «потребностей» и позволят вам сосредоточиться на том, где вы можете добиться реальных видимых результатов. Включите в этот список каждую идею, которая, по вашему мнению, будет полезна, а также любые выдающиеся «разумные» предложения от разработчиков.
Составьте список функций, которые «должны» быть включены в ваши усилия по разработке. Дайте каждому члену право голоса, возможно, в форме «липких звезд» и выясните, чего на самом деле хочет каждый член, поставив звезды рядом с тем, что они считают важным. У некоторых людей может появиться больше звезд, если они подпишут чек, скажут последнее слово и т. Д. После этого, надеюсь, вы и все остальные увидите, что важно для всего, и, надеюсь, они согласятся с приоритетом, который будет затем перевести на дорожную карту
1). Опрос команды - Узнайте, что каждый участник считает важным / необходимым / главным приоритетом
2). Получите что-то, быстро - не пытайтесь решить все проблемы сразу, получите «минимум» функциональности и попросите их одобрить, а затем коллективно продвигайте это на основе отзывов пользователей.
3). Используйте их отзывы и отзывы других пользователей для руководства процессом разработки
(Сборка, оценка обратной связи, сборка, оценка обратной связи) Промыть и повторить.
Кроме того, вы можете подумать о том, чтобы указать «точки усилий» или приблизительные часы для завершения, что также может помочь в определении приоритетов.
источник
Ваша первая задача - определить необходимость этого проекта. Проведите еще одну встречу со всеми этими людьми и попросите их записать проблемы, которые необходимо решить. Не позволяйте им говорить о многих способах решения этого проекта. Заставьте их действительно идентифицировать потребности / проблемы.
Один из способов сделать это - попросить каждого из них по отдельности задокументировать эти потребности в заметках - одна идея на одну заметку. Затем запустите диаграмму сходства, чтобы помочь им сгруппировать эти разрозненные идеи в конкретные потребности. Наконец, заставьте их голосовать ( Multi-Voting ), чтобы вы могли видеть самые большие потребности.
Agile напоминает нам о том, что в первую очередь нужно использовать функцию, которая имеет наибольшую ценность для клиента. Начните с самой большой нужды, а затем продолжайте разбивать этот предмет, пока у вас не появится первый маленький кусочек, который вы действительно сможете сделать за короткий промежуток времени.
источник
ПОЦЕЛУЙ - Составь маршрут. Спасибо всем, что пришли, просмотрите это, сделайте это. Отслеживание сторон замедлится, если вы решите эту проблему, поделившись своей обеспокоенностью и попросив их остаться ПОСЛЕ встречи. Принимайте решения путем голосования там, где есть противоречия, чтобы оставаться наиболее счастливыми. Мотивация участия в любой системе напрямую связана с верой людей в ее методы.
источник