بایگانی

Posts Tagged ‘Agile Coach’

Agile Coach

Agile Coach یا همان مربی Agile یکی از نقش ها و یا شخصیت هایی است که فقط می توانید در محیط های چابک (Agile ) او را ببینید . بنابه تازگی خود مبحث Agile در ایران تصمیم به معرفی شخصیت و  وظایف یک مربی Agile  در این پست گرفتم .

Agile Coachhttps://sirasad.files.wordpress.com/2010/08/coachin1g.jpg?w=461 کسی است که به سازمان ها و شرکت های توسعه نرم افزار در پروسه چابک شدنچابک ماندن و چابک کار کردن کمک می کند . این کمک   توسط دو نوع Coach قابل ارائه است (یعنی در واقع ما دو نوع مربی داریم ) :

  • مربی داخلی یا درون سازمانی
  • مربی خارجی یا برون سازمانی

مربی داخلی در واقع  یکی از نیروهای انسانی درون سازمانی می باشد که به عنوان یک Agile Coach دوره دیده است و وظیفه او علاوه بر کارهای دیگر Coach کردن تیم های توسعه می باشد . ولی مربیان خارجی به صورت موقت از طریق شرکت های مربوطه (مثلا اینجا)  استخدام (اجاره ) می شوند و وظایف درخواستی را انجام می دهند .

بعضا از من پرسش می شود که مربی داخلی برای یک شرکت مناسب می باشد یا مربی خارجی ؟ جواب من اینگونه می تواند باشد که هر دو نوع مربی هزینه بر خواهند بود ولی میزان هزینه  و زمان برگشت هزینه مهم می باشد  .  به شخصه من متعقد هستم که یک مربی خارجی بهتر و کم هزینه تر از مربی داخلی خواهد بود  بدلیل اینکه ما به عنوان سازمان برای آموزش و متخصص کردن نیروی انسانی خودمان باید هزینه و زمان زیادی صرف کنیم که برای سازمان ها و شرکت ها زیاد خوشایند نخواهد بود . علاوه بر این تضمینی وجود ندارد که نیروی انسانی بعد از متخصص شدن برای خود دکه باز نکند ؟! هزینه را سازمان می کند ولی برداشت را شخص می کند . البته بحث اصلی این نوشته بر روی خوبی و یا بدی هیچ یک از این مربیان نیست و من تصمیم نهایی را بر عهده سوال کننده می گذارم .

گذشته از اینکی ما از مربی داخلی  یا خارجی استفاده می کنیم ,  در وظایف این مربیان هیچ فرقی به وجود نمی آید . یعنی وظایف مربی داخلی با خارجی به هیچ وجه متفاوت نیست (مگر اینکه داخلی بدلایلی که همگان بهتر می دانند کم کاری بکند ) . از جمله خدمات یک مربی Agile (گذشته از فاز و یا مرحله ) می توان به موارد زیر اشاره کرد :

  • کمک به سازمان در پروسه چابک شدن
  • کمک به سازمان در پروسه چابک ماندن
  • کمک به سازمان در پروسه چابک کار کردن

https://sirasad.files.wordpress.com/2010/08/coaching.gif?w=335اگر به تمام موارد بالا توجه کنید متوجه خواهید شد که همه آنها یکی هستند ولی در زمان متفاوت به اجرا در می آیند . پروسه چابک شدن که به آن اصلاحا Agile Transition هم اطلاق می شود ,  برای سازمان هایی قابل ارائه است که تا به حال چابک نبوده اند و می خواهند چابک شوند . چابک ماندن تقریبا فاز بعدی فاز چابک شدن است . یعنی سازمان شروع به Transition کرده است و برای تحکیم بخشیدن به فاز اول این فاز اجرا می شود . فاز چابک کار کارکردن هم که همانند این است که اجازه بدهیم بچه خودش راه برود .

برای مثال , این پروسه و فاز ها همانند این هستند که به یک نفر می خواهیم شنا یاد بدهیم . نخستین حرکت شناخت او و آموزش بر اساس توانایی ها یش می باشد (فاز چابک شدن )  سپس  او را وارد آب می کنیم و در سطح آب شناور می کنیم و با گرفتن دست هایش و یا هر جای دیگر از بدنش به او کمک می کنیم که بتواند شناور باقی بماند (فاز چابک ماندن )  بعد او را ترغیب می کنیم خودش مواردی که یاد گرفته است در واقعیت به کار بگیرد و شنا کند البته با نظارت ما { یهو دید غرق شد } (فاز چابک کار کردن ).

البته سازمان ها شاید قبل از استخدام یک مربی مراحلی را پشت سر گذاشته اند و در مراحلی بامشکل مواجه شده اند . (فرضا برای مثال شناگر : فرض کنید یک شناگر می تواند کرال جلو حرکت کند ولی نمی تواند کرال پشت یا قورباغه حرکت کند در این حالت از یک مربی استفاده میکند و یا مهم تر از این کرال جلو می تواند حرکت کند ولی احساس می کند که در انجام حرکت دست مشکل دارد که در این حالت هم می تواند از مربی استفاده کند ) .

سازمان ها همانند مثال شناگر می توانند در مراحل مختلف از مربی استفاده کنند ولی بنابه تجربه خودم ,  اعتقاد دارم که برای ایجاد یک سازمان چابک خوب باید از اولین مرحله مربی با تیم باشد , اگر بعد از برخورد با مشکل به مربی مراجعه کنیم شاید هزینه بر تر باشد و یا شاید امکان حل مشکل نباشد . در کل به نظر بنده برای ایجاد یک سازمان Agile خوب و پایدار حتما باید از یک مربی Agile (چه داخلی و چه خارجی )  استفاده شود .

بعضا از بنده سوال می شود که «یک مربی برای چابک سازی یک سازمان چه کارهایی و چه فعالیت هایی را انجام می دهد و هزینه و زمان آن به چه صورت است ؟ » به قول برنامه های تلویزیونی , سوال خوبی بود که پرسیده شد و این سوال عده زیادی از دوستان دیگر نیز می باشد که اینگونه قابل جواب دادن است : هر مربی روش خاص به خود را دارد ولی به طور خلاصه و  معمول مربیان از فعالیت زیر غافل نمی شوند :

  • مطالعه و شناخت دقیق وضع فعلی سازمان ( Understand)
  • آموزش نسبت به مطالعات و نیازهای فعلی و آتی سازمان (Educate)
  • اجرا پروسه  Execute)  Agile )
  • بازبینی اجرا و تصحیح عملکردها (Reflect)

برای وضوح موارد بالا به همان مثال شناگر باز می گردیم : شناگری می خواهد در مسابقات جهانی همراه مایکل فلیپس شنا کند و از او پیشی بگیرد و قهرمان جهان شود  البته او هیچ وقت شنا نکرده است .  این آگاهی ها و دانش به اینکه او اصلا هیچ وقت شنانکرده ,  می خواهد قهرمان جهان شود و آگاهی از وضع جسمانی و روانی او ,  به طور کلی  فاز شناخت ما از سازمان وجودی آن شخص می شود .  بنابه دانش کسب شده و اهداف سازمان , آموزش هایی در جهت نیل به این اهداف به فرد داده می شود .  بعد به این فرد اجازه داداه می شود که وارد آب شود و آموزش های دیده را به کار ببندد . بعد نوبت به بازبینی ها می رسد . مربی به همراه فرد در مدت زمان های معلوم و مشخص عملکرد فرد را بازبینی می کنند تا به مدل هایی بهتری دست بیایند . البته فاز بازبینی و آموزش و اجرا دائما تکرار می شوند . و بعد از مدتی  که فرد به شرایط ایده آل قهرمانی می رسد  , در آن هنگام مربی می تواند او را رها کند .

https://sirasad.files.wordpress.com/2010/08/total-agile-coaching.png?w=432دقیقا پروسه Agile شدن سازمان ها بدین شکل خواهد بود . اما در سوال پرسیده شده بود که چه مدت زمان نیاز است که سازمان چابک شود . به این سوال دقیق نمی توان پاسخ داد زیرا همانند بحث شناگر این کاری است تجربی . آموزش – اجرا – بازبینی چون باید تکرار شوند مسلما قابل پیش بینی نیستند ولی بنابه تجربه ,  شناخت و آموزش چیزی حدود 3 یا 4 روز به طول می انجامد (البته به وسعت سازمان بستگی دارد ) ولی برای فاز اجرا انجام یک یا دو اسپرینت نیاز می باشد ( اسپرینت های معمولا دو هفته ای ) بعد هر اسپرینت هم که عملیات بازبینی انجام می شود . اگر مثلا با دو اسپرینت تیم بتواند به شرایط مناسب برسد ,  تیم چابک شده است و به طور میانگین 1 – 2 ماه امکان دارد طول بکشد (نسبت به سازمان متغییر می باشد ) . ولی تا این که سازمان کامل چابک شود (منظور از کامل یعنی به حدی چابک شوند که به اهداف سازمان دست بیابند )  شاید زمان بیشتری نیاز باشد ولی مربی در این زمان برای هدایت و رهبری پروسه چابک کافی می باشد .

خواندن مطلب چابک سازی سازمان و چراها که قبلا و در این باب نوشته شده است خالی از لطف نیست .

یاشیاسیز

دسته‌ها:Agile, Scrum برچسب‌ها: , , , ,

Agile شدن در 4 مرحله

پروسه چابک شدن را می توان در 4 مرحله انجام داد  ولی قبل از پرداخت به این مسئله جا دارد که عرض نمایم , Agile شدن از آنچکه به نظر می آید , بسیار مشکل تر می باشد . Agile همانند تغییرات اساسی  دیگر ,  زمان بر و هزینه بر و مشکل می باشد . Agile مانند یک زبان برنامه نویسی نیست که مثلا تا دیروز با ASP کار میکردیم و اگر بخواهیم با PHP کار کنیم ,  با چند تا برنامه نویس جدید مشکل حل خواهد شد . در فرآیند چابک شدن ,  همه چیز تغییر می کند دقیقا مانند عوض شدن وزیر یک وزارتخانه (وقتی وزیری عوض می شود ,  از آبدارچی تا خود وزیر عوض می شود ولی این مورد برای مقایسه مد نظر ما نمی باشد ,  مورد اصلی این است که اگر وزیر قبلی راستی بود ,  وزیر فعلی چپی خواهد شد و بالعکس. یعنی تفکراتی در خلاف هم و به عبارتی دیگر تفکری جدید در سازمان موجود ) . مسئله اصلی در فرآیند چابک شدن , تغییر تفکرات است  از مدیریت  گرفته تا برنامه نویس سطح چندم .https://sirasad.files.wordpress.com/2010/05/governancetool02.jpg?w=359

هر تغییر تفکری بسیار سخت و زمان بر می باشد . بعضی انسان ها بسیار در مقابل تغییرات مقاومت می کنند و تغییر در چنین انسان هایی مشکل می باشد (کتاب «چه کسی پنیر مرا جابجا کرد» پیشنهاد می شود). اگر پروسه تغییر چابک شدن و یا باصلاح انتقال به چابک درست انجام نشود ,  نتیجه سوء ای در پی خواهد داشت . به یک نمونه در مورد انتقال اشتباه به چابک می توانید در این آدرس دست بیابید .

برای چیره گی به این سختی و انتقال بهتر به دنیای چابک و چابک شدن پیشنهاد من استفاده از مربی یا معلم چابک (Agile Coach) است . بدلیل اینکه او بهتر از شما می تواند این انتقال را انجام بدهد . نفش Agile Coach و سازمان در تمام مراحل انتقال به Agile  به صورت زیر می باشد :

  • فهمیدن

این بخش توسط مربی و یا سازمان انجام می شود . در این مرحله وضعیت فعلی سازمان تحلیل و بررسی می شود  و در واقع کشف می شود که چرا باید اصلا سازمان چابک شود . در صورت پی بردن به لزوم استفاده از Agile  در قدم بعدی متد مورد استفاده (اسکرام , XP , کریستال و…) تعیین می شود .

  • آموزش

در این مرحله نیروی کار و مدیران توسط مربی و یا متخصصین Agile مورد آموزش قرار می گیرند . در اولین قدم آموزش ,  ارزشهای چهارگانه توسعه چابک و بعد  12 اصل توسعه نرم افزار چابک تدریس و یاد داده می شود. منظور از یاد دادن فقط تکرار طوطی وار بیانیه چابک نیست ,  بلکه باید همه اعضای تیم و سازمان کاملا این مفاهیم را درک نمایند و کاملا به آن پایبند شوند. در قدم بعدی روش (اسکرام , XP , کریستال و…) انتخاب شده در طی جلسات و کارگاههای آموزشی گوناگون  یاد داده می شود . (در این مرحله می توان حتی Product Owner ها را هم آموزش داد).

  • اجرا کردن

سخت ترین مرحله Agile همین مرحله می باشد . در همین باب شاعر می فرماید : «Agile بسیار راحت است اما اجرا کردنش بسیار مشکل می باشد » . بدلیل اینکه همه چیز در اجرا کردن Agile تازه و جدید و اصلا متفاوت با روش های قدیمی می باشد ,  تیم کمی با مشکل مواجه خواهد شد . در این مرحله Coach نقش بسزایی را بازی خواهد کرد . (البته در این پست نمی خواهم Coach بودن را تدریس کنم  و از توضیح اضافی این بند خودداری می کنم ). اما سازمان مربوطه هم در مقابل Coach در این مرحله وظایفی دارند : 1- تیم باید خوش بین باشد 2- بعضا شکست ها اجتناب ناپذیرند ولی نکته مهم این است که تیم از آنها درس جدیدی را یاد بگیرد 3- بعضی از جلسات و کارها شاید مسخره به نظر برسد ولی اعتماد بکنید زیرا آنها کار خواهند کرد .

  • بازبینی و تصحیح

تیم باید حتما و دوباره حتما Retrospective را انجام بدهد . زیرا تیم باگذشت هر تکرار یا اسپرینت در اسکرام باید بهتر شود و این امکان پذیر نیست جز با نگاه به عقب و پیدا کردن نقاط ضعف و اشتباه و برطرف کردن آنها در تکرارها و یا اسپرینت های بعدی .

پ.ن : البته آنقدر گفتیم سخت است ,  سخت است که شاید یک سری کلا Agile رو بیخیال شدند ولی اصلا جای نگرانی نیست . با یکم صبرو حوصله و کمی هزینه (مالی و زمانی) خواهید توانست به یک سازمان مطلوب چابک دست بیابید .

یاشیاسیز