مرا اسکن کن!

تفکر چابک یا همان Agile چیست؟

تفکر چابک یا همان Agile چیست؟



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

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

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

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

شکست در پروژه ها Agile را بوجود آورد

طبق تحقیقات انجام شده توسط سازمان IEEE، حدود نیمی از پروژه های نرم افزاری با شکست مواجه میشوند یا اصطلاحا Failed میشوند. عمده دلایل شکست پروژه های نرم افزاری عبارتند از :

۱- زمانبندی نا مناسب
۲- کیفیت پائین در تولید نرم افزار 
۳- ارتباط نداشتن با مشتری
۴- تحلیل نادرست نیازمندی ها
۵- کمبود در تست کردن نرم افزار

بعد از پیدا کردن دلایل شکست پروژه، Agile راه کارهای مناسب جهت توسعه مناسب آن را ارائه می دهد. از دیدگاه این متدولوژی، مشتری یکی از مهمترین افراد در تولید پروژه است، زیرا اصلا پروژه برای مشتری است و تنها کسی که از نیازمندی های واقعی نرم افزار مطلع است، در واقع خود اوست. برای رفع مشکل تحلیل نادرست نیازمندی ها، از دیدگاه Agile نیازمندی های مشتری توسط تیم توسعه باید به یک ویژگی در نرم افزار تبدیل شود تا بتوان بوسیله این ویژگی ها، امکان سنجی صحیحی برای آن انجام داد.

Agile برای چه پروژه هایی مناسب است؟

 گاهی اوقات شرکت ها با پروژه هایی مواجه می شوند که هیچ تجربه ای در آن ندارند. به همین علت ممکن است تیم پروژه با خطاهای تکراری و غیر قابل پیش بینی مواجه شود و وقت آنها بیهوده به هدر برود. بنابراین استفاده از روشی مناسب که بتواند در این نوع پروژه ها تیم را یاری کند بسیار ضروری است. همچنین شرکت ها ممکن است با پروژه هایی روبرو شوند که نیازمند تغییر و ارتباط مداوم با مشتری است. پس استفاده از Agile در این گونه شرکت ها منجر به مشتری راضی، محصولی کارآمد و همچنین دادن انگیزه به تیم توسعه می شود.

نیاز به مستندات در روش Agile الزامی است.

 یکی از موثرترین کارها در تولید نرم افزار، تهیه مستندات است که متاسفانه بسیاری از شرکت ها نسبت به تهیه آن کمتر اقدام می کنند. Agile به ما میگوید که فقط کد ابزار مناسبی برای تشریح محصول نرم افزاری نیست بلکه باید مستنداتی وجود داشته باشد که هم با تغییر نیازهای مشتریان و هم با هرگونه تغییری در کدها بتوان آن را به روز رسانی نمود. البته این مستندات نباید با حجم بالا تهیه شوند بلکه باید کاملا مختصر و مفید باشند.

اصول ۱۲ گانه Agile

این اصول که در سال ۲۰۰۱ توسط مدیران شرکت های نرم افزاری جهت مقابله با شکست در پروژه های نرم افزاری تدوین شده اند عبارتند از :

۱- بالاترین اولویت در این متدولوژی جلب رضایت مشتری با تحویل زود هنگام نرم افزاری توانمند است.
۲- استقبال از تغییر نیازمندی ها، حتی در اواخر فرآیند توسعه.
۳- تحویل نرم‌افزار قابل استفاده با فاصله زمانی سه هفته یک بار و یا سه ماه یک بار.
۴- ذینفعان و توسعه دهنده ها می بایست به صورت روزانه در طول پروژه با هم کار کنند.
۵- پروژه ها به دست افراد با انگیزه سپرده شود ، فضای لازم به آنها داده شود تا کارها را به درستی انجام دهند.
۶- کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه و تبادل آن در میان اعضای تیم ، گفتگوی چهره به چهره است.
۷- نرم افزار قابل استفاده اصلی ترین معیار سنجش پیشرفت است
۸- فرآیند های Agile توسعه پایدار را ترویج می دهند. حامیان مالی، توسعه دهندگان و کاربران باید بتوانند سرعت پيشرفت ثابتی را براي مدت نامحدودی حفظ كنند.
۹- توجه مداوم به برتری فنی و طراحی خوب باعث افزایش کیفیت تولید می شود.
۱۰- باید ساده ترین راه که با هدف پروژه سازگار است را انتخاب نمود و از گذاشتن وقت بر روی مشکلاتی که ممکن است در آینده رخ دهد صرف نظر کرد.
۱۱- بهترین مدیریت، تحلیل نیازمندی ها و طراحی از تیم های خود سازمان ده (هرفرد در تیم بر کل پروژه تاثیر دارد) پدید آور می شود.
۱۲- در فواصل منظم، تیم نشان میدهد که چگونه میتواند در تولید نرم افزار موثرتر باشد و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می نماید.

 

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

یکی از این متدها اسکرام است.

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

جایگاه چابک در جهان و کشور های پیشرفته

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


نوشته شده توسط :

وحید صمدیان وحید صمدیان



پنجشنبه, 30 دی 1395

تعداد بازديد : 1131

برچسب ها : تکنولوژی های طراحی وب

3.0 ستاره