یکی از نمودارهایی که به شما درباره روند پیشرفت پروژهها اطلاعات میدهد، نمودار گردش تجمعی (cumulative flow diagram) است. به کمک این نمودار اطلاعاتی کلی درباره پروژه به دست خواهید آورد: چه مقدار از کار انجام شده است، کارهای جاری و روند انجام آیتمهای بکلاگ چیست، سرعت انجام پروژه چقدر است و… . اینها اطلاعاتی پایهای هستند که عنوان میشوند. علاوه بر اطلاعات پایهای، اطلاعات مهمتر و دقیقتری را هم میتوان از نمودار گردش تجمعی استخراج کرد.
برای شروع به سراغ مفاهیم پایهای این نمودار میرویم:
ساختار عملکرد نمودار گردش تجمعی بسیار ساده است. روی محور عمودی تعدادی تسک یا وظیفه درنظرگرفتهشده برای پیشبرد هر پروژه به نمایش گذاشته میشود. روی محور افقی هم زمان را در اختیار داریم. منحنیها اساسا تعدادی آیتم هستند که در طول زمان انجام پروژه احتمال وقوع دارند. نکته در اینجاست که آیتمها در طول زمان به طور تجمعی نمایش داده میشوند. منحنی سبز نشاندهنده اموری است که انجام شدهاند و به مرور زمان روند رو به رشد دارند. منحنی آبی نشاندهنده امور در حال پیشرفت و اجراست و اقدامات روبهرشد دیگر هم در پروژه وجود دارد، منحنی آبی در حال صعود به منحنی سبز میپیوندد.
به عبارت دیگر، کار در حال اجرا از طریق فاصله میان خطهای سبز و آبی به نمایش گذاشته میشود. هر خط در نمودار گردش تجمعی نشانگر مرحلهای خاص است. اگر بخواهیم به سادهترین شکل بگوییم: در این نمودار شاهد حضور آیتمهایی هستیم که باید انجام شوند، مواردی به نمایش گذاشته میشوند که تکمیل شدهاند و اموری هم که باید انجام شوند در این نمودار مشخص میگردند.
در ادامه این مقاله به شرح نمودارهای گردش تجمعی در حالات مختلف میپردازیم:
ما در اینجا بکلاگ را در اختیار داریم، آیتمهایی که در مسیر تکمیل یا آزمایش هستند و مواردی که تکمیل شدهاند. شاخصها و نشانگرهایی وجود دارد که میتوانند مسیر پیشرفت امور در حال انجام و انجامشده را به طور جداگانه در نمودار به نمایش بگذارند.
نمودار گردش تجمعی به شکل زیر خواهد بود:
ابتدا به سراغ معنای خطوط منحنی میرویم. خط سبز نشان میدهد که در طول زمان چند آیتم تحویلشدهاند. هر آنچه میان خط سبز و آبی قرار میگیرد به معنای اموری است که باید آزمایش شوند. سطح بین خط آبی و قرمز هم نشان میدهد که چه مقدار از امور در مسیر رشد و انجام هستند. (مهم رشد است و فرقی نمیکند که بخشی از کار هنوز در مسیر رشد است یا رشد آن تکمیل شده؛ در هرحال، در این بخش قرار میگیرد)
خط نارنجی هم نشاندهنده بکلاگ است. یعنی چه آیتمهایی هنوز کارشان شروع نشده است. در نگاهی اجمالی میتوان به اطلاعاتی درباره این پروژه دست پیدا کرد. اولین نکته این است که بعد از یک شروع کُند، سرعت انجام کارها به ثبات رسیده است. درباره کارهای در مسیر انجام و رشد هم همین روند را میتوان از نمودار درک کرد.
سرعت باثبات پیش میرود و همه چیز به شکل همواری در جریان رشد و حرکت قرار دارد. چشمانداز و اسکوپ پروژه در چند مقطع از پروژه دستخوش تغییراتی شده است که از روی نمودار در بخش نارنجیرنگ میتوان متوجه آن شد. در نهایت، مقایسه خط سبز (کارهای انجامشده) و خط نارنجی (چشمانداز یا اسکوپ پروژه) در محور عمودی نشان میدهد که پروژه هنوز به نیمه هم نرسیده است. این نمودار میتواند اطلاعات زیادی را در عرض مدت کوتاهی نشان بدهد.
جالب است بدانید که اطلاعات بیشتری هم از آن قابلاستخراج خواهد بود:
در این نمودار گردش تجمعی هم مواردی درباره پروژه به وضوح نشان داده شدهاند. یکی از مواردی که میتوان از نمودار فوق متوجه شد، تغییر اسکوپ در پروژه است. در نمودار قبلی هم درباره تغییر چشمانداز کار، این موضوع مطرح شد. مورد بعدی که از نمودار استنباط میشود، فضای بین خطوط قرمز و سبز است. این بخش نشانگر کارهای در حال انجام است. دقت کنید که براساس نمودار گردش تجمعی نمیتوان دقیقا متوجه شد که چقدر کار بهطور دقیق در مسیر انجام است. در واقع از تقریب در این مسیر استفاده میشود. با اینکه دقیق نمیتوان مقدار کارها را برآورد کرد اما شاخص و نشانگر بسیار خوبی برای نمایش کارهای در مسیر انجام در طول زمان است.
خط دیگری هم در نمودار بالا وجود دارد که با عنوان prod.lead time نمایش داده میشود و به معنای تولید است. این گزینه هم نشان میدهد که بهطور تقریبی به چه مقدار زمان برای تکمیل هر آیتم در پروژه نیاز است. البته این گزینه هم دقیق نیست اما دورنمای مطلوبی نسبت به پروژه در اختیارمان قرار میدهد. در نهایت، میتوان شیب نمودار کارهای تکمیلشده را برآورد کرد. این برآورد به برآورد تقریبی زمان تحویل و تکمیل کارها هم کمک میکند. البته اگر اسکوپ یا چشمانداز انجام پروژه تغییر کند، زمان تحویل و تکمیل کار هم عوض خواهد شد. یعنی با تغییر خط نارنجی، زمان تحویل هم تغییر میکند. اطلاعات بیشتری هم از نمودار گردش تجمعی به دست میآید. همیشه این نمودارها خلوت و واضح نیستند و گاهی، اطلاعاتی بیشتر از حالتی که نشان داده شد در آنها در معرض نمایش قرار داده میشود.
به مورد زیر دقت کنید:
در این موقعیت، فضای بین خط قرمز و سبز در حال رشد در طول زمان است. این نشانگر وضعیت بدی خواهد بود. یعنی کارهای در حال انجام زیادی در دست است. چنین چیزی خوب نیست. کار بیشتر درحال انجام به معنای افزایش زمان تولید است. سرعت پروژه هم در این صورت کاهش پیدا میکند. وجود کارهای متعدد در حال انجام باعث میشود که سرعت پروژه کند شود و هزینهها هم افزایش پیدا کنند. در نمودار گردش تجمعی دقیقا نمیتوان گفت که دلیل افزایش میزان کارهای در حال انجام چیست.
“استفاده از نمودارهای کار باقیمانده (Burn down) برای کشف ضدالگوها در اسکرام”
برخی از نمودارهای گردش تجمعی هستند که سرنخهایی درباره اینکه کدام بخش از مراحل فرایند مشکلزا هستند در اختیارتان قرار میدهند.
در این نمودار بناست تا بخش توسعهیافته پروژه با بخش در حال آزمون مقایسه شود. از این نمودار چه چیزهایی دستگیرمان میشود؟ در بخش تست و آزمونکردن فرایند مشکلی وجود ندارد. اگر تعریف آزمونکردن، آزمایش و یافتن باگها و ایرادات کار است، که در واقع روندی معمول و رایج به شمار میرود، به نظر میآید که کیفیت پروژه هم مشکلی ندارد. چیزی که در این نمودار دیده میشود، تعداد زیادی آیتم است که در مرحله توسعه قرار دارند اما تعداد کمی از آنها آماده تستکردن هستند. مشکل این است که آیتمهای زیادی باید تست شوند اما تستکنندهها کمتعدادند و آن قدر آیتم برای آزمودن وجود دارد که دیگر صفی طولانی به وجود میآید.
اگر خط دیگری در نمودار به وجود آید، که آیتمهای در حال توسعه را از آیتمهای توسعهیافته جدا کند، قدرت تحلیل پروژه به کمک نمودار بیشتر میشود. بدون چنین خطی، نمودار فقط نشانگر مشکلی است که باید مورد تحلیل عمیقتر قرار بگیرد.
به نمودار بعدی دقت کنید:
در این نمودار میتوان دو موضوع را یافت. خط سبز را در نظر بگیرید. خط سبز حالت پلهای دارد. پلهها زمانی شکل میگیرند که مرحله آخر توسعه یافته و تکمیل شده و این تمامشدن کار به صورت هفتگی یا دوهفتگی یا بهطور کلی با روتینی زمانی پیش رفته است. براساس این، خط پلهای به معنای آن است که زمان تکمیل پروژه و کار در حال انجام بنا به لحظه تکمیل هر بخش از کار شکلهای متفاوتی به خود میگیرند. یعنی شکل خطوط وابسته به زمان تکمیل هر بخش از کار است.
نکته بعدی که از نمودار استنباط میشود، تعداد روبه افزایش آیتمهاییست که در حال تستشدن هستند اما به تحویل و تکمیل نمیرسند. فاصله میان خطوط سبز و آبی هم به خاطر تحویل و تکمیلهای پیاپی آیتمها در حال بیشترشدن است. این موضوع مشکلی جدی را نشان میدهد. یعنی شاید اشکالی در کیفیت کار وجود دارد و به سختی میتوان به حالتی رسید که طی آن، تمام مشکلات و باگهای یک آیتم رفع شده است. چنین چیزی به معنای این است که توسعهدهندگان یک محصول به دنبال رفع مشکلات موجود در بخشهای مختلف کار نیستند و برای شروعکردن مرحله بعدی کار و رفتن به سراغ آیتمهای جدید عجله دارند. در این صورت، تستکنندهها هم نمیتوانند به مشکلات هر بخش از کار رسیدگی کامل داشته باشند و مدام، آیتمها با عجله از زیر دستشان رد میشود.
به نمودار زیر دقت کنید:
وضعیت این نمودار معمولا در تیمهای مختلف به وقوع میپیوندد. تمام خطوط تاحدی رو به صافی گذاشتهاند. نخستین چیزی که درباره این نمودارها باید بررسی کرد، این است که رویدادها و روزهای تعطیلی که پروژه را متوقف کردهاند، چه بودهاند و تعدادشان چند روز بوده است. شاید دلیل به این شکل درآمدن نمودار، کار نکردن در بازههای زمانی موجود در نمودار باشد. به دلایل مختلف ممکن است که تعطیلیهایی در کار رخ داده باشد. اما مشکل از زمانی شروع میشود که همه اعضای تیم سر کار باشند اما با این وجود، پیشرفتی در کار دیده نشود.
چنین موضوعی حکایت از مشکلی بسیار جدی دارد. شاید مشکل از زیرساختها یا محیط کار بوده است. مثلا اشکالی اینچنینی در کار رخ داده و تمام اعضای تیم مجبورند که برای رفع آن از کارها و وظایف خودشان دست بکشند. شاید هم پروژهای دیگر به موازات این پروژه نیاز به همفکری و همیاری اعضای تیم داشته و همه مجبور شدهاند برای رفع مشکلات پروژه دیگر، کارشان را متوقف کنند. چنین مشکلاتی باعث میشود تا پروژه برای مدتی به این شکل درآید و روندش تغییراتی را تجربه کند. مشکل هر چه که باشد، با بازگشت اعضای تیم به سر کارشان، وضعیت عادی خواهد شد.
به وضعیت دیگری که در زیر میآید، دقت کنید:
تفاوتی اساسی میان این نمودار و نمودارهای قبلی گردش تجمعی وجود دارد. یکی از تفاوتها در این است که فقط دو خط در نمودار رو به صافی گذاشتهاند. خط توسعه در حال رشدی معمول و مناسب است. تفاوت دیگر این نمودار با نمودارهای دیگر هم در این است که خط سبز و آبی به شکلی محسوس صاف شدهاند. این وضعیت نشان میدهد که مشکلی حلنشده در پروژه وجود دارد. اما مشکل چیست؟ به نظر میرسد که تیم با شروع توسعه آیتمهای تازه مشکلی ندارد. با این وجود، امکان تستکردن آیتمهای قبلی هم موجود نیست. به همین خاطر، در عمل، تکمیل و تحویل هیچ نتیجه و محصولی مقدور نخواهد بود. احتمال انگشت اشاره را باید به سمت تستکنندگان آیتمها یا وضعیت آزمایش و تست بخشهای مختلف کار گرفت؟
نمیتوان از نظر فنی گفت که همهچیز مطابق برنامه پیش میرود. ضمن اینکه نظر میرسد که مشکلی درباره تستکننده به وجود آمده است. نکته دیگری هم وجود دارد. انگار که توسعهدهندگان دقت کافی به خرج نمیدهند. آنها فقط کارها را شروع میکنند و بیبرنامه پیش میروند. شاید هم کارشان تکمیل شود ولی نتیجهای در برنخواهد داشت. ممکن است مشکل از شیوه تعامل و همکاری اعضای تیم باشد.
در نمودار بعدی، مشکلی که در پروژه وجود دارد، به واسطه اشکالی کیفی است.
خط توسعه به حالتی قابلپیشبینی و ثابت بالا میرود. درباره کارهای در حال انجام هم با ملاحظه نمودار متوجه میشویم که وضعیت خوب است. یعنی کارهای در حال انجام متعددی در مسیر تکمیل هستند. با پیشرفتن در نمودار متوجه میشویم که یکباره همه چیز به شکلی درست و معقول به مسیر خود ادامه میدهند. یعنی از یکجایی به بعد در نمودار شاهد رشدی صعودی هستیم.
سوال اینجاست که در انتها چطور منحنی کار انجامشده به سمت صعود پیش میرود. این روند را چطور باید توضیح داد؟ شاید بتوان گفت که سرعت تیم در انتهای کار رو به افزایش گذاشته است. البته ماجرا از این قرار است که نمودار احتمالا بهروزرسانی نشده و تیم متوجه شده که کارهای بسیار بیشتری از آنچه فکر میکرده، تکمیلنشده باقی مانده است. یعنی در نزدیکی انتهای زمان پروژه، انبوهی از کارهایی که باقی مانده بودند، تکمیل میشوند و روی نمودار این روند صعودی را شاهد هستیم.
سناریو دیگر هم این است که احتمالا تیم دست به تکمیل بخشهایی از کار زده که تحت فشار به نظر میرسد، سریعتر قابلیت سرهمبندی را دارند. در چنین حالاتی، مشکلاتی در تیم وجود دارد که حلنشده باقیماندهاند. یعنی کارها در انتها سرهمبندیشدهاند و سرعت کار بالا رفته است. این یک فرض است.
به نمودار و وضعیت دیگری دقت کنید که در ادامه میآید تا حالت دیگری بررسی شود:
این نمودار در پروژههای مختلف بسیار رایج است. یعنی بیشتر پروژهها بهطرز غافلگیرکنندهای دارای چنین نمودار گردش تجمعی هستند. اجازه بدهید بررسی کنیم که در اینجا چه چیزهایی به نمایش درمیآیند. منحنی توسعه به سرعت صعود میکند. در میانه راه، بیش از ۸۰ درصد از آیتمها شروع به رشد کردهاند. تستکردن چندان با وضعیت خوبی پیش نمیرود.
وضعیت تکمیل پروژه چیست؟ شروع چندان مطلوب نبوده است. اما در مسیر خود به وضعیت بهتری رسیده و هیچ روزی نبوده که تکمیل آیتمها وجود نداشته باشد. به نظر میآید که آیتمهای مختلف در مسیر درستی قرار دارند. البته میزان کارهای در حال انجام پرتعدادند اما در پایان اوضاع به حالت مطلوب نزدیک شده است. ضمن اینکه در پایان روز، تمام آیتمهای بکلاگ محقق شدهاند. نمودار نشان میدهد که اگر تیم با برنامه در مسیر انجام پروژه پیش برود و سرعت مناسبی هم داشته باشد، بهسادگی میتواند به سوی تکمیل کار پیش برود و حتی اضافاتی هم در مسیر پروژه وجود داشته باشد. یعنی آیتمهایی اضافی هم به پروژه اضافه شوند. همه چیز در چنین روندی از کار به خوبی پیش میرود و امکان تکرار روند کار پروژه به دفعات مقدور میشود.
به نمودار و حالت بعدی دقت کنید:
در این مورد همهچیز خوب به نظر میرسد؛ تقریبا تا زمانی که خط کارهای انجامشده نسبت به محور ایکسها حرکت میکند. این یعنی چه؟ احتمالا ماجرا از این قرار است که تیم برای پیشبرد درست کارها آماده است اما به دلایلی به هدفش نمیرسد. چنین موردی معمولا در مورد پروژههایی با زمان ثابت یا قیمت فیکس و تعیینشده رخ میدهد. گاهیاوقات، اقدامی که در این شرایط صورت میگیرد، این است که تعداد آیتمهای تکمیلشده از سوی تیم بررسی و پیگیری میشوند. اما به جزئیات کار رسیدگی نمیشود. در هر حال، مرحله توسعه کار سخت و طولانی است. در نمودار گردش تجمعی این مشکلات منعکس میشود و وضعیت منحنی انجامشدهها مسیر عجیبی را طی میکند.
حالا نمودار زیر را در نظر بگیرید:
در این نمودار هم شاهد یک منحنی پلهای هستیم. همانطور که قبلا هم گفته شد، این یعنی تغییراتی در چشمانداز یا اسکوپ پروژه ایجاد شده است. در این مورد به زمانبندی و مقیاسها میپردازیم. تغییررخداده در این نمودار در چشمانداز پروژه بسیار بزرگ است. ضمن این که تغییر نامبرده در انتهای پروژه و بهطور ناگهانی به وقوع پیوسته است. یعنی احتمالا همه در انتظار تعیین زمان بهانتهارسیدن پروژه بودهاند که ناگهان تغییری تازه را تجربه کردهاند. اگر شما با مشتری خود درباره این تغییر به توافق رسیده باشید یا تیم از روند تغییر آگاه باشد، چنین چیزی هیچ اشکالی ندارد و موردی هم در مسیر پیشبرد پروژه پیش نخواهد آمد. اما اگر تغییر ناگهانی است و مثلا برای پروژه با قیمتی فیکس و ثابت قرارداد بستهاید، در دردسری بزرگ خواهید افتاد. در این حالت به دردسر میافتید و انبوهی از کارهای جدید و قدیمی روی سرتان آوار خواهد شد.
در این نمودار چه اتفاقی رخ داده است؟ خط قرمز نشانگر کارهایی است که در حال انجام هستند اما نباید فریب بخورید. واقعیت این است که باتوجه به اینکه فاصله میان خط آبی و قرمز باثبات پیش میرود، اما تقریبا هیچ اتفاقی برای آیتمهای در حال انجام رخ نداده است. خط سبز هم تکان نمیخورد و خط نارنجی هم که حالت ثابتی پیدا کرده است. تعداد اندکی از آیتمها از بخش تست به بکلاگ میروند. اینها به چه معناست؟ بدون بررسی دقیق و تحقیق نمیتوان چیز زیادی گفت. احتمالا تغییرات به خاطر تستکردن آیتمها به وقوع پیوسته است. نمودار نشان میدهد که زمان بخاطر تولید آیتمها و تولیدات اشتباه از دست رفته است.
حالا به مورد و وضعیت وحشتناک دیگری دقت کنید:
در این مورد باز هم اسکوپ یا چشمانداز کلی تولید ثابت مانده است. در تمام خطوط هم شاهد یک تغییر ناگهانی هستیم. اینجا به نظر نمیرسد که امور در حال انجام تحت تاثیر واقعه خاصی قرار گرفته باشند. یعنی اتفاق خاصی برای منحنی قرمز نیافتاده است. درباره آیتمها در مرحله تست هم همینطور است. اما برای کارهای انجامشده اوضاع مناسب نیست. در واقع، کارهایی که به نظر میرسید، انجام شدهاند، در واقع انجام نگرفتهاند. یکی از دلایل این است که محصولات و آیتمهای اشتباهی تولید شدهاند و این موضوع دیر فهمیده شده است. یکی از دلایل هم میتواند تعامل ناکامل و نادرست با مشتری درباره رسیدن به توافق درباره محصول تولیدی باشد.
آیا خط نارنجی هیچگاه به سمت پایین حرکت نمیکند؟ به جز مورد مشخصی که چند آیتم از بکلاگ کنار گذاشته شدند و خط نارنجی تنها خطی بود که تغییر حرکت به سمت پایین داد، میتوان انتظار وقوع نموداری مانند نمودار بالا را هم داشت. سوال در این نمودار این است که تعدادی از آیتمهای در حال تست کجا هستند؟ این آیتمها ناپدید شدهاند. آیتمهای مذکور تکمیل نشدهاند و هیچ کار دیگری هم روی آنها صورت نگرفته است. در واقع، دیگر وجود ندارند. این یعنی آیتمهای اشتباه در مسیر تکمیل پروژه انتخاب شدهاند و این موضوع دیر درک و فهمیده شده است. ضمن اینکه آیتمها بهطور کلی هیچ ارزشی نداشته و به درد نمیخورند.
امکان دارد که یا روند تولید به کل اشتباه بوده یا اینکه پیچیدگیهای فنی مانع از آن بودهاند که مسیری درست برای تولید محصولی مناسب شکل بگیرد. در هر حال، هم اشتباه در روند کار به وجود آمده و هم این موضوع که مسیر و روند اشتباه است، دیر از سوی تیم درک شده است. در نتیجه، پروژه هزینههای زیادی به بار میآورد.
به آخرین نمودار گردش تجمعی هم دقت کنید:
به این نمودار نگاه کنید و بگویید که کدام بخش آن مشکل دارد؟ این نمودار در مقایسه با گزینههای قبلی به نظر خوب میرسد. اما احتمالا با نگاه دقیق به آن متوجه میشوید که جایی از کار لنگ میزند. بخش در حال رشد نمودار صعودی است اما این رشد و صعود به کُندی صورت میگیرد. انگار که یکی از اعضای تیم متوجه این موضوع شده و تیم از شروع کارهای جدید خودداری کرده است. در میانه مسیر، خط قرمز کمی رو به صافی گذاشته است. در مسیر تولید، زمانهایی به تست کردن و تحویل آیتمها میگذرد، روند بهرهوری تیم هم به نظر میرسد که اوضاع خوبی دارد. همانطور که میبینید، به جز انعکاس اشکالات، نمودار گردش تجمعی میتواند نقاط مثبت و رشد را هم به نمایش بگذارد.