В ходе взаимодействия команд разработчика и заказчика важное значение приобретает понятие социального капитала. Что такое социальный капитал? Это то сходство, которое приобретают люди или команды в ходе длительного взаимодействия друг с другом в ходе работы над общим проектом. Как это ни странно, не смотря на то, что цели и задачи могут существенно различаться на стороне разработчика и заказчика, тот самый представитель разработчика, скажем менеджер проекта, который взаимодействует с заказчиком начинает получать какие-то части этого социального капитала, начинает каким-то образом сращиваться, сродняться с заказчиком (как это ни странно) в стремлении понять и поддержать этого заказчика или членов его команды. При этом накопление социального капитала связано с построением, осуществлением взаимовыгодных договоренностей, некоторых полезных конструктивных шагов навстречу друг другу. И можно заметить, что преимущество, которое получается в результате синергии, которая строится между разработчиком и заказчиком, стоит тех затрат времени, которые несет и разработчик, и заказчик, и они оправданы. Какие свойства социального капитала имеет смысл отметить? Какие важные шаги, какие важные характеристики, важные черты необходимо применять и воспитывать в себе, чтобы этот социальный капитал поддерживать? Это эмпатия, доверие, партнерство и поощрение. Эти важные вещи поддерживают и увеличивают социальный капитал команды, поднимают на новый уровень. При этом, конечно, нужно учитывать ту оргструктуру, каким образом транслируются те пожелания, те приказы, те запросы ресурсов внутри структуры, которые возникают на стороне разработчика и в канале поставки внутри заказчиков и его партнеров. Ну и конечно, социальный капитал влияет на конкурентную среду. Это тоже нужно учитывать. В ходе взаимодействия команд разработчика и заказчика, и даже внутри этих команд, внутри этих двух сторон могут возникать не только, скажем так, позитивные эффекты, но и конфликтные ситуации. И в этой связи надо понимать, что в самом деле конфликт, как и любой кризис, — это не только угроза, но и возможность. И на самом деле конфликт плох только тогда, когда он неверно протекает. Конфликтами тоже можно управлять и конфликтные ситуации тоже можно настраивать и в ряде случаев разрешать благополучно. Конфликт, более того, может быть полезным даже тогда, когда одна из сторон отказывается играть по правилам. И при правильном управлении конфликтами на самом деле можно извлекать из них пользу. Для этого нужно понять, что, во-первых, конфликты делятся на две большие категории: конфликты, так сказать, личностные и конфликты, которые связаны с более общими групповыми подходами. И с другой стороны, надо постараться занять конструктивную позицию, позицию типа «помогите мне понять, помогите мне разобраться». Четко представить себе все сильные и слабые стороны, все плюсы и минусы, которые привели к этой ситуации и затем попытаться найти способ разрешения этой конфликтной или кризисной ситуации. Рассмотрим достаточно известную схему с двумя осями координат, где по вертикальной оси у нас расположены затраты на защиту позиции в конфликте, а по горизонтальной оси — те полномочия, которые мы, так сказать, позволяем получить своему оппоненту. При этом в центре у нас находится компромиссный вариант. И самое сложное при больших затратах и по той оси и по другой — это совместная работа. Совместная работа, естественно, требует достаточно большого количества ресурсов. Если мы позволяем нашему оппоненту получить достаточно серьезные полномочия, но при этом сами в конфликт активно не вкладываемся, то возникает примирительное поведение. Если мы не обсуждаем возможность расширения этих полномочий, но и не вкладываемся в конфликт, происходит уклонение от конфликта. Это так сказать ситуация близкая к нулю, к началу координат. И если мы наоборот, достаточно сильно вкладываемся в решение конфликта, но не даем больших полномочий нашему оппоненту, то возникает, так сказать, конкурирующее поведение. Рассмотрим, в каких случаях имеет смысл применять те или иные стратегии управления конфликтами. Прежде всего, уклонение — это если у нас, как у конфликтной стороны, низкие ставки в конфликте, если, возможно, в конфликте присутствуют личностные мотивы, или если мы понимаем, что проблема может разрешиться сама собой. С другой стороны, совместная работа, то есть то, во что, как мы помним, имеет смысл вкладываться достаточно сильно, как с точки зрения предоставления полномочий оппоненту, так и с точки зрения собственных вложений. В каких случаях это имеет смысл делать? Если у нас есть ресурсы, то есть время, силы и другие ресурсы, и действительно есть готовность к продуктивному взаимодействию с двух сторон, если необходима поддержка или если есть (существует) инновационное решение, которое может принести взаимную выгоду. Что касается других сценариев. Примирительное поведение имеет смысл применять, если результат более важен для второй стороны, а для нашей стороны есть определенные ресурсные ограничения, скажем, не хватает времени, мы не можем вкладываться в этот конфликт. Конкурирующее поведение. Если есть уверенность в своей позиции или если есть уверенность в том, что наш оппонент с нашей позицией согласится, пойдет на определенные уступки, и если ставки достаточно высоки, тогда имеет смысл вкладываться в конфликт таким образом. Ну и компромисс. Это условие средних ставок и возможно ограниченных ресурсов, недостаточно времени или недостаточно сил для того, чтобы вложиться в конфликт и привести его к совместной продуктивной работе. Какие выводы можно сделать по результатам нашего предварительного рассмотрения взаимодействия командной работы между клиентом и разработчиком? Прежде всего, разработка программных систем — это многофакторная и многосторонняя задача. В ней принимают участие зачастую большие команды или команды команд с достаточно разными интересами, ожиданиями и целями. Их нужно учитывать и грамотно использовать. Естественно для этого разработчик должен изучить оргструктуру клиента, ее динамические и статические характеристики, распределение ресурсов, передачу... порядок передачи прав и тому подобные вещи. Грамотно выбирать партнеров, правильно с ними взаимодействовать с точки зрения, в том числе, командообразования и работы с конфликтами.