انجام پروژه به سبک اجایل، به یک شیوهی اصلی در تحویل پروژهها در حوزهی IT تبدیل شده است و کمتر شرکتی را میتوان پیدا کرد که خود را با وضعیت جدید تطبیق نداده و یکی از انواع مختلف این روش را برای تحویل پروژههایش بهکار نگرفته باشد. به بیان دیگر میتوان گفت انقلابی در فرایند تحویل رخ داده است. کیفیت، زمانی ایجاد میشود که هنگام استفاده از روشهای اجایل، روی شیوههای مختلف آزمایش کردن سریع و مستمر تمرکز شود و از کارفرما که (خودش یا نمایندهاش) در تیم انجام پروژه دخیل است، به طور مداوم بازخورد گرفته شود. اما مشکل این است که رویکردهای سنتی به مدیریت کیفیت پروژه که نقشهای کیفی، فرایندها و محصولات را دیکته میکنند، دیگر قابل اعمال نیستند و این پرسش مطرح است که آیندهی نقشهای مدیریت کیفیت و افرادی که در این حوزه فعالیت میکنند چگونه خواهد بود.
کیفیت، زمانی ایجاد میشود که هنگام استفاده از روشهای اجایل، روی شیوههای مختلف آزمایش کردن سریع و مستمر تمرکز شود و از مشتری که (خودش یا نمایندهاش) در تیم انجام پروژه دخیل است، به طور مداوم بازخورد گرفته شود
انواع مختلف مدیریت کیفیت پروژه
هدف این مقاله این نیست که نظریههایی را که پشت ایدهی مدیریت کیفیت پروژه وجود دارد بررسی کند، چرا که این نظریهها بسیار گسترده هستند، اما به شکلی گذرا به برخی از مباحث رایج که حول ادبیات مدیریت کیفیت پروژه وجود دارند و به استفاده از سبک اجایل مربوط میشوند اشاره خواهد شد.
-کیفیت پروژه در برابر کیفیت محصول
واضح است که این دو با هم تفاوت دارند و معمولا به شیوههای کاملا متفاوت و توسط متخصصین خاص خود انجام میشوند. اگرچه طبیعتا رابطهی عمیقی میان این دو برقرار است و در پروژههایی که به خوبی اداره میشوند احتمال تولید محصولات با کیفیت بیشتر است، اما همیشه این رابطه وجود ندارد. مطمئنا بیشتر ما تجربههایی داشتهایم که در آن یک پروژه به طرز بسیار بدی مدیریت شده است اما در نهایت، محصول کاملا قابل قبولی بهدست آمده است. (البته این اتفاق پس از اتلاف منابع بسیار رخ داده است) و برعکس.
در این مقاله نشان داده خواهد شد که ارزیابی کیفیت در مدیریت کیفیت پروژه به سبک اجایل با رویکردهای سنتی تفاوت زیادی دارد و بیشتر روی برآورده کردن نیازها تمرکز میکند. نکتهی دیگر اینکه استفاده کردن از معیارهای مناسب باعث میشود محصول نهایی از کیفیت مد نظر برخوردار باشد.
-فرایند مناسب در برابر برآورده کردن ویژگیها
رویکردهایی که در مدیریت کیفیت پروژه سنتی وجود دارند معمولا روی ایجاد یک برنامهی کیفی و سپس رصد کردن میزان مطابقت انجام کارها با آن متمرکز هستند. در این شیوه فرض بر این است که اگر از روندهای پیشبینی شده پیروی کنید، محصول نهایی نیز از کیفیت مطلوبی برخوردار خواهد بود. به این ترتیب گمان میشود که با استفاده از برخی آزمایشها میتوان از برآورده شدن ویژگیهای مورد نظر اطمینان حاصل کرد، اما تجربه نشان داده است که این دو فرایند ارتباط بسیار کمی با هم دارند. اگر در آزمایش، یکی از اجزا عملکرد بدی از خود نشان دهد، چگونه میتوان به عقب بازگشت و علت ناموفق بودن آزمایش کیفیت را بررسی کرد؟ به بیان دیگر میتوان گفت کنترل کیفیت در این شرایط، تنها ثابت میکند که از یک برنامهی مشخص پیروی شده و نمیتواند نشان دهد که کیفیت مورد نظر تامین شده است.
در سبک اجایل، معمولا یک فرایند با کیفیت مناسب جایگزین این رویکرد میشود و با این پیشفرض که روشهای اجایل به صورت خودکار خروجیهای بهتری تولید میکند جلو میروند. این شیوه تنها زمانی کار میکند که انجام پروژه به خوبی پیش برود و برای این کار به مالک محصول، تکنیکهای همکاری و عوامل دیگری احتیاج است تا کار به درستی انجام شود.
-برآورده کردن نیازها دربرابر تناسب برای استفاده/هدف
یک مشکل رایج در دنیای پروژه این واقعیت است که حتی اگر محصول نهایی به طور کامل رضایت مشتریها را جلب کند، ممکن است چیزی که واقعا نیاز بوده است تولید نشده باشد. این اتفاق ممکن است به این خاطر رخ داده باشد که افراد نامناسب در طراحی شرکت کردهاند یا همهی افرادی که لازم بوده است در این فرایند حضور نداشتهاند، یا استخراج و مستندسازی نیازها به خوبی انجام نشده است یا سادهتر از این، نیازها و یا زمینهای که محصول در آن استفاده میشود از زمان طراحی اولیه تا تحویل محصول تغییر کرده باشد. در چنین مواردی است که مدیریت اجایل وارد عمل میشود و میتواند بسیاری از این مشکلات را از طریق همکاری نزدیکتر و تحویل سریعتر محصول به بازار حل کند.
-تناسب برای استفاده/ هدف در برابر کلیت فوقالعاده
دربارهی این موضوع بسیار بحث شده است اما چیزی که به مدیریت پروژه به سبک اجایل مربوط میشود این است که تحویل کیفیت در بیشتر شیوههای مدیریت کیفیت پروژه براساس تناسب برای هدف صورت میگیرد. یک محصول نباید کاری بیشتر یا کمتر از چیزی که برای آن طراحی و ساخته شده است انجام دهد. چرا که استفاده از واژهی «کیفیت» همیشه شیوهی تفکر ما را تحت تاثیر قرار میدهد و هنگام ارزیابی، مناسب بودن یک محصول کمتر سنجیده میشود. برای مثال ممکن است یک محصول وظیفهاش را به بهترین شکل انجام دهد اما همچنان به عنوان یک محصول با کیفیت پایین شناخته شود، چرا که هنوز به اندازهی کافی خوب نیست. به همین ترتیب ممکن است برخی از جنبههای یک محصول براساس ایدههایی که در گذشته دربارهی یک محصول با کیفیت بالا وجود داشته است، بیش از حد نیاز طراحی شده باشند. در تحویل پروژههای IT این مفهوم معمولا با عباراتی مانند اصرار بر بهترین عملکرد تعریف میشوند و ممکن است که به زمینهی مورد نظر برای استفاده مربوط باشد یا ارتباطی با آن نداشته باشد.
یک محصول نباید کاری بیشتر یا کمتر از چیزی که برای آن طراحی و ساخته شده است انجام دهد. چرا که استفاده از واژهی «کیفیت» همیشه شیوهی تفکر ما را تحت تاثیر قرار میدهد و هنگام ارزیابی، مناسب بودن یک محصول کمتر سنجیده میشود
در غیاب محصولات رسمی که بتوان آنها را دنبال کرد، کیفیتی که از محصول مشاهده میشود معیار اصلی برای موفقیت آن خواهد بود و به این ترتیب میتوانید بگویید که تیم طراحی نه تنها باید نیازهای مشتری را برآورده کند بلکه باید محصولی روانهی بازار کنند که مطمئن باشند مشتریها هنگام استفاده از آن احساس راحتی میکنند.
آیا میتوان در اجایل هم برای سرعت اهمیت قائل شد هم برای کیفیت
در حالی که تکنیکهای بازاریابی در اجایل، روی فاصلهی زمانی آماده شدن محصول تا تحویل آن به بازار تاکید میکنند، ملاحظات مربوط به کیفیت واقعا به چیزهایی مربوط میشوند که درکی کلی از صنایع و مشتریهای مختلف فراهم میکنند. به این ترتیب، اصل کلیدی در اجایل این است که “راضی کردن مشتری بالاترین اولویت است”.
اما در دنیای واقعی معمولا شاهد این هستیم که کیفیت فدای سرعت میشود. آیا میتوان گفت که مصالحهای میان این دو مفهوم وجود دارد و باید مدیریت شود؟ (به طور مشابه مدیریت پروژهی سنتی نیز تلاش میکند میان زمان و منابع تعادل برقرار کند) همهی متخصصانی که در این حوزه فعالیت میکنند، قطعا فشارهای آخر هفته برای تحویل پروژهها را احساس کردهاند و این فشارها به مانعی برای انجام درست کار تبدیل شده است و تحویل پروژه به هر قیمتی باعث شده است که کیفیت کار افت پیدا کند. این وضعیت باعث ایجاد مذاکرههای مستمری شده است که در آنها بررسی میشود برای تحویل پروژه در سبک اجایل، وجود چه عیبهایی قابل قبول است و چگونه میتوان انتظارات مشتریها را براساس این نواقص پایین آورد.
اگرچه تصمیم فوری دربارهی اینکه منابع را در کجا باید صرف کرد شبیه به این است که بین انجام سریع پروژه و انجام درست آن تصمیمگیری شود، در این مقاله نشان داده خواهد شد که کوتاهی کردن در کیفیت، در نهایت تاثیر منفی روی زمان تحویل پروژه نیز خواهد داشت و دلیل آن کارهای دوبارهای است که برای دنبال کردن میانبرها و حذفیات باید انجام شوند. همه میدانند که در حوزهی نرمافزار، کم کردن کیفیت ممکن است باعث کم شدن سرعت محصول شود اما در نهایت سرعت انجام پروژه نیز کاهش پیدا میکند. نتیجهگیری کلی این است که تمرکز روی سرعت هرگز نباید به ابزاری برای نادیده گرفتن کیفیت تبدیل شود و تکنیکهای زیادی در روشهای اجایل وجود دارد که روی این موضوع متمرکز شدهاند.
به بیان “باب گالن” که یکی از افراد کهنهکار در این حوزه است:
«اجایل روی سرعت متمرکز نشده است بلکه کیفیت را در مرکز توجه قرار داده است و ممکن است (تحت شرایط مناسب) خیلی سریع هم پیش برود.»
تضمین کیفیت و فعالیتهای کنترلی ممکن است در پروژههای پیچیده بسیار دشوار باشند، در نتیجه کاملا طبیعی است که گاهی وقتها از رویکردهایی که به کیفیت در سبک اجایل وجود دارد، به عنوان توجیهی برای خلاص شدن از دستورهای بالاسری در مدیریت کیفیت پروژه استفاده شود. اما همان طور که بحث شد، تحویل سریع به بیشینه کردن رضایت مشتری مربوط میشود و شیوههای زیادی وجود دارد که اجایل با استفاده از آنها کیفیت محصول را افزایش میدهد. جنبههایی که در ادامه بیان میشوند عواملی کلیدی برای تامین کیفیت در اجایل هستند:
تکنیکهای اجایل برای این طراحی شدهاند که کیفیت را به شکلی عملیتر و معنادارتر وارد پروژه کنند، از مولفهها و آزمایشهایی که در روشهای سنتی مدیریت کیفیت پروژه به کار میروند استفاده کرده و آنها را در فعالیتها، طراحی و ایجاد محصول گرد هم جمعآوری کند. این موارد شامل فعالیتهای شناخته شدهای مانند توسعهی مبتنی بر آزمایش، آزمایش اتوماسیون، برنامهنویسی مشترک،آزمایش های اکتشافی، معیارهای پذیرش اصلاح شده و روشهای توسعه مبتنی بر متودولوژی اجایل است.
تکنیکهای اجایل برای این طراحی شدهاند که کیفیت را به شکلی عملیتر و معنادارتر وارد پروژه کنند، از مولفهها و آزمایشهایی که در روشهای سنتی مدیریت کیفیت پروژه به کار میروند استفاده کرده و آنها را در فعالیتها، طراحی و ایجاد محصول گرد هم جمعآوری کند
ویژگی دیگری که در متودولوژی اجایل وجود دارد، تاکید بر اهمیت نقش مالک محصول است. همچنین انتخاب ترکیب مناسبی از افراد و فراهم کردن آموزشهای لازم برای آنها و توانا کردن آنها برای انجام درست وظایفشان، از دیگر نکات کلیدی برای موفقیت هستند. یک عامل برای انجام درست این کارها این است که مالک محصول تا چه حد از الزامات محصول مورد نظرش شناخت دارد. برای مثال در پروژههای IT مالک محصول ممکن است شناخت بسیار خوبی از خروجیهای کسبوکارش داشته باشد، اما به ویژگیهای تکنیکی محصول توجه چندانی نکرده باشد. این ویژگیها هستند که عملکرد و دوام محصول در طولانی مدت و هزینههای نگهداری را مشخص میکنند. به بیان دیگر، اجایل در تضمین کیفیت کار فوقالعاده عمل میکند، اما به صورت خودکار در کیفیت ساختاری مشارکت نمیکند. در نتیجه چگونه میتوانید با در نظر گرفتن اهمیت جنبههای مختلف کیفیت محصول، اطمینان حاصل کنید که همهی آنها به طور برابر در تامین کیفیت نقش داشتهاند؟
در نهایت صرف نظر از همهی آزمایشهایی که انجام میشود، میتوان کیفیت را در پروژه از لحظهی شروع پروژه و از طریق شفاف کردن هدف پروژه برای همهی اعضای تیم، تثبیت کرد. در میان نظریهپردازها این توافق کلی وجود دارد که با سوال پرسیدن از اعضای تیم به صورت تصادفی دربارهی اینکه چرا فکر میکنند پروژه برای سازمان مهم است، میتوان به صورت قطعی موفقیت یک پروژه را پیشبینی کرد. اما واضح است که این موضوع در پروژههای بزرگ و پیچیده به تلاشهای بیشتری نیاز دارد. اما صرف زمان و تلاش کردن برای آگاه کردن همهی افراد از اهداف و نتایج پروژه باعث میشود در نهایت نتایج بهتری حاصل شود.
به کار بردن ترکیب مناسبی از این ویژگیهای کیفی، برای دستیابی به کیفیت مورد نظر در متودولوژی اجایل بسیار کلیدی است، اما لازم است که منابع برای هدفی مهمتر از ارائهی فوری محصول صرف شوند تا کیفیت مورد نظر فراهم شود (این منابع باید برای اضافه کردن افراد متخصص به پروژه، برداشتن گامهای اضافی در طراحی، غلبه بر چالشها و بهبود ویژگیهای محصول یا در راه آموزش و مهارتآموزی اعضای تیم صرف شود).
مدیریت کیفیت پروژه: جمع بندی
اگرچه اجایل برای رفع مشکلات مربوط به کیفیت در بسیاری از پروژههای IT ایجاد شده، اما درست مانند رویکردهای سنتی به کیفیت، به صورت خودکار اتفاق نمیافتد و به تلاش و پشتکار زیادی در مرحله تحویل و پس از آن احتیاج دارد.
کیفیت در متودولوژی اجایل معمولا در موضوعات مربوط به کیفیت نرمافزار مطرح شده است و این باور وجود دارد که نرمافزار بهتر، با سرعت بیشتری همراه است، رضایت مشتری را بهتر جلب میکند و به طور کلی کاربردی تر است. اما متخصصین کمتر به این پرسش پرداختهاند که چگونه میتوان اطمینان حاصل کرد که انجام پروژه به سبک اجایل واقعا میتواند به کیفیتی که مد نظر است دست پیدا کند؟ همچنین چه چیزی در اجایل کیفیت را تثبیت میکند و چگونه میتوانیم برای رسیدن به کیفیت از فرایند انجام کار فراتر برویم؟