آیا «مستندسازی چابک» یک ترکیب ضد و نقیض است؟
آیا «مستندسازی Agile» یک ترکیب ضد و نقیض است؟
شناخت نقش مستندسازی در محیطهای توسعهی اَجایل
برای خیلی از تیمهای توسعهی چابک (Agile)، کلمهی «مستندسازی» کلمهی زنندهای محسوب میشود. بهعلاوه تیمهای چابک بر مبنای این ایده کار میکنند که معمولاً عدم اطمینان وجود دارد و این عدم اطمینان آنقدر تغییر سریعی دارد که صرف زمان زیادی بر طراحی یا معماری در ابتدا، بسیار نادرست است یا جلوتر در آینده، نتایج نامرتبطی خواهد داشت. بهجای مستندسازی، توسعهدهندگان چابک تکرارهای کوتاه و مکرر را انتخاب میکنند و برای طراحی و معماری، رویکرد فاکتورگیریهای مجدد را دنبال میکنند.
در یککلام میتوان گفت که تیمهای توسعه چابک با یک ایده شروع میکنند، آن را به ویژگیها و کارکردها تقسیم میکنند، نیازهای سطحبالا را مینویسند و سپس شروع به کار میکنند. اهداف فقط تا این حد مستند میشوند که برای پیشروی در ساخت، تکمیل مجموعهی نیازهای اولویتدار در هر تکرار، جمعآوری نیازها در یک مورد کاری و تولید مستندی که هر کسی در حین کار با نرمافزار بتواند از آن استفاده کند، کافی باشد.
داشتن اسنادی که هر کسی بتواند از آن استفاده کند هدفی تحسینبرانگیز است؛ اما گاهی یک سند که قرار است برای هر کسی مناسب باشد برای هیچ کسی مناسب نخواهد بود. اگر تیمهای چابک بخواهند با محیطهای سازمانی بزرگتری منطبق و متناسب شوند، باید آنقدر چابک باشند که برای این سازمانها، راهبردهای مستندسازی کاملتر و درعینحال منعطفتری را طراحی کنند.
خلأ مستندات نگهداری
در حال حاضر، در بسیاری از پروژههایی که ازلحاظ تجاری حساس هستند، مانند پرتالها یا برنامههای کاربردی تجاری، روشهای چابک اتخاذ میشوند. در این روشها معمولاً تیمهای بیرونیِ توسعهی چابک وجود دارند که برنامههای کاربردی را میسازند و این برنامهها باید در ۱۲-۱۸ ماه چه به خود شرکت بهکارگیرنده و چه به فروشنده و شخص ثالث دیگری برای نگهداری سپرده شود.
هرچند که برای فرایند ساخت مستندات نیازها و داستانهای سادهتر کارساز است، ممکن است برای نگهداری کافی نباشند. به چند دلیل این داستانها و مستندات، از اطلاعات موردنیاز برای نگهداری برنامههای کاربردی بیبهرهاند.
معمولاً وقتی که یک تیم در میانه یک پروژهی بزرگ وارد میشود، امور تغییر میکنند و این تغییرات ممکن است که در اسناد اعمال نشوند. معمولاً افراد نسبت به این تغییرات طوری برخورد میکنند که انگار نرمافزار تحویل داده شده و حال زمان عبور به تکرار بعدی رسیده است. بنابراین روند نگهداری در مستندهای قدیمی متوقف میشود. بهعلاوه اسناد چابک بدون بازبینی کلی که معمولاً برای تیم اهمیت دارد، ارزش چندانی ندارد.
خلأ مستندات بازرسی
در برخی از صنایع مانند خدمات مالی و بهداشت، قوانین و مقررات بیرونیای وجود دارند که برنامههای کاربردی باید با آنها انطباق پیدا کنند. به دلیل اینکه قابلیت پیگیری در پروژههای بزرگ ضرورت دارد، تیمهای بزرگ چابک، معمولاً از ابزاری برای ایجاد قابلیت پیگیری در محصولات استفاده میکنند، بااینحال کافی نیست.
بهطور مثال پیادهسازی پرتال یک شرکت بزرگ دارویی را در نظر بگیرید؛ یک پرتال داخلی است که دادههایی را از اطلاعات دارویی درج میکند؛ نهتنها دستیابی به دادهها بلکه ساخت خودِ پرتال دستیابی به دادهها در معرض بازرسی است. باید همزمان که مصنوعات را باهم مرتبط میکنید، بر توسعهی برنامه کاربردی و وبسایت نیز بسیار متمرکز باشید؛ وقتی بازرسان پیدا میشوند، شدیداً به قابلیت پیگیری و مستندات نیاز است.
مانند مستندسازی نگهداری در مستندسازی بازرسی نیز، نمیتوان اطلاعاتی را که بازرسان نیاز دارند در یک مستند همهمنظوره یافت. افزودن قابلیت پیگیری به پروژه نیز کافی نیست. بازرسان به مستنداتی نیاز دارند که مطابقت داشته باشند.
مستندسازی چابک
وقتی تیمهای چابک با دو معیار سنجش مجزا، یعنی تیمهای نگهداری و نیاز به بازرسی بیرونی، روبهرو میشوند، چارچوب تحویل منظم چابک (Disciplined Agile Delivery) و روشی مانند استمرار مستندسازی (Document Continuously) مناسب هستند. میتوان با رویکرد مشابهی که در مستندسازی تحویل کد بهکار گرفته میشود، خلأ بین مستندات تولیدشده برای پروژههای چابک و نیازهای تیمهای نگهداری و بازرسان را رفع کرد. به جای ایجاد مستنداتی که قرار بود هر کسی بتواند از آن استفاده کند اما هیچکس نمیتواند، به فکر ایجاد امکان نگهداری و مستندات بازرسی بهصورت اقلام تحویلیِ مجزائی باشید که در بخشی از تکرارها تولید میشوند.
میتوانیم با این رویکردها، نیازمندیها، داستانها و مصنوعات را از یکدیگر تکفیک میکنیم و اقلام تحویلی دیگری را که بخشی از تکرارها هستند ارائه دهیم. برحسب نیاز به نگهداری، چارچوبهایی را به این منظور میسازیم. اقلام را از نیازمندیهای چابک بهدست میآوریم و خلأهای موجود را در نظر میگیریم. بخشی از کار هر تکرار، برای پر کردن این فاصلهها است.
برای مستندسازی بازرسی، تمام نیازها را در نظر میگیریم و آنها را بخشی از داستان میکنیم. در واقع داستان، تا زمانی که ما به گزارش و معیارهای سنجش انطباقی میپردازیم کامل نمیشود. شاید با تکامل مقررات بازرسی و نیاز به مطابقت، نیاز به افزایش قابلیت پیگیری و استمرار آن تشخیص داده شود.
برنامهای برای همراستایی
نیازمندیها، مصنوعات، مستندات نگهداری و اسناد بازرسی، همگی میتوانند باهم وجود داشته باشند و همراستا باشند، نه الزاماً در یک محل، اما بهعنوان بخشی از تکرارهای مختلف. با اتخاذ رویکردهای «دقیقاً بهموقع» و «مناسب برای هدف»، تولید مستندات آسانتر میشود؛ در تمام این رویکردها میتوان از بخشهایی که قابلیت استفادهی مجدد دارند برخوردار بود.
به علاوه، وقتی دستورالعملهای نگهداری یا رهنمونهای مدیریتی را بررسی میکنید، متوجه میشوید که بعضاً شامل مؤلفههای مستندسازی طراحی هستند. بخشی از پیگیریهای موردنیاز بازرسان، با مواردی که تیمهای پروژه خواهان آن هستند بسیار شباهت دارند، مانند پیوندهای مابین نیازهای تجاری، موردهای کاری توسعه و حتی آزمونهای پذیرش.
در برخی از پروژههای چابک، این تشابهات را تشخیص میدهیم، یک پوسته (shell) منتشر میکنیم و یک الگوی آماده (temple) با یک طرح کلی (outline) میسازیم که شامل خلاصهای از جریان فرایند تجاری یا نمودار معماری است. برخی از اشیایی که در سایر ابزار میسازیم، میتوانند در این دستورالعمل وارد شوند. نتیجه این رویکرد ایجاد اسناد کوچک (mini-document) است. ازلحاظ نگهداری، این اسناد کوچک، حتی بیشتر از اسناد طراحی بزرگ و قدیمیتر محبوبیت پیدا کردهاند زیرا تیمهای نگهداری میتوانند مستقیماً به فضایی که عیب در آن تشخیص داده شده است تمرکز کنند. بهاینترتیب مجبور نیستند که با اسناد بزرگی که مرور آن دشوار است، سروکار داشته باشند.
نتیجهگیری
مستندات برنامههای کاربردیای که تیمهای چابک برحسب نیازمندیها، مصنوعات و داستانها ایجاد میکنند، ازلحاظ معیارهای سنجش تیمهای نگهداری و بازرسی کافی نیستند. ارائه مستندات مناسب برای اهداف مختلف در صورتی ممکن است که یک رویکرد چابک برای سنجش اتخاذ کنید. همچنان که پیش میروید، متوجهِ نیاز به مستندسازی باشید و مستندات مختلفی را که در تکرارهای شما تولید میشوند اضافه کنید و راهکار مناسبی را برای مستندسازی بهکار بگیرید که ازنظر تمام ذینفعان، ازجمله نگهدارندهها و بازرسان مناسب باشند.
دربارۀ چابک بخوانید:
بررسی اجمالی روشهای مدیریت پروژه
مقایسۀ چارچوبهای مدیریتی چابک
بررسی چارچوبهای مقیاسگذاری چابک
انتخاب روش مناسب برای مدیریت پروژه
چهار تاکتیک برای ترکیب دو روش چابک و آبشاری