Ұжымдағы қақтығыстарды басқару – тепе-теңдік әрекеті ме, әлде өмірлік қажеттілік пе?

Эпиграф:
Баяғыда Кірпі мен Кішкентай аю орманда кездесіп қалады.
- Сәлем, кірпі!
- Сәлем, Кішкентай аю!
Сонымен, сөзден сөз, әзілден қалжыңдасып, Кішкентай аюдың бетінен кірпі ұрды...

Төменде біздің топ жетекшісінің, сондай-ақ RAS өнімді әзірлеу жөніндегі директоры Игорь Марнаттың жұмыстағы қақтығыстардың ерекшеліктері және оларды басқарудың ықтимал әдістері туралы талқылауы берілген.

Ұжымдағы қақтығыстарды басқару – тепе-теңдік әрекеті ме, әлде өмірлік қажеттілік пе?

Жұмыста кездесетін қақтығыстардың көпшілігі жоғарыдағы эпиграфта сипатталғанға ұқсас сценарий бойынша дамиды. Бастапқыда бір-біріне өте жақсы көзқараспен қарайтын бірнеше қатысушылар бар, олар қандай да бір мәселені шешуге тырысады, бірақ соңында мәселе шешілмей қалады және қандай да бір себептермен талқылауға қатысушылар арасындағы қарым-қатынас бұзылады.

Өмір алуан түрлі және жоғарыда сипатталған сценарийде өзгерістер орын алады. Кейде қатысушылар арасындағы қарым-қатынас бастапқыда онша жақсы болмайды, кейде тіпті тікелей шешуді қажет ететін мәселе де болмайды (мысалы, эпиграфта), кейде талқылаудан кейін қарым-қатынас басталғанға дейінгі өзгеріссіз қалады, бірақ мәселе ақыры шешілмейді.

Жұмыс жанжал жағдайы ретінде анықтауға болатын барлық жағдайларда не ортақ?

Ұжымдағы қақтығыстарды басқару – тепе-теңдік әрекеті ме, әлде өмірлік қажеттілік пе?

Біріншіден, екі немесе одан да көп жағы бар. Эти стороны могут занимать различное место в организации, находиться в отношениях равенства (коллеги в команде), или на разных уровнях иерархии (начальник — подчинённый), быть индивидуальными (сотрудник) или групповыми (в случаях конфликта между сотрудником и командой или двумя командами), тағыда басқа. Қақтығыстың ықтималдығы мен оны шешудің қарапайымдылығына қатысушылар арасындағы сенім деңгейі үлкен әсер етеді. Тараптар бір-бірін неғұрлым жақсы білсе, соғұрлым сенім деңгейі жоғары болса, олардың келісімге келу мүмкіндігі соғұрлым жоғары болады. Мысалы, ешқашан бетпе-бет араласпаған бөлінген топ мүшелері, кем дегенде, бірнеше бетпе-бет қарым-қатынаста болған адамдарға қарағанда, қарапайым жұмыс мәселесі бойынша жанжалға жиі ұшырайды. Сондықтан, бөлінген топтарда жұмыс істегенде, барлық топ мүшелерінің бір-бірімен мезгіл-мезгіл жеке кездесуін қамтамасыз ету өте маңызды.

Екіншіден, жұмыстағы жанжал жағдайында тараптар бір жаққа, екеуіне де, жалпы ұйымға да маңызды қандай да бір мәселені шешу жағдайында болады. Сонымен қатар, жағдайдың ерекшеліктеріне байланысты тараптардың әдетте жеткілікті уақыты және оны шешудің алуан түрлі тәсілдері (ресми, бейресми, жиналыстар, хаттар, басқару шешімдері, ұжымның мақсаттары мен жоспарларының болуы, иерархия фактісі және т.б.). Бұл ұйымдағы жұмыс (немесе жұмыс емес) мәселені шешу жағдайынан, мысалы, маңызды сұрақты шешуден ерекшеленеді: «Е, балақай, сіз қай ауданнансыз? көшеде, немесе эпиграфтан қақтығыс. Жұмыс мәселесі шешілген жағдайда жұмыс процесінің сапасы мен ұжымдағы мәселелерді шешу мәдениеті маңызды.

Үшіншіден, қақтығыстың анықтаушы факторы (біздің талқылауымыз тұрғысынан) процеске қатысушылардың барлық тараптарға қолайлы мәселенің шешіміне өз бетінше келе алмайтындығы. Жағдай үшінші тараптың, сыртқы арбитрдің араласуын талап етеді. Бұл мәселе қарама-қайшылықты болып көрінуі мүмкін, бірақ, мәні бойынша, егер жанжалды жағдай сыртқы арбитрдің араласуынсыз сәтті шешілсе, мәселе сәтті шешіліп, тараптардың қарым-қатынасы нашарламаса, біз осы жағдайға ұмтылуымыз керек. . Біз мұндай жанжал туралы білмейміз, немесе оны шешкеннен кейін кездейсоқ анықтаймыз. Команда неғұрлым көп мәселені өз бетімен шеше алатын болса, соғұрлым нәтижелі болады.

Қақтығыстың тағы бір сипатты ерекшелігі, ол шешім қабылдау кезіндегі эмоционалдық қарқындылық дәрежесі болып табылады. Жанжал міндетті түрде жоғары эмоционалдық деңгеймен байланысты емес. Жағдайдың мәні бойынша қақтығыс болуы үшін қатысушыларға айғайлап, қолдарын бұлғау қажет емес. Мәселе шешілмеді, белгілі бір эмоционалды шиеленіс бар (мүмкін ол сырттай анық көрінбейді), бұл біз қақтығыс жағдайына тап болғанымызды білдіреді.

Қақтығыс жағдайларына мүлдем араласу қажет пе, әлде оларды шешуге мүмкіндік беріп, мәселенің өздігінен шешілуін күткен дұрыс па? Керек. Қақтығысты толығымен шешу әрқашан сіздің қолыңызда немесе құзыретіңізде емес, бірақ кез келген жағдайда, кез келген ауқымдағы қақтығыс кезінде сіз ересек позицияны ұстана аласыз, сол арқылы оған айналаңыздағы тағы бірнеше адамды тарта аласыз, оның жағымсыз салдарын жеңілдете аласыз. қақтығысты тудырады және оны шешуге ықпал етеді.

Жанжалды жағдайлардың бірнеше мысалдарын қарастырмас бұрын, барлық конфликттерге ортақ бірнеше маңызды сәттерді қарастырайық.

Қақтығысты шешу кезінде оның ішінде емес (бұл «мета-позицияны алу» деп те аталады), яғни шешу процесінде тараптардың бірінің бөлігі болмау маңызды. Әйтпесе, шешімге сыртқы төреші көмектесуі екінші тарапқа зиян келтіре отырып, тараптардың бірінің ұстанымын күшейтеді. Шешім қабылдағанда, оны барлық тараптар моральдық тұрғыдан қабылдағаны маңызды, олар айтқандай, «сатып алынды». Осылайша, тараптар қабылданған шешімге риза болмаса да, оны жүзеге асыруға шын жүректен келісті. Олар айтқандай, келіспеу және міндеттеме алу. Әйтпесе, қақтығыс жай ғана сыртқы түрін өзгертеді, тұтанған от шымтезек батпағының астында қалады және бір сәтте қайтадан тұтанады.

Екінші мәселе, ішінара біріншісіне қатысты, егер сіз қақтығысты шешуге қатысуды шешкен болсаңыз, оны коммуникация және контекстті зерттеу тұрғысынан мүмкіндігінше байсалды түрде қабылдаңыз. Тараптардың әрқайсысымен жеке сөйлесіңіз. Бастауыш үшін әрқайсысымен бөлек. Поштаға көнбеңіз. Бөлінген команда жағдайында, кем дегенде, бейне сілтеме арқылы сөйлесіңіз. Есту сөздер мен куәгерлердің хабарларына қанағаттанбаңыз. Оқиғаны түсініңіз, әр тарап нені қалайды, не үшін оны қалайды, не күтеді, олар бұл мәселені бұрын шешуге тырысты ма, егер ол шешілмесе не болады, олар қандай шешімдерді көреді, олар қалай елестейді екінші жағы, олар не ойлайды, дұрыс немесе бұрыс, т.б. Барлығын дұрыс деп есептей отырып, барлық ықтимал контекстті басыңызға жүктеңіз. Сіз қақтығыстың ішінде емессіз, оның сыртында, метапозициядасыз. Егер мәтінмән тек жазба ағынында қолжетімді болса, кем дегенде оны толығымен және оған қатысты ағындар мен құжаттарды оқыңыз. Оқып болғаннан кейін дауысыңызбен сөйлеңіз. Поштада жоқ маңызды нәрсені естуге кепілдік беріледі.

Үшінші маңызды сәт - қарым-қатынасқа жалпы көзқарас. Бұл қарапайым заттар, ғарыштық ештеңе жоқ, бірақ олар өте маңызды. Біз уақытты үнемдеуге тырыспаймыз, барлық қатысушылармен сөйлесеміз, біз адамды сынамаймыз, бірақ оның әрекетінің салдарын қарастырамыз («сен дөрекісің» емес, «мүмкін жігіттер ренжіген шығар Бұл нәрсе»), біз бет-әлпетті сақтауға мүмкіндік береміз, біз саптың алдында емес, жеке пікірталас жүргіземіз.

Қақтығыстар әдетте екі себептің бірімен туындайды. Біріншісі, жанжал кезінде адамның ересек немесе баланың қалпында болуымен байланысты (бұл туралы толығырақ төменде). Бұл оның эмоционалдық жетілуіне, эмоцияларын басқару қабілетіне байланысты (бұл, айтпақшы, әрқашан оның жасына байланысты емес). Екінші жалпы себеп - жұмыс процесінің жетілмегендігі, бұл қатысушылар арасында жауапкершілік таралатын, тараптардың үміттері бір-біріне ашық емес, процесстегі рөлдер бұлыңғыр болатын сұр аймақтардың жағдайларын тудырады.

Тиісінше, қақтығысты (сондай-ақ кез келген басқа мәселені) шешу кезінде менеджер үш перспективаны есте ұстауы керек: қысқа мерзімді – мәселені/қақтығысты осы жерде және қазір шешу, орта мерзімді – басқа жанжалдың туындау ықтималдығын барынша азайту. сол себепті және ұзақ мерзімді – ұжым тұлғасында ересек мәдениетті тәрбиелеу.

Әрқайсымыздың ішкі баламыз бар, шамамен үш-төрт жасар. Ол жұмыста көп ұйықтайды, бірақ кейде оянып, бақылауды өз қолына алады. Баланың өз басымдықтары бар. Оның бұл оның құм жәшігі екенін, анасы оны көбірек жақсы көретінін, оның машинасы ең жақсы екенін (дизайн ең жақсы, ол ең жақсы бағдарламалайды, ...) деп талап ету маңызды. Қақтығыс жағдайында бала ойыншықтарды басып, аяғын қағып, шпательді жарып жіберуі мүмкін, бірақ ол ересектерге қатысты мәселелерді шеше алмайды (шешім архитектурасы, автоматтандырылған тестілеу тәсілдері, шығарылым күндері және т.б.), ол артықшылықтар туралы ойламайды. команда үшін. Жанжалдасып жатқан баланы үлкенін шақыруды өтініп, жігерлендіріп, жұбатып, төсекке жатқызуға болады. Қақтығыс жағдайында талқылауды бастамас бұрын, сіз баламен емес, ересек адаммен сөйлесіп жатқаныңызға және өзіңіздің ересек адамның орнында екеніңізге көз жеткізіңіз. Егер сіздің қазіргі уақыттағы шынайы мақсатыңыз күрделі мәселені шешу болса, сіз ересек адамның орнындасыз. Егер сіздің мақсатыңыз аяғыңызды таптап, иық пышағыңызды жару болса, бұл балалық позиция. Ішкі балаңызды төсекке жіберіп, ересек адамды шақырыңыз немесе талқылауды қайта жоспарлаңыз. Адам эмоционалды шешім қабылдайды, содан кейін оның ұтымды негіздемесін іздейді. Балалардың басымдықтарына негізделген баланың шешімі оңтайлы болмайды.

Қақтығыс кезіндегі мінез-құлықтан басқа, баланың немесе ересек адамның позициясы, сонымен қатар, адамның өз мойнына алуға дайын болатын жауапкершілік деңгейімен сипатталады. Оның экстремалды көріністерінде мен бірнеше рет кездестірген бағдарламашының балалық ұстанымы келесідей көрінеді: мен кодты жаздым, оны қарауға жібердім - менің жұмысым аяқталды. Рецензенттер оны қарап, мақұлдауы керек, QA тексеруі керек, егер проблемалар болса, олар маған хабарлайды. Бір қызығы, тіпті жетілген және тәжірибелі адамдар кейде осылай әрекет етеді. Шкаланың екінші соңы - адам өзінің кодының жұмыс істеуіне, сынақтардан өтуіне, өзі жеке тексергеніне, тексеруден сәтті өткеніне (қажет болса, рецензенттерге пинг жіберу, мәселелерді талқылау) үшін өзін жауапты деп санайды. дауыспен және т.б.) және басылған болса, QA қажет болған жағдайда көмек көрсетеді, сынақ сценарийлері сипатталады және т.б. Қалыпты жағдайларда, бағдарламашы шкаланың ересектер ұшына жақынырақ бастайды немесе тәжірибе жинақтаған сайын сол жерге ауысады (ұжымда дұрыс мәдениет дамыған жағдайда). Төтенше жағдайларда ол жұмысын жалғастырады, әдетте балалық позицияны ұстанады, содан кейін ол және команда мезгіл-мезгіл проблемалар мен қақтығыстарға тап болады.

Ұжымда дұрыс, жетілген мәдениетті тәрбиелеу – кез келген басшы үшін маңызды міндет. Бұл ұзақ уақыт пен күнделікті күш-жігерді қажет етеді, бірақ нәтиже тұрарлық. Ұжым мәдениетіне әсер етудің екі жолы бар – үлгі көрсету (міндетті түрде орындалатын болады; команда әрқашан көшбасшыға қарайды) және дұрыс мінез-құлықты талқылау және марапаттау. Мұнда да абструктивтік немесе өте формальды ештеңе жоқ, тек мәселелерді талқылағанда, мұнда бірдеңе жасалуы мүмкін екенін байқаңыз, дұрыс шешім қабылдаған кезде байқағаныңызды атап өтіңіз, мақтау, шығарылымды қарау кезінде ескертіңіз және т.б.

Қарапайымнан күрделіге қарай бірнеше типтік конфликттік жағдайларды қарастырайық:

Ұжымдағы қақтығыстарды басқару – тепе-теңдік әрекеті ме, әлде өмірлік қажеттілік пе?

Жұмыс мәселелерімен байланысты емес жанжалдар

Көбінесе жұмыста жұмыс мәселелерімен байланысты емес жанжалдар болады. Олардың пайда болуы және шешілу жеңілдігі әдетте қатысушылардың эмоционалдық интеллект деңгейіне, олардың жетілу деңгейіне тікелей байланысты және жұмыс процесінің жетілдірілуімен немесе жетілмегендігімен байланысты емес.

Типтік мысалдар: біреу кір жуғыш машинаны немесе душты жиі пайдаланбайды, бұл басқаларға ұнамайды, біреу дымқыл, ал басқалары терезені ашса жел алады, біреу тым шулы, ал басқалары жұмыс істеу үшін тыныштықты қажет етеді және т.б. Мұндай жанжалдарды шешуді кешіктірмеу және олардың өз бағытына жол бермеу жақсы. Олар өздігінен шешілмейді және сізді күнделікті жұмыстан алшақтатып, ұжымдағы атмосфераны улайды. Бақытымызға орай, оларды шешу әдетте үлкен мәселе емес - гигиенаны елемейтін әріптесіңізбен жай ғана (әрине, жеке) сөйлесіңіз, тыныштықты/салқындықты ұнататын адамдарға ыңғайлы отыруды қамтамасыз етіңіз, дыбысты жұтатын құлаққаптар сатып алыңыз немесе қалқаларды орнатыңыз. , т.б.

Жұмыс барысында мен бірнеше рет кездестірген тағы бір мысал – ұжым мүшелерінің психологиялық үйлесімсіздігі. Қандай да бір себептермен адамдар бірге жұмыс істей алмайды, әр әрекеттестік жанжалмен аяқталады. Кейде бұл адамдардың қандай да бір өзекті мәселеге (әдетте саяси) полярлық көзқарастары бар және оларды жұмыстан тыс жерде қалай қалдыру керектігін білмеуімен байланысты. Оларды бір-біріне шыдауға немесе мінез-құлқын өзгертуге көндіру - бұл бос жұмыс. Мен кездестірген жалғыз ерекшелік - ашық қабылдауы бар жас әріптестер; олардың мінез-құлқын әлі де мерзімді әңгімелесу арқылы біртіндеп өзгертуге болады. Әдетте мәселе оларды әртүрлі командаларға бөлу арқылы сәтті шешіледі немесе кем дегенде жұмыста өте сирек қайталану мүмкіндігін береді.

Жоғарыда аталған жағдайлардың барлығында барлық қатысушылармен жеке сөйлесіп, жағдайды талқылап, олар бұл жағдайда проблеманы мүлде көріп-көрмейтінін сұрап, олардың пікірінше, шешу жолдары қандай екенін сұрап, оны жасауға қатысуын қамтамасыз еткен жөн. шешім.

Жұмыс процесін оңтайландыру тұрғысынан (мен атап өткен орта мерзімді перспектива) бұл жерде көп нәрсе істеу мүмкін емес, оңтайландырудың жалғыз нүктесі - команда құру кезінде үйлесімділік факторын ескеру және адамдарды қоймау. алдын ала бірігіп, кім қақтығыс болады.

Командалық мәдениет тұрғысынан алғанда, адамдар ұжымды және әріптестерді құрметтейтін және мәселелерді өз бетінше шешуді білетін жетілген мәдениеті бар ұжымдарда мұндай жағдайлар әлдеқайда жиі кездеседі. Сонымен қатар, мұндай жанжалдар сенімділік деңгейі жоғары, адамдар ұзақ уақыт бірге жұмыс істеген және/немесе жұмыстан тыс жиі араласатын ұжымдарда әлдеқайда оңай (көбінесе автоматты түрде) шешіледі.

Жұмыс мәселелеріне байланысты қайшылықтар:

Мұндай қақтығыстар, әдетте, бірден екі себеппен де, эмоционалдық (қатысушының біреуінің ересек адам қалпында болмауы) және жұмыс процесінің өзінің жетілмегендігінен туындайды. Мүмкін, мен кездестірген қақтығыстардың ең көп таралған түрі - әзірлеушілер арасындағы кодты қарау немесе архитектуралық талқылаулар кезіндегі қақтығыстар.

Мен мұнда екі типтік жағдайды атап өткім келеді:

1) Бірінші жағдайда әзірлеуші ​​әріптесінен кодты қарауды ала алмайды. Патч қарауға жіберіледі және ештеңе болмайды. Бір қарағанда, екі жақтың арасында ешқандай дау-дамай жоқ, бірақ ойлап қарасаңыз, бұл әбден жанжал. Жұмыс мәселесі шешілмеді, тараптардың бірі (қарауды күту) айқын ыңғайсыздықты сезінеді. Бұл істің экстремалды ішкі түрі қауымдастықтағы немесе әртүрлі командалардағы даму болып табылады, ал рецензент жүктеуге немесе басқа жағдайларға байланысты осы нақты кодқа қызығушылық танытпауы мүмкін, қарау сұрауына мүлде назар аудармауы мүмкін, ал сыртқы төреші. (екі жаққа ортақ менеджер) ) мүлде болмауы мүмкін.

Мұндай жағдайда көмектесетін шешім тәсілі дәл ұзақ мерзімді перспективаға, ересек адамның мәдениетіне қатысты. Біріншіден, ақылды әрекет жұмыс істейді. Шолуда ілулі тұрған код рецензенттің назарын өзіне аударады деп күтпеу керек. Біз рецензенттерге оны байқауға көмектесуіміз керек. Пингани бірнеше адам, синкапта сұрақ қойыңыз, талқылауға қатысыңыз. Көмектен гөрі зиян тигізетіні анық, ақыл-ойды пайдалану керек. Екіншіден, алдын ала дайындық жақсы жұмыс істейді. Егер команда не болып жатқанын және неге бұл кодтың не үшін қажет екенін түсінсе, дизайн алдын ала барлығымен талқыланып, келісілген болса, адамдар мұндай кодқа назар аударып, оны жұмысқа қабылдауы ықтимал. Үшіншіден, билік жұмыс істейді. Егер сіз тексерілгіңіз келсе, өзіңізге көп шолу жасаңыз. Нақты тексерулер, нақты сынақтар және пайдалы пікірлер арқылы жоғары сапалы шолулар жасаңыз. Егер сіздің лақап атыңыз командада жақсы танымал болса, сіздің кодыңыздың байқалу ықтималдығы жоғары.

Жұмыс үрдісі тұрғысынан мұндағы мүмкін жақсартулар әзірлеушіге өзінің және топтың мақсаттарына жетуге көмектесуге бағытталған дұрыс басымдылық болып табылады (басқаларды қарап шығыңыз, қауымдастыққа хат жазыңыз, кодты архитектуралық сипаттамамен, құжаттамамен, сынақтармен бірге жүріңіз, пікірталастарға қатысыңыз. қауымдастық және т.б.), патчтардың кезекте тым ұзақ ілініп тұруын болдырмау және т.б.

2) Кодты немесе дизайнды қарау кезінде қайшылықтардың екінші жиі кездесетін жағдайы техникалық мәселелерге, кодтау стиліне және құралдарды таңдауға қатысты әртүрлі көзқарастар болып табылады. Бұл жағдайда қатысушылар арасындағы сенім деңгейі, бір командаға жататындығы және бірлесіп жұмыс істеу тәжірибесі үлкен мәнге ие. Қатысушылардың бірі балалық позицияны ұстанып, әңгімелесушінің оған не айтқысы келетінін естуге тырыспаған кезде тұйыққа тіреледі. Көбінесе екінші тарап ұсынған тәсіл де, бастапқыда ұсынылған тәсіл де сәтті жұмыс істеуі мүмкін және қайсысын таңдау керектігі маңызды емес.

Бір күні менің командамның бағдарламашысы (оны Паша деп атаймыз) көрші бөлімшедегі әріптестер әзірлеген және қолдаған пакетті орналастыру жүйесіне өзгерістер енгізілген патч дайындады. Олардың бірі (Игорь) пакеттерді орналастыру кезінде Linux қызметтерін қалай конфигурациялау керектігі туралы өзінің күшті пікіріне ие болды. Бұл пікір патчта ұсынылған тәсілден өзгеше болды және олар келісе алмады. Әдеттегідей, мерзімдер аяқталып, қандай да бір шешімге келу керек болды, олардың біреуі ересек позицияны алуы керек еді. Паша екі көзқарастың да өмір сүруге құқығы бар екенін мойындады, бірақ ол өз таңдауын өтуді қалады, өйткені Бірде де, екінші нұсқада да айқын техникалық артықшылықтар болған жоқ.

Біздің пікірталасымыз мынадай болды (өте схемалық түрде, әрине, әңгіме жарты сағатқа созылды):

- Паша, бізде бірнеше күннен кейін қатып қалу мүмкіндігі бар. Барлығын жинап, тестілеуді мүмкіндігінше тезірек бастау маңызды. Игорь арқылы қалай өте аламыз?
— Ол қызметтерді басқаша орнатқысы келеді, мен үшін сол жерде түсініктемелер қалдырды...
- Ал не бар, үлкен өзгерістер, көп шу?
– Жоқ, бір-екі сағат жұмыс бар, бірақ түбінде ешқандай айырмашылық жоқ, ол екі жолмен жұмыс істейді, бұл не үшін қажет? Мен жұмыс істейтін нәрсе жасадым, оны қабылдайық.
– Тыңдашы, осының бәрін қанша уақыттан бері талқылап келе жатырсың?
- Иә, біз бір жарым аптадан бері уақытты белгілеп жатырмыз.
- Мм... бір жарым аптаға созылған мәселені бір-екі сағатта шешіп алмай, шешіп бере аламыз ба?
- Иә, иә, бірақ мен Игорь мені ренжітті деп ойлағанын қаламаймын ...
– Тыңда, саған не маңыздырақ, ішкі шешіміңмен бірге босату ма, әлде Игорьді өлтіру ме? Біз оны бұғаттай аламыз, бірақ шығарылым арқылы ұшуға жақсы мүмкіндік бар.
- Игорьдің мұрнын сүрту, әрине, жақсы болар еді, бірақ жақсы, босату маңыздырақ, мен келісемін.
- Игорьдің не ойлайтыны сізге соншалықты маңызды ма? Шынымды айтсам, ол мүлде мән бермейді, ол өзі жауапты істің әртүрлі жерлерінде біртұтас көзқарасты қалайды.
- Жарайды, түсініктемеде оның сұрағанын орындайын, тестілеуді бастайық.
-Рахмет, Паша! Игорек сізден үлкен болса да, екеуіңнің де жетілгендеріңе сенімді едім :)

Мәселе шешілді, босату уақытында шығарылды, Паша көп наразылықты сезінбеді, өйткені шешімін өзі ұсынып, жүзеге асырды. Игорь жалпы риза болды, өйткені... Оның пікірі ескеріліп, оның айтқанын істеді.

Негізінде бірдей қақтығыстың тағы бір түрі жобадағы, әсіресе бөлінген топтағы техникалық шешімдер/кітапханалар/тәсілдер арасындағы таңдау болып табылады. C/C++ қолданатын жобалардың бірінде жобаны техникалық басқару STL (Standard Template Library) қолдануға үзілді-кесілді қарсы екені анықталды. Бұл дамуды жеңілдететін стандартты тіл кітапханасы және біздің команда оған әбден үйренген. Жоба C++ тіліне қарағанда Си тіліне әлдеқайда жақын екені белгілі болды, бұл команданы онша шабыттандырмады, өйткені басшылық бар күш-жігерін салуға тырысты және шынымен керемет ойыншыларды қабылдады. Сонымен бірге, команданың америкалық бөлігі инженерлер де, менеджерлер де кәсіпорында ұзақ уақыт жұмыс істеген, қалыптасқан жағдайға үйреніп, бәріне риза болатын. Команданың ресейлік бөлігі жақында, бірнеше апта ішінде (оның ішінде мен де) жиналды. Команданың ресейлік бөлігі дамудың әдеттегі тәсілінен бас тартқысы келмеді.

Екі континент арасында бітпейтін жазбаша талқылаулар басталды, үш-төрт экрандағы хаттар бағдарламашылардан бағдарламашылар мен менеджерлерге дейін топтық және жеке хаттар арқылы алға-артқа ұшып жатты. Әдеттегідей, мұндай ұзындықтағы хаттарды авторлар мен олардың қызу қолдаушыларынан басқа ешкім оқымады. STL техникалық артықшылықтары, оның қаншалықты жақсы тексерілгені, қаншалықты қауіпсіз екендігі және тұтастай алғанда, онсыз өмір қаншалықты керемет және онсыз қаншалықты қорқынышты екендігі туралы әртүрлі бағыттар бойынша көп экранды ойларды өткізіп, шиеленіспен шиеленіскен чаттар. .

Мұның бәрі өте ұзақ уақытқа созылды, мен мәселенің техникалық аспектілерін талқылап жатқанымызды түсіндім, бірақ мәселе шын мәнінде техникалық емес еді. Мәселе STL артықшылығы немесе кемшіліктері немесе онсыз жұмыс істеудің қиындығы емес. Мәселе біршама ұйымдастырушылық. Біз жұмыс істеген компанияның қалай жұмыс істегенін түсінуіміз керек еді. Ешқайсымыздың бұрын мұндай компанияда жұмыс істеген тәжірибеміз болған жоқ. Мәселе мынада, код әзірленіп, өндіріске шығарылғаннан кейін қолдауды басқа командалардан, басқа елдерден мүлдем басқа адамдар басқарды. Бірнеше ондаған мың инженерлерден тұратын бұл үлкен инженерлік команда (барлығы) техникалық құралдардың толық негізгі минимумын ғана, былайша айтқанда, минималды минимумды ғана ала алды. Физикалық тұрғыдан компанияда белгіленген инженерлік стандарттан тыс кез келген нәрсені болашақта қолдау мүмкін емес. Команданың деңгейі оның ең әлсіз мүшелерінің деңгейімен анықталады. Біз түсінгеннен кейін нақты мотивация Команданың американдық бөлігінің әрекетіне байланысты бұл мәселе күн тәртібінен алынып тасталды және біз бірге компания қабылдаған стандарттарды қолдана отырып өнімді сәтті әзірлеп, шығардық. Бұл жағдайда хаттар мен чаттар жақсы жұмыс істемеді; ортақ бөлгішке келу үшін бірнеше сапарлар мен көп жеке қарым-қатынас қажет болды.

Жұмыс процесі тұрғысынан алғанда, бұл нақты жағдайда қолданылатын құралдардың сипаттамасы, оларға қойылатын талаптар, жаңаларын қосуға шектеулер және мұндай шектеулердің негіздемесі болуы көмектеседі. Мұндай құжаттар «Бағдарламалық қамтамасыз етуді әзірлеу бойынша менеджер анықтамалығының» «Қайта пайдалану стратегиясы және даму ортасы» тармақтарында сипатталғандарға шамамен сәйкес келеді. НАСА. Өзінің жасына қарамастан, ол осы түрдегі бағдарламалық жасақтаманы әзірлеудің барлық негізгі әрекеттері мен жоспарлау кезеңдерін тамаша сипаттайды. Осындай құжаттардың болуы өнімде қандай құрамдас бөліктер мен тәсілдерді қолдануға болатынын және неліктен болатынын талқылауды жеңілдетеді.

Мәдени тұрғыдан алғанда, тараптар өз әріптестерінің іс-әрекетінің шынайы мотивациясын тыңдап, түсінуге тырысатын және жеке эго емес, жоба мен команданың басымдықтарына сүйене отырып әрекет ететін неғұрлым жетілген ұстаныммен, анық. , қақтығыс оңайырақ және тезірек шешілетін еді.

Техникалық шешімді таңдауға қатысты тағы бір қақтығыста тараптардың бірінің мотивациясын түсіну маған айтарлықтай уақытты алды (бұл өте ерекше жағдай болды), бірақ мотивация анық болғаннан кейін шешім анық болды.

Жағдай былай: 20 адамнан тұратын командада жаңа әзірлеуші ​​пайда болады, оны Стас деп атаймыз. Ол кезде біздің команда ретінде сөйлесудің стандартты құралы Skype болды. Кейін белгілі болғандай, Стас ашық стандарттар мен ашық бастапқы бағдарламалық қамтамасыз етудің үлкен жанкүйері болды және тек көздері жалпыға қолжетімді және жалпы сипатталған хаттамаларды пайдаланатын құралдар мен операциялық жүйелерді ғана пайдаланды. Skype бұл құралдардың бірі емес. Мы потратили уйму времени на обсуждения достоинств и недостатков этого подхода, попыток запуска аналогов скайпа на разных операционных системах, попытках Стаса убедить команду перейти на другие стандарты, писать ему персонально по почте, звонить ему персонально по телефону, купить ему второй компьютер специально для скайпа, және т.б. Ақырында, мен бұл мәселенің мәні бойынша техникалық немесе ұйымдастырушылық емес екенін түсіндім, ол идеологиялық, тіпті, діни (Стас үшін) деп айтуға болады. Ақырында Stas пен Skype қосылса да (бұл бірнеше айға созылды), мәселе кез келген келесі құралда қайта пайда болады. Менің қолымда Стастың дүниетанымын өзгертуге нақты мүмкіндігім болмады және осы ортада мінсіз жұмыс істеген команданың дүниетанымын өзгертуге ешқандай себеп жоқ еді. Адам мен компания дүниетанымында жай ғана ортогональды болды. Мұндай жағдайларда жақсы шешім ұйымдастырушылық болып табылады. Біз Стасты басқа командаға ауыстырдық, онда ол органикалық болды.

Бұл қақтығыстың себебі, менің ойымша, белгілі бір адамның жеке мәдениеті (оның ымыраға келуге жол бермейтін күшті пікірі бар) мен компания мәдениетінің арасындағы сәйкессіздік. Бұл жағдайда, әрине, менеджердің қателігі. Бастапқыда оны мұндай жобаға қабылдау дұрыс болмады. Ақырында Стас ашық бастапқы коды бар бағдарламалық жасақтаманы әзірлеу жобасына көшті және сонда жақсы болды.

Әзірлеушінің балалық көзқарасынан да, жұмыс процесінің кемшіліктерінен де туындаған қақтығыстың жақсы мысалы - бұл орындалғанның анықтамасы болмаған кезде әзірлеуші ​​мен QA тобының дайындығына қатысты әртүрлі күтулері болатын жағдай. мүмкіндік QA-ға ауыстырылды. Әзірлеуші ​​кодты жазу және мүмкіндікті QA-ға қоршау арқылы тастау жеткілікті деп есептеді - олар оны сол жерде сұрыптайды. Айтпақшы, әбден жетілген және тәжірибелі бағдарламашы, бірақ бұл оның сапа үшін ішкі шегі болды. QA мұнымен келіспеді және оларға өзі тексергенін көрсетуді және сипаттауды талап етті және олар үшін сынақ сценарийін талап етті. Олар бұрын осы әзірлеушінің функционалдығына қатысты мәселелерге тап болған және қайтадан уақыттарын босқа өткізгісі келмеді. Айтпақшы, олар дұрыс болды - мүмкіндік шынымен жұмыс істемеді, ол QA-ға жібермес бұрын кодты тексермеді.

Жағдайды шешу үшін мен одан бәрі шынымен жұмыс істегенін көрсетуін өтіндім (бұл жұмыс істемеді және ол оны түзетуге мәжбүр болды), біз командамен және орындалғанның QA анықтамасымен сөйлестік (олар оны орындаған жоқ. жазу, өйткені біз процесті тым бюрократиялық еткіміз келмеді ), ​​жақсы, біз көп ұзамай бұл маманмен (жалпы жеңілдету үшін) жолдарымызды бөлдік.

Жұмыс процесі тұрғысынан бұл жағдайда мүмкін жақсартулар орындалған анықтаманың болуы, әрбір бірлік мүмкіндігін қолдауға қойылатын талаптар және интеграциялық сынақтар және әзірлеуші ​​жүргізген тестілеудің сипаттамасы болып табылады. Жобалардың бірінде біз кодты қамту деңгейін CI кезінде сынақтар арқылы өлшедік және патч қосқаннан кейін қамту деңгейі төмендесе, сынақтар сәтсіз деп белгіленді, яғни. кез келген жаңа код оған жаңа сынақтар болған жағдайда ғана қосылуы мүмкін.

Жұмыс процесін ұйымдастырумен тығыз байланысты жанжалдың тағы бір типтік мысалы. Бізде өнім, өнімді әзірлеу тобы, қолдау көрсету тобы және тұтынушы бар. Тұтынушыда өнімге қатысты мәселелер бар және қолдау қызметіне хабарласады. Қолдау қызметі мәселені талдайды және мәселе өнімде екенін түсінеді және мәселені өнім тобына береді. Өнім тобы бос емес уақытта, шығарылым жақындап қалды, сондықтан тапсырыс берушінің проблемасы бар билет, ол тағайындалған әзірлеушінің басқа билеттерінің арасында жоғалып, бірнеше апта бойы назар аудармай ілініп тұрады. Қолдау қызметі әзірлеуші ​​тұтынушының мәселесімен жұмыс істеп жатыр деп ойлайды. Тұтынушы күтеді және олардың мәселесі шешіліп жатыр деп үміттенеді. Шындығында, әлі ештеңе болып жатқан жоқ. Бірнеше аптадан кейін тұтынушы істің қалай жүріп жатқанын сұрайды. Қолдау дамуды сұрайды. Әзірлеуші ​​дірілдеп, билеттер тізімін қарап, сол жерден тұтынушыдан билет табады. Клиенттен билетті оқи отырып, ол мәселені шешу үшін ақпарат жеткіліксіз екенін түсінеді және оған көбірек журналдар мен қоқыс қажет. Қолдау қызметі тұтынушыдан қосымша ақпаратты сұрайды. Содан кейін тұтынушы осы уақыт бойы оның мәселесімен ешкім айналыспағанын түсінеді. Ал күн күркірейді...

Бұл жағдайда қақтығыстың шешімі өте айқын және сызықты (өнімді түзетіңіз, құжаттама мен сынақтарды жаңартыңыз, тұтынушыны тыныштандырыңыз, түзетуді шығарыңыз және т.б.). Жұмыс процесін талдау және екі ұжымның өзара әрекеттесуін ұйымдастыруға кім жауапты екенін және бұл жағдайдың бірінші кезекте неліктен мүмкін болғанын түсіну маңызды. Бұл процесте нені түзету керек екені түсінікті - біреу тұтынушылардың ескертулерінсіз, белсенді түрде жалпы суретті бақылауы керек. Тапсырыс берушінің билеттері әзірлеушілердің басқа билеттерінен ерекшеленуі керек. Қолдау әзірлеу тобының қазір өз билеттерімен жұмыс істеп жатқанын, ал егер жұмыс істемесе, қашан жұмыс істей бастайтынын және нәтиже күтетін уақытты білуі керек. Қолдау және әзірлеу мезгіл-мезгіл хабарласып, билеттер күйін талқылауы керек, жөндеуге қажетті ақпаратты жинау мүмкіндігінше автоматтандырылуы керек және т.б.

Соғыс кезінде жау екі бөлімшенің түйіскен жеріне соғуға тырысатыны сияқты, жұмыста да ең нәзік және осал нүкте әдетте командалар арасындағы өзара әрекеттестік болып табылады. Қолдау және дамыту менеджерлері жеткілікті жаста болса, олар процесті өздері түзете алады, егер жоқ болса, жағдайды түзете алатын менеджер араласқанша процесс қақтығыстар мен проблемаларды тудыра береді.

Мен әртүрлі компанияларда бірнеше рет көрген тағы бір типтік мысал - өнімді бір команда жазатын жағдай, ол үшін автоматты интеграция сынақтарын екінші команда жазады және оның барлығы жұмыс істейтін инфрақұрылым үшінші топпен бірге жүреді. команда. Сынақтарды орындау кезінде мәселелер үнемі туындайды және олардағы ақаулардың себебі өнім де, сынақтар мен инфрақұрылым да болуы мүмкін. Мәселелерді, қателерді файлды, өнімнің талдау журналдарын, сынақтарды және инфрақұрылымды және т.б. бастапқы талдауды кім орындауы керектігі туралы келісу әдетте қиын. Мұнда қақтығыстар өте жиі және сонымен бірге біркелкі. Жоғары эмоционалды қарқындылық жағдайында қатысушылар жиі балалық позицияға түседі және келесі серияларда пікірталас басталады: «неге мен мұны істеуім керек», «олар жиі бұзылады» және т.б.

Жұмыс үрдісі тұрғысынан мәселені шешудің нақты қадамдары топтардың құрамына, сынақтар мен өнім түріне және т.б. байланысты. Жобалардың бірінде біз мерзімді кезекшілікті енгіздік, онда командалар бір-бірден, апта сайын сынақтарды бақылап отырды. Екіншісінде, бастапқы талдауды әрқашан сынақ әзірлеушілері жасады, бірақ талдау өте қарапайым болды және өнім айтарлықтай тұрақты болды, сондықтан ол жақсы жұмыс істеді. Ең бастысы - процестің ашық болуын қамтамасыз ету, барлық тараптар үшін күтулер айқын және жағдай барлық адамдар үшін әділетті болып көрінеді.

Қақтығыстар тіпті ұйымдағы проблема ма?Бұл сіздің командаңызда жиі (немесе жай ғана мезгіл-мезгіл) қақтығыстардың орын алуының жаман белгісі ме? Жалпы, жоқ, өйткені өсу, даму бар болса, қандай да бір динамика бар болса, онда бұрын-соңды шешілмеген мәселелер туындайды, оларды шешу кезінде қайшылықтар туындауы мүмкін. Бұл кейбір салаларға назар аударуды қажет ететіндігінің, жақсартуды қажет ететін тұстардың бар екендігінің көрсеткіші. Қақтығыстар өте жиі туындаса, шешу қиын немесе ұзақ уақытқа созылса, бұл жаман. Бұл, ең алдымен, жұмыс процестерінің жеткіліксіз реттелгендігінің және ұжымның жеткіліксіз жетілгендігінің белгісі.

Ақпарат көзі: www.habr.com

пікір қалдыру