برنامه نویسان مانعی برای چابک سازی

بلی شاید برنامه نویسان یا به عبارتی توسعه گران در تیم های نرم افزاری مانع جدی در روند چابک سازی و یا استفاده از متد اسکرام  باشند. ولی چگونه و چرا؟

در این سال ها که بسیاری بر روی چابک سازی و لزوم حرکت سازمان ها به سمت چابک شدن صحبت کرده اند ، کتاب نوشته اند و … به نظر میرسد که خوب عمل شده است ، و خیلی ها حتی از جمله شرکت هایی در ایران به این سمت حرکت کرده اند.  در این مابین که موسساتی مانند PMI هم که از لزوم چابک شدن صحبت می کنند ، بر اهمیت قضیه می افزایند و شرکت ها و نفرات غیر نرم افزاری را هم به این دنیا علاقمند می سازند.

آماری به شکل زیر در سال 2008 توسط موسسه فاستر نشان داد که اسکرام پر طرفدارترین متد از متدهای چابک می باشد و شرکت ها هم بیشتر به سمت استفاده ازاین متد برای چابک شدن حرکت کرده اند.

6886.image_621F0323.png (443×419)

اما شرکت ها چگونه می توانند از اسکرام استفاده نمایند ؟ یا به عبارتی چگونه شروع کنیم؟

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

به مفهموم دیگر ، اسکرام یک فرآیند مدیریت پروژه می باشد و برای همین مدیران شرکت ها و تیم ها به یادگیری آن علاقه نشان می دهند. ولی آیا برنامه نویس مگر قرار نیست در این فرآیند کار کند؟ خوب شاید بگوییم فرآیند تغییر پیدا می کند ولی برنامه نویس لازم نیست تکنیک یا روش جدیدی یاد بگیرد و همین که با مفاهیمی مثل جلسات روزانه سرپایی اسکرام و … آشنا شد کافی هست آن را هم که اسکرام مستر در چند ساعت به بقیه یاد می دهد. شرکت های نرم افزاری ما (البته نه فقط ایران) معمولا دارای برنامه نویسان خوبی است ، ولی از تکنیک ها و روش های سنتی و بزن درویی در فرآیند توسعه استفاده می کنند. معمولا کد تمیز ، نوشتن تست قبل از کد نویسی ، اتوماتیک سازی چرخه ساخت و اینگونه مفاهیم در حد تئوری در تیم های ما جا دارند و نه در عمل.

بدون تعارف ، تنها با تغییر اسمی فرآیند ، ما به بهشت برین دست نخواهیم یافت. ما نیازمند این هستیم که برنامه نویس ها و تمامی توسعه گران به تکنیک ها و روش های جدیدی مجهز شوند. یک جمله در بیانیه چابک “قبول تغییرات در هر لحظه” کسانی که دستی برآتش دارند می دانند که یعنی چه و چه هزینه ای می تواند داشته باشد و شاید اگر دارای چارچوب خوبی نباشیم اصلا امکان پذیر نباشد.

این نگرانی فقط برای تیم های ایرانی نیست ، یعنی در تمام دنیا تیم هایی که می خواستند به سمت اسکرام بروند با این مشکل مواجه شده اند :

“Agile is an excellent approach is you have a small team of highly skilled developers managing themselves in a co-located workplace with great engineering tools and practices.

2002 , in response to the Agile Manifesto, Barry Boehm

یا

“There’s a mess I’ve heard about with quite a few projects recently. It works out like this

• They want to use an agile process, and pick Scrum
• They adopt the Scrum practices, and maybe even the principles
• After a while progress is slow because the code base is a mess

What’s happened is (people using Scrum) haven’t paid enough attention to the internal quality of their software (…) I’ve mentioned Scrum because when we see this problem, Scrum seems to be particularly common as the nominative process the team is following (…) because Scrum is process that’s centered on project management techniques and deliberately omits any technical practices.

I’m sure that the many Flaccid Scrum projects being run will harm Scrum’s reputation, and probably the broader agile reputation as well.”

– Martin Fowler, January 2009

یا

“By early 2009, (…) more organizations were using Agile processes than waterfall processes (…) However, less than 50% of those using Scrum were developing in incremental iterations, which are the heartbeat of Scrum. (…) One of the biggest challenges of using Scrum has always been the steep learning curve for the developers on the Scrum team.”

– Jeff Sutherland and Ken Schwaber, March 2010

با توجه به این صحبت ها ، ما به تیم هایی نیاز داریم که از نظر فنی و تکنیکی جوابگوی فرآیند اسکرام و اجایل باشند. در همین مورد موسسه ای همچون Scrum.org برای پشتیبانی از اسکرام اقدام به طراحی دوره آموزشی به نام PSD یا Professional Scrum Developer کرده است که در این دوره اقدام به تربیت توسعه گران و برنامه نویسان مناسب با حال و احوال محیط های چابک می کنند. این دوره که یک دوره کاملا عملی است ، یک محیط اسکرام و اجایل برای شرکت کنندگان ایجاد می کنند، تا آنها با کارهایی که یک تیم اجایل در طول پروژه انجام می دهد آشنا شوند و روش ها و تکنیک های آنها را فرا بگیرند.

تمامی موارد ذکر شده در یک اسلاید جمع شده است که می توانید آن را مشاهده اینجا مشاهده کنید :

اما همین دوره در ایران نیز تیرماه برگزار خواهد شد که فرصت مغتنمی برای تیم های نرم افزاری می باشد که از آن استفاده نمایند و گامی برای چابک شدن بردارند.

و این کورس شما را به ابزارها و تکنیک های زیر مجهز می کند:

  • درک و بکارگیری تکنیک های اسکرام
  • تشکیل و ایجاد تیم های موثر با بهره وری بالا
  • تعریف شاخص های کیفیت ، شرایط پذیرش و تعریف کار انجام شده (Definition Of Done)
  • نحوه ایجاد Automated Build ها
  • مدیریت کردن توسعه و نگهداری نرم افزار
  • شناسایی و رفع باگ ها و خطا های نرم افزار
  • برنامه ریزی Release ها و اسپرینت ها
  • تخمین آیتم های موجود در Product Backlog
  • ایجاد و مدیریت Backlog یک اسپرینت
  • برگزاری یک جلسه مرور Sprint
  • اصلاح و بهینه سازی فرآیند تولید نرم افزار با استفاده از جلسات بازبینی
  • استفاده از emergent architecture جهت جلوگیری از مشکلات فنی
  • از تکنیک های توسعه Test Driven بعنوان یک ابزار موثر طراحی استفاده کنید
  • پیکر بندی یک محیط مناسب برای توسعه تدریجی
  • کد های مناسب و قابل نگهداری و تغییر بنویسید
  • افراد و فرآیند های غیر موثر را شناسایی و آنها را حذف کنید
  • فرآیند توسعه نرم افزار خود را با نظارت صحیح اصلاح و بهبود دهید
  • درک مفهوم تیم های Self-Organize در عمل
  • بکار گیری تکنیک های برنامه نویسی دو نفره
  • نوشتن Unit test
  • آموزش TDD (Test Driven Development)
  • شناسایی و جلوگیری از کد نویسی نا مناسب و دردسرساز
  • Refactor کردن و مفاهیم مربوطه
  • استفاده موثر از Mocking
  • طراحی برای قابلیت تست شدن

اما از دل و طرف برنامه نویس های ایرانی

شاید هزینه این کورس ها برای برنامه نویس ها زیاد به نظر بیاید ، البته با توجه به دوره های آموزشی در ایران ، مثل سایت … که دوره ها سی شارپ رو خدا تومان برگزار می کنند ، زیاد نیست و البته با مقایسه با کشورهای همسایه خیلی خیلی پایین است و البته عرف این است که شرکت ها باید برای آموزش نیروهای کارشون برنامه داشته باشند و هزینه شرکت در این کورس می تواند در قالب همین برنامه گنجانده بشود.

یاشیاسیز

درباره اسد صفری

اسد صفری – مربی تحول چابک سازمان و تیم های نرم افزاری. مدارک حرفه ای: CSP - CSM - PSM - PSPO - CDA - Management 3.0 برخی تجربیات: رئیس دفتر تحول چابک شرکت داده ورزی سداد(بیشتر از ده تیم نرم افزاری) - مربی چابک شرکت رامند (تیم های موبایل و گیم سازی) - مدیر تولید نرم افزار SimplyDesk برای شرکت فرانسوی PCI - مربی مشاور شرکت های:خدمات انفورماتیک، ارکید فارمد، فراداده، الفبا برخی از سوابق مشاوره کوتاه مدت و تدریس : علی بابا، فناپ، تجارت الکترونیک پارسیان، بیمه سامان، مهندسین مشاور تجارت (بانک تجارت)، بیمه ایران، پارس آنلاین، شرکت رهنما، ورانگر، انتشارات پزشکی کوثر، فولا آلیاژی یزد، پارک علم فناوری کردستان و ... . عضو انجمن های بین المللی Agile Alliance - Scrum Alliance

2 دیدگاه در “برنامه نویسان مانعی برای چابک سازی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.