Одним из принципов гибкой является ...
Сотрудничество с клиентом в рамках переговоров по контракту
... еще один ...
Индивидуумы и взаимодействия над процессами и инструментами
Но, с моей точки зрения, по крайней мере, когда речь идет о взаимодействии с клиентом, есть фундаментальная проблема:
То, как клиент думает, отличается от того, как думает инженер-программист
Это может быть немного обобщением, да. Можно утверждать, что есть бизнес-домены, где это не обязательно так, хотя их мало, и они далеко друг от друга. Однако во многих доменах типичный клиент:
- Заинтересованы в ежедневных оперативных задачах - тактика ближнего действия ... не обязательно стратегия;
- Понятно, что касается только немедленного решения;
- Практичные мыслители, а не абстрактные мыслители;
- Гораздо больше интересует «выполнение работы», чем рассмотрение того, как решение будет поддерживать будущие проблемы.
С другой стороны, в идеале , программисты, которые практикуют Agile:
- Люди, которые много думают о качестве;
- Люди, которые ценят, как небольшая предварительная работа может сэкономить массу усилий в будущем;
- Опытные аналитические мыслители.
Таким образом, существует культурное несоответствие, которое имеет тенденцию препятствовать «сотрудничеству с клиентами».
Какой лучший способ решить эту проблему?
Ответы:
И, честно говоря, у них обычно есть веские причины для такого мышления. Прежде всего, они управляют бизнесом, который должен приносить доход сегодня и завтра, а не в отдаленном будущем. Во-вторых, они не являются техническими экспертами - они не знают, что возможно, а что нет, и каковы последствия конкретного выбора архитектуры / дизайна / реализации. Это то, что мы знаем.
Таким образом, ответ - вряд ли удивительно - общение .
Вам нужно много общаться, обучать друг друга, чтобы заставить друг друга понять точку зрения другой стороны хотя бы до базового уровня. Вам необходимо объяснить им краткосрочные и долгосрочные последствия возможных альтернатив. И вам нужно использовать язык, который они понимают .
OTOH они могут научить нас кое-что о перспективе бизнеса. Бизнесу нужны полезные и достаточно хорошие - вряд ли идеальные - решения, И они знают, наверное, лучше, чем кто-либо, что «совершенство - враг добра». Поэтому вам нужно помнить, что наша задача - предоставлять решения проблем наших клиентов, а не производить технически совершенное программное обеспечение. Иногда эти два сходятся к одному, но чаще нет. Это может показаться грустным для многих, но это реальность бизнеса. Для меня, если мне удалось решить проблему моего клиента, и я вижу, что это заметно облегчило им жизнь, я так же счастлив, как и они. OTOH, если мне удастся реализовать идеальный дизайн, который я имел в виду, но компания обанкротится на следующей неделе, это вряд ли победа для кого-то, не так ли?
Разумный владелец бизнеса поймет - если вы объясните им, используя их собственный язык, - почему важно поддерживать чистоту программного обеспечения, писать модульные тесты, проводить рефакторинг и т. Д. Несмотря на то, что в краткосрочной перспективе они, похоже, не вносят непосредственного вклада, они необходимы для долгосрочного обслуживания. А здравомыслящие клиенты заботятся о долговременном обслуживании своего бизнеса, поэтому они, безусловно, готовы инвестировать в него, когда видят ценность, которую приносят их инвестиции. Однако и их ресурсы, и ваше время ограничены, поэтому вам нужно расставить приоритеты и сосредоточиться на самых важных вещах. Но это важно, только если это важно для вас обоих .
Возможно, вы захотите провести рефакторинг модуля A, потому что код там просто ужасен, и у вас есть отличная идея, как реорганизовать код, чтобы он был лаконичным, элегантным и чистым, используя шаблон проектирования, о котором вы только что прочитали. Однако, если к этому модулю не прикасались годами, и он работает надежно, вам, скорее всего, лучше сосредоточиться на модуле B, который будет расширен на следующей неделе с очень важной новой функцией, и он содержит тонны ошибок уже.
источник
Как ваш клиент видит себя:
С другой стороны, они видят вашу группу как:
Похоже, ваша основная проблема заключается в том, что никто из вас не понимает, что им нужно от другой стороны.
источник
Ну, во-первых, Agile - это не решение всех проблем, с которыми вы столкнулись в своем проекте.
Да. Иногда это правда. Есть даже случаи, когда клиенты не знают, что и как они хотят (т.е. требования не ясны). В любом случае , если вы проворны, вы получаете результат после каждого спринта (скажем, через 2 недели), и вы получаете возможность получить обратную связь с клиентом и убедиться, что все они на одной странице. Это помогает в выявлении и устранении проблем на ранней стадии, что внутренне поможет укрепить доверие.
Также есть поговорка: пользователи похожи на сумасшедших детей, поэтому, когда они просят пистолет, и вы знаете, что это небезопасно, вы можете подумать о том, чтобы дать ему игрушечный пистолет, чтобы успокоить их .
Как я уже сказал, нет волшебной палочки, которая могла бы решить все эти проблемы . Вы должны больше взаимодействовать со своими клиентами, чтобы у вас было хорошее понимание того, что делают друг друга. Способствовать посещению сайта, открывать отзывы и т. Д.
Убедитесь, что ваш владелец продукта и заинтересованные лица присутствуют на демонстрациях спринта и дают ценные советы по улучшению продукта .
источник
Если у вас нет возможности купить у клиента, Agile может оказаться практически невозможным.
Под бай-ином я подразумеваю получение некоторого гарантированного процента времени от представителей клиентов в неделю или месяц. Этот процент будет варьироваться в зависимости от проекта.
Очевидно, у них есть своя повседневная работа, так что дело не только в представителе клиента, но и в их руководстве, чтобы найти время для них.
Таким образом, получение согласия от руководства на стороне клиента является ключом к этой проблеме
источник
Помните, что Agile не означает, что клиент вовлечен в ежедневные ожидания или в некоторые другие повседневные аспекты Agile. Agile, с точки зрения клиента, - это общение. Это не значит, что они общаются с инженерами по поводу деталей реализации.
Клиенты сотрудничают с владельцем продукта, чтобы получить и дать постоянную обратную связь. Тема - это особенности, а не то, как они реализованы. Вы поставляете нужные функции? Ты в графике? Есть ли у них изменяющиеся требования, к которым вам нужно адаптироваться?
Agile поможет вам и вашему клиенту ответить на эти вопросы.
источник