وقتی در محیط شبکه های اجتماعی مجازی و یا واقعی در مورد مباحث Agile و یا اسکرام صحبت می کنیم ، دوستانی که با این مبحث آشنا نیستند و یا اصلا ربطی به نرم افزار ندارند ، دعا می کنند یکی پیدا بشود و این موضوعات را به زبان ساده تشریح نماید . پس در این پست قصد من این است که مباحث حول و حوش Agile را به زبان ساده بخصوص برای دوستان غیر نرم افزاری تشریح نمایم.
قبل از اینکه چیزی به اسم نرم افزار یا کامپیوتر (به معنای امروزی) وجود داشته باشد شرکت ها و صنعت گرانی مانند فورد یا تویوتای ژاپن با چالش هایی در حوزه تولید محصولات مشتری پسند و با کیفیت مواجه بودند. شرکت هایی که سعی در کشف روش های تولید با هزینه پایین و با کیفیت بالا داشتند و از مشاورینی چون دمینگ در سال هایی مانند 1946 بهره جستند. یعنی از زمانی که بشر اقدام به تولید محصولی کرده است سعی کرده آن را با هزینه کم تولید نماید و در همین راستا به روشها و متدهایی دست یافته است که این روش ها بعد توسط دیگر صنعت ها مورد استفاده قرار گرفته است.
مثلا یکی از همین روش ها ، تولید ناب یا Lean می باشد. در Lean چند اصل اساسی مطرح شده است مثلا از بین بردن اتلافات تولید. به طوری که ما در لین بدنبال اتلافات و هر تلاش بی ارزش چرخه کاری می گردیم و با از بین بردن این اتلافات در سیستم تولید بهینه سازی می نماییم.
حال در طی زمان صنعت گران روش ها و اسم های زیادی را به دنیا برای تولید محصولات با ارزش و با کیفیت و البته با هزینه کم معرفی کردند ، البته در این مابین روش هایی هم برای مدیریت منابع انسانی سازمان ها نیز معرفی می شد که چگونه نیروی کار را انگیزه نگه داریم .
زمانیکه کامپیوتر ها پای خود را به خانه ها و سازمانهای ما گشودند، شاهد به وجود آمدن صنعت جدیدی به نام صنعت توسعه نرم افزار بودیم. خروجی این صنعت همانند دیگر صنایع محصولاتی بودند. اما هر جا که محصولی وجود داشته باشد پای یک مشتری در میان است و هر جا پای مشتری در میان باشد حق هم با او خواهد بود. بنابه به شیرین بودن (دلچسب و پر سود و میلیاردهایی همچون مایکروسافت ) این صنعت ، به زودی شاهد ورود نفرات زیادی به این صنعت بودیم و نفرات زیاد معادل با تولید محصولات زیادی هم خواهد بود. اما آیا این محصولات به اندازه محصولات تویوتا با کیفیت بودند؟ آیا مشتریان این محصولات خوشحال بودند؟ آیا توسعه گران نرم افزار ها (همان کارگران کارخانه ها) از کار خود راضی بودند؟ و …
اما وضعیت نرم افزاری ها خرابتر از دیگر صنعت گران بود. زیرا نرم افزاری ها خودشان مشتری نرم افزارها و محصولات دیگران بودند و به نوعی این باعث به وجود آمدن سریع تکنولوژی های جدیدی می شد و نرم افزاری ها عملا مشتری را فراموش کرده بودند و غرق تکنولوژی های جدید شده بودند. و کیفیت هم که بسیار خراب . نرم افزار ها پر از باگ و خطا و مشتری ها هم کلافه و سردرگم.
اما بالاخره روزی فرا رسید که صنعت نرم افزار هم حق را به مشتری داد. از اینرو افرادی اقدام به تحقیق در صنایع دیگر کردند (آنها چگونه کار می کنند ، تویوتا چگونه مشتریان خود را خوشحال نگه می دارند؟ مشتری وفادار، ولی چگونه؟ و …) .
و بدینگونه شد که پس از جمع آوری متدهای تحول دیگر صنایع و بومی سازی آن در صنعت نرم افزار تفکر Agile به وجود آمد. تفکر Agile در سال 2001 توسط 17 نفر از متخصصین نرم افزار طی بیانیه چابک رسما مطرح شد و اکنون به عنوان یک الگوی موفق در سرتاسر جهان مورد استفاده قرار گرفته است.
به طور خلاصه در اجایل یک سری ارزش و اصول معرفی شده است که با به کار بستن آنها در محیط توسعه می توان به نتایجی مانند محصولات کارآمد ، مشتری خوشحال ، نیروی کار با انگیزه دست یافت. اما مشکلی که وجود داشت این بود که اجایل در حد یک بیانیه یا تعریف بود و هیچ راه حل عملی برای آن مطرح نشده بود. در همین زمان متدهایی مطرح شدند(البته قبل از اجایل مطرح شده بودند) که اصول و ارزش های اجایل در آنها نهادینه شده بود.
یکی از این متدها اسکرام است.
اسکرام یکی از متدهای رایج و پرطرفداراجایل می باشد که تیم ها در آن با همکاری خود مشتری چند هفته یکبار خروجی از نرم افزار را بیرون می دهند و فیدبک ذینفعان را دریافت می کنند و طبق بازخورد ها محصول را در مسیر درست قرار می دهند و اینگونه می شود محصولات مشتری پسندی به وجود می آید.
مشکل بزرگی که در صنعت نرم افزار وجود داشت این بود که خروجی پروژه ها مثلا بعد از دو سال هزینه بدرد نخور می شد ، یعنی تیم دو سال بر روی پروژه کار میکرد و نهایتا مشتری میگفت این آنچیزی نیست که من می خواستم و … . اما بعد از ظهور اجایل ما مجبوریم مشتری را در طی روند تولید محصول دخیل نماییم به طور مداوم بازخوردهای او را بگیریم ، خلاقیت ایجاد نماییم و به طور کلی محصول را خوشمزه کنیم و نهایتا شاهد بیگ بنگ نباشیم.
امیدوارم دید کلی نسبت به اجایل پیدا کرده باشید البته اگر اینها کافی نبود این پست ها هم پیشنهاد می شود :
یاشیاسیز
مطالب بسیار ساده و روان بود اما لینک کتابچه در پایان مطلب کار نمی کند
با تشکر
لینک مطلب اجایل. اسکرام و رابطه آنها کار نمیکنه. درستش اینه :
http://blog.scrum.ir/2010/06/scrum-%D9%88-agile-%D9%88-%D8%B1%D8%A7%D8%A8%D8%B7%D9%87-%D8%A2%D9%86%D9%87%D8%A7/
این رو تست کنید
http://bit.ly/2XKDRbY
جناب صفري
سلام ، عرض ادب و احترام
از مطالب ارزنده شما کمال تشکر را دارم .
من مدتي است اسکرام را در تيم خودم اجرا مي کنم ( يک تيم 5 نفره ، بکند مبتني بر تکنولوژي مايکروسافت mvc.net ، فرانت نيتيو جاوا و ايکس کد ) ، با توجه به اينکه من در تيم خودم نقش مالک محصول ، تحليلگر ، معمار ، مدلساز و در برخي مواقع کد نويس رو داشتم در اجراي اسکرام به عنوان نقش اسکرام مستر به سوالي بر نخوردم .
ولي مدتي است که از طرف يکي از دوستان ، در تيم شرکتشون دعوت به همکاري شدم ( يک تيم 12 نفره ، بکند مبتني بر php لالاور ، فرانت ري اکت و ري اکت نيتيو ) ، با توجه به اينکه در اين تيم ، من ديگه نقش تحليلگر و معمار رو ندارم و مالک محصول هم شخص ديگه اي هست و من از تکنولوژي کاري تيم هم سر رشته اي ندارم ، در طول روز وقت اضافه ميارم .
لطفا راهنمايي بفرماييد با توجه به عضويت اسکرام مستر در تيم و حضور مداومش ، وقتش رو با چه وظايفي بايد برنامه ريزي و پر کنه ؟
سلام
تشکر از مطالب خوب و مفید سایت