وقتی کلمه «چابک» به گوشتان میخورد، با خود چه فکری میکنید؟ ممکن است کلماتی مانند «انعطافپذیری» و «تطبیقپذیری» در ذهن متبادر شوند. تیمهای چابک یا اجایل (Agile) هم بهگونهای طراحی شدهاند که سریع عمل کرده و بدون هیچ مشکل، خودشان را با تغییرات تطبیق میدهند. به همین خاطر هم هست که روششناسی اجایل به یکی از رویکردهای محبوب مدیران پروژه تبدیل شده. طی دو دهه اخیر، بسیاری از شرکتها دریافتهاند که رویکردهای سنتی دیگر نیازهای جهان مدرن را پوشش نمیدهند. درحالی که روششناسی «آبشاری» دیگر به خوبی قبل جواب نمیداد، بسیاری به سراغ رویکرد اجایل رفتهاند. اما اصلا اجایل چیست و به درد کدام شرکتها میخورد؟
باید این نکته را در نظر داشت که تنها غولهای تکنولوژی نیستند که از این رویکرد انعطافپذیر نفع میبرند. شرکتهای گوناگون در صنایع مختلف متوجه پتانسیلهای مدیریت چابک شدهاند تا بتوانند در برهههای زمانی کوتاه، شرایط را در بازار زیر و رو کنند. در این مقاله قصد داریم به شکلی مفصل از این بگوییم که اجایل چیست، چه قواعد و ارزشهایی را دنبال میکند و چه مزایا و معایبی در مدیریت پروژه به همراه میآورد.
مانیفست یا بیانیه اجایل چیست؟
بیانیه اجایل (Agile Manifesto)، سندی است که ارزشها و قواعد مرکزی توسعه محصول چابک را تشریح میکند. این سند که به صورت رسمی تحت عنوان «مانیفستی برای توسعه نرمافزار چابک» شناخته میشود، مدلی موثر را به تیمها میشناساند که با بهرهگیری از آن و تطبیق یافتن با فلسفههای مدیریت پروژه اجایل، قادر به بهبود فرایندهای کاری خود خواهند بود.
چارچوب سبک و شستهرفتهای که در مانیفست اجایل ترسیم میشود، به گونهای طراحی شده که فرایندهای پیشین توسعه نرمافزار را که پیچیدهتر و نیازمند انبوهی سندسازی بودند، بهبود میدهد. خالقین این رویکرد میخواستند به فرایندها سرعت ببخشند و یک مدل کاری بهینهتر برای تیمهای مختلف تدارک ببینند. در نهایت اگر بخواهیم به شکلی ساده بگوییم، مانیفست اجایل یک جایگزین برای روشهای سنتی توسعه نرمافزار است.
چه کسی بیانیه اجایل را نوشت؟
مانیفست اجایل در ماه فوریه سال ۲۰۰۱ میلادی و در یک پیست اسکی در ایالت یوتا شکل گرفت. ۱۷ نماینده با پسزمینههای شغلی در حوزه برنامهنویسی و توسعه گرد هم آمدند تا تصمیم بگیرند که روششناسی اجایل چیست و راهکارهایی تازه برای فرایندهایی قدیمی بیابند که در گذر زمان، ناامیدکننده ظاهر شده بودند. عقیده کلی بر اینست که با امضا شدن بیانیه اجایل، نویسندگان این مانیفست اساسا دنیای توسعه نرمافزار را دگرگون کردند.
این گروه از افراد بعدا تحت عنوان «ائتلاف اجایل» (Agile Alliance) شناخته شدند. بعد از عرضه بیانیه اجایل، این ائتلاف به شکل یا سازمان بینالمللی و غیر انتفاعی درآمد، سازمانی که اکنون بیش از ۷۲ هزار عضو در سراسر جهان دارد. (Agile Alliance) اکنون کنفرانسهایی را به صورت سالانه برگزار کرده و در صدد پشتیبانی از گروههای محلی برمیآید.
اکنون که این مقاله را میخوانید، بیش از دو دهه از زمان تولد مانیفست اجایل میگذرد. در این مدت، تیمهایی که در اقصی نقاط جهان فعالیت میکنند، همگی به پیروی از ۴ ارزش و ۱۲ اصلی که در بیانیه آمده مشغول شدهاند. بنابر چهاردهمین گزارش سالانه وضعیت اجایل، بیش از ۹۵ درصد از شرکتکنندگان در نظرسنجی تایید میکند که سازمانشان به سراغ روشهای توسعه محصول چابک رفته است. اگرچه بیانیه اجایل در اصل برای جامعه توسعه نرمافزار طراحی شده بود، اما اکنون به منبعی کلیدی برای هرجور پروژهای که بتوان تصور کرد، تبدیل شده است. در گزارش وضعیت اجایل آمده که اکنون در حوزه فناوری اطلاعات، بازاریابی، منابع انسانی و فروش هم به اصول اجایل توجه میشود.
اما این رویکردهای برتری که در بیانیه اجایل آمدهاند چه شمایلی دارند؟ بیایید از نزدیکتر ببینیم که ارزشها و قواعد اجایل چیست.
ارزش ها در بیانیه اجایل؟
۱. اشخاص و تعاملات در جایگاهی بالاتر از فرایندها و ابزارها
نخستین ارزش، ماهیت غایی روششناسی اجایل را به خوبی نشان میدهد: تمرکز باید بر انسانها باشد. میتوانید از بهترین فرایندها و ابزارهای در دسترس برای پیشبرد پروژه خود استفاده کنید، اما این کار تنها زمانی به ثمر مینشیند که انسانها بهترین عملکرد خود را به نمایش بگذارند. تیم شما، ارزشمندترین چیزی است که در اختیار دارید. ارتباطات موثر هم نقشی کلیدی در اینجا ایفا میکنند: در واقع وقتی انسانها به تعامل و اشتراکگذاری دائمی ایدهها با یکدیگر مشغول میشوند، محصولات بهتری هم میسازند.
۲. نرمافزار کاربردی در جایگاهی بالاتر از مستندات جامع
پیش از اینکه رویکردهای اجایل به صورت کامل پیادهسازی شوند، تیمها ساعتها روی نوشتن مستندات خستهکننده وقت میگذاشتند که شامل مشخصات فنی، پیشنیازها و موارد این چنینی بودند. این فهرستها باید پیش از فرایند کدنویسی آماده میشدند و بنابراین همینطور که تدوین اسناد زمان زیادی میبرد، فرایند توسعه هم به تعویق میافتاد.
فلسفه اجایل اینست که از خیر چنین اسنادی گذشته و اطلاعات را درون یوزر استوری به کار ببندیم. این استوریها (یا داستانها)، تمام جزییاتی که لازم است به هنگام کار روی نرمافزار و آمادهسازی آن برای عرضه بدانید را در اختیارتان میگذارند. ایده کلی اینست که فرایند عرضه شتاب بگیرد، تغییرات در همان مراحل نخست توسعه محصول پیادهسازی شوند و نرمافزار نیز در برهههای توسعه آتی بهبود یابد.
۳. همکاری با مشتری در جایگاهی بالاتر از مذاکرات قراردادی
سومین ارزش در بیانیه اجایل بر اهمیت مشارکت و همکاری با مشتری تاکید دارد. این رویکردی است که در جایگاهی برتر از مذاکرات بر سر قرارداد قرار میگیرد. در حالت سنتی، پیشنیازهای محصول قبل از شروع فرایند توسعه به مشتری اعلام میشوند و سپس در مراحل بعدی، بر سر آنچه قرار است تحویل شود، بحث صورت میگیرد. مشکل این روند آن است که مشتری مشارکتی در چرخه توسعه ندارد و بنابراین خبری از بازخورد مورد نیاز برای بهبود محصول نخواهد بود.
وقتی مشتریان را وارد فرایند توسعه میکنید، میتوانید به صورت مداوم خواستار نظرات آنها شوید و پیشنهاداتشان را با تیم توسعه و ذینفعان به اشتراک بگذارید. با خبردار شدن از نیازهای بهخصوص مشتری، آن هم زمانی که نرمافزار هنوز در دست توسعه است، توسعهدهندگان میتوانند دانشی عمیق به دست آورده و بهترین تجربه کاربری ممکن را رقم بزنند.
۴. واکنش به تغییرات در جایگاهی بالاتر از دنبال کردن برنامه
روششناسیهای سنتی، کسبوکارها را به دست زدن به کمترین تغییرات ممکن ترغیب میکردند، چرا که پیادهسازی تغییرات بنیادین به معنای پرداخت بهای مالی و زمانی کلان بود. هدف این بود که برنامهای جامع تدارک دیده شود که مسیری ساختارمند و خطی برای تیم ترسیم میکند و در مواقع ضروری نیز، از موانع مختلف اجتناب میشود.
اما ذهنیت اجایل کاملا معکوس است و این بحث پیش کشیده میشود که تغییر به نفع فرایند توسعه نرمافزار تمام خواهد شد. وقتی تغییر را در آغوش میگیرید، خودتان را در معرض احتمالات و روشهای تازه برای بهبود قرار میدهید. تیمهای چابک در چرخههای کوتاه و تکرارشونده مشغول به کار میشوند و این یعنی میتوانند واکنشهایی سریع داشته و تغییرات را به صورت مداوم پیادهسازی کنند. این رویکرد در نهایت به خلق محصولاتی بهتر منجر میشود.
اصول در بیانیه اجایل
1.بالاترین اولویت ما کسب رضایت مشتری، از طریق عرضه زودهنگام و مداوم نرمافزار ارزشمند است.
میدانید قانون نخست در دنیای توسعه محصول اجایل چیست؟ مشتریان را راضی نگه دارید. هدف باید این باشد که نرمافزار را به صورت مداوم و در برهههای مختلفی از چرخه عمر محصول به دست مشتریان برسانید و آنها را تا عرضه یک محصول غایی منتظر باقی نگه ندارید.
2.از تغییرات، حتی در مراحل پایانی توسعه استقبال کنید. فرایندهای اجایل میتوانند تغییر را به مزیت رقابتی شما تبدیل کنند.
توسعهدهندگان نرمافزار باید قادر به رسیدگی به تغییرات لحظه آخری در یک پروژه باشند. آنها باید آنقدر از خود انعطافپذیری نشان دهند که به سرعت این تغییرات را به شکل بهبود درآورند، تاخیر در امور را کاهش دهند و از پیشرفت جریان کارها به شکلی بیوقفه اطمینان حاصل کنند.
3.نرمافزار را به صورت مداوم عرضه کنید، در برهههای چند هفتهای تا چند ماهی و ترجیح بر زمانبندیهای کوتاهتر است.
تیمهای اجایل پروژههای بزرگ را تبدیل به قطعاتی کوچکتر با برنامه زمانی کوتاهتر میکنند تا قادر به تضمین عرضه آنها باشند. در روششناسی اسکرام، به این برهههای زمانی «اسپرینت» گفته میشود که معمولا بین یک الی چهار هفته به طول میانجامند.
4.تاجران و توسعهدهندگان باید در سراسر پروژه و به صورت روزمره با یکدیگر همکاری کنند.
همانطور که پیشتر نیز اشاره کردیم، مشارکت یکی از کلیدیترین ویژگیهای مدیریت پروژه چابک است. وقتی ذینفعان پروژه به شکلی روزمره با یکدیگر ارتباط برقرار میکنند، احتمال گیج شدن اعضا کاهش مییابد و تمام افراد، اهدافی یکسان را در پیش میگیرند.
5.پروژه را پیرامون افراد باانگیزه پیش ببرید، محیط و حمایت لازم را در اختیارشان بگذارید و به آنها در رسیدگی به امور اعتماد کنید.
وقتی افراد درست را برای رسیدگی به وظایف در اختیار داشته باشید، شانس بالاتری هم برای موفقیت خواهید داشت. زمان خود را صرف یافتن تیمی بینقص کنید، منابع لازم را در اختیارش بگذارید و به اعضا در دستیابی به نتایجی بینظیر اعتماد کنید.
6.بهینهترین و موثرترین روش انتقال اطلاعال به تیم و میان اعضای تیم، مکالمات رو در رو است.
وقتی اعضای تیم به صورت حضوری مکالمه میکنند، بسیاری از موانع از پیش رو برداشته میشوند. نقاطی که از نظر برقراری ارتباط موثر جای کار دارند را بهبود دهید و گردش اطلاعات را به جریان بیندازید. در حالتی که کارمندان دورکاری میکنند، اپلیکیشنهای کنفرانس ویدیویی مانند Zoom و Skype میتوانند جایگزینی عالی برای تماس تلفنی یا ایمیل باشند و امکان برقراری ارتباط موثرتر از طریق دوربین را مهیا میسازند.
7.کارکرد نرمافزار، اصلیترین واحد اندازهگیری پیشرفت است.
برای اینکه مشتریان خود را راضی نگه دارید، باید نرمافزاری واقعا با کیفیت به دست آنها برسانید. این اولویت غایی شما و همینطور اصلیترین معیار موفقیت شماست – هرچیز دیگری در جایگاهی و اولویتی پایینتر قرار میگیرد.
8.فرایندهای اجایل، توسعه پایدار را تشویق میکنند.
اسپانسرها، توسعهدهندگان و کاربران باید قادر به حفظ شتاب خود باشن. تیمهای اجایل باید در سراسر چرخه عمر پروژه باثبات باقی بمانند و با سرعتی یکسان پیش بروند. این یعنی آنها میتوانند محیطی برای تکامل دائمی فراهم آورند و به تاخیرهای مداوم تن ندهند.
9.توجه دائمی به برتری فنی و طراحی صحیح، چابکی را افزایش میدهد.
در روششناسی اجایل، شما صرفا به عرضه یک محصول خوب و به پایان رساندن کارها مشغول نمیشوید. در واقع تمرکز شما باید بر بهبود و نوآوری دائمی باشد. هر برهه توسعه باید بهروزرسانیها، قابلیتها و یا هر نوع پیشرفت دیگری را با خود به همراه آورد.
10.سادگی – هنر بیشینهسازی کارهایی که انجام نمیشوند – ضروری است.
رویکرد اجایل تمام راجع عدم پیچیدهسازی امور است: پیشنیازها را برآورده سازید و تنها به مقدار لازم برای تمام شدن وظایف کار کنید. زمان خود را با گامهای اضافهای هدر ندهید که هیچگونه ارزش حقیقی به محصول نمیآورند.
11.بهترین معماریها، پیشنیازها و طراحیها از تیمهای خودسازمانده برمیخیزند.
وقتی اعضای تیم از مهارتهای لازم برای رسیدگی به امور خود برخوردار هستند، چرا خردترین مسائل را مدیریت کنیم؟ وقتی به تیمها اجازه میدهید که با ساختارهای خاص خود پیش بروند، فضای بیشتری برای شکلگیری ایدهها و در نتیجه، ارائه نتایج بهتر فراهم میآورید.
12.تیم به صورت دائمی راجع به نحوه دستیابی به بهینگی بیشتر بحث و سپس رویکردهای خود را مطابق گفتگوها دستخوش تغییر میکند.
وقتی به صورت مداوم به سنجش عملکرد تیم مشغول میشوید، مشکلات را پیش از اینکه شکلی بحرانی به خود بگیرند شناسایی خواهید کرد. همین موضوع راجع به نقاط قابل بهبود هم مصداق میکند. یک تیم اجایل سالم، تیمیست که عملکرد خودش را پایش میکند تا به کنار گذاشتن رویکردهای ناکارآمد و بهبود مهارتها مشغول شود.
مزایای اجایل
از دو دهه پیش که بیانیه اجایل نوشته شد، تیمهای توسعه در سراسر جهان به استقبال از آن پرداخته و اجایل را در فرایندهای مدیریت پروژه و مدیریت محصول خود پیادهسازی کردهاند. بنابر چهاردهمین گزارش وضعیت اجایل، ۹۵ درصد از ۴۰ هزار مشارکتکننده در نظرسنجی میگویند که سازمان آنها روشهای توسعه اجایل را در پیش گرفته و ۶۱ درصد هم میگویند که برای بیش از سه سال در حال استفاده از اجایل بودهاند.
آنهایی که رویکردهای اجایل را در پیش میگیرند، خیلی زود متوجه مزایای آن نسبت به رویکردهای مدیریت پروژه سنتی میشوند. در واقع اگر بپرسید علت محبوبیت اجایل چیست، دقیقا میتوان به همین مزایا به عنوان علت اصلی اشاره کرد.
اهمیت بیانیه اجایل چیست؟
مانیفست یا بیانیه اجایل منبعی ارزشمند برای تیمهای توسعه نرمافزار به حساب میآید، چرا که دانش لازم برای ساخت فریمورکی انعطافپذیر را در اختیار آنها میگذارد و اعضای تیم را با بهترین رویکردها و فرایندهای اجایل آشنا میسازد. در این بیانیه، راجع به آنچه در مدیریت پروژه اجایل مهم است نیز صحبت شده و بنابراین تیمهای توسعه قادر به اولویتبندی فعالیتها و همسو کردن اهداف خود با آنها خواهند بود. برای مثال، توسعهدهندگان نرمافزار میدانند که رضایت مشتری از بالاترین اولویت برخوردار است و بنابراین تمام برنامههای خود را پیرامون این قاعده کلی میچینند.
با این حال تیمها باید مراقب پدیدهای باشند که تحت عنوان (عقده صنعتی اجایل (Agile Industrial Complex) شناخته میشوند). این عبارت به وضعیتی اشاره دارد که سازمانها، بهترین رویکردهای اجایل را به تیمها تحمیل میکنند و اجازه نمیدهند آنها خود راجع به آنچه جواب میدهد تصمیم بگیرند. باید در نظر داشت که هیچ رویکرد جهانشمولی در مدیریت پروژه وجود ندارد که همواره جواب بدهد و بنابراین تحمیل کردن روششناسیهای نامناسب، نتایج مطلوب را به همراه نخواهد آورد. مارتین فولر، یکی از موسسین مکتب اجایل میگوید که (حتی مدافعان اجایل هم نمیگویند که اجایل لزوما بهترین گزینه برای استفاده در هر شرایطی به حساب میآی).
به صورت خلاصه، بیانیه اجایل سندی بسیار مهم برای آن دسته از تیمهای توسعه است که میخواهند روششناسی اجایل را به شکلی پایدار در سازمان خود پیادهسازی کنند.