خانه > Agile, مهندسی نرم افزار > چگونه به سمت Agile حرکت کنیم؟

چگونه به سمت Agile حرکت کنیم؟

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

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

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

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

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

  1. sirasad
    ۳۰ بهمن ۱۳۸۸ در ۱۲:۰۱ | #1

    خیلی خوب بود , ولی تا حالا ندیده بودم Agile رو با Lean بیارن , همیشه Lean هم پایه xp و اسکرام و … و زیر مجموعه Agile نامیده می شد و ندیده بودم که این ها سطح بندی و اولویت بندی بشوند .یاشیاسیز

  2. ۱۰ اسفند ۱۳۸۸ در ۱۸:۰۵ | #2

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

  1. ۱۱ آبان ۱۳۹۰ در ۲۱:۰۱ | #1