کاهش هزینه پروژه با مدیریت چابک در 7 گام
توسعه نرم افزار در مدیریت چابک و ناب (Agile and Lean) یک مدل اثبات شده و موثر برای ایجاد نرم افزار کارا است. میلیون ها مهندس نرم افزار مزایای توسعه نرم افزار از این طریق را درک کرده و دیده اند. چابک دارای مزایای افزایش همکاری، کیفیت بالاتر و روحیه تغییر پذیری است. با این حال، برای افراد با مهارت فنی کمتر، این به چه معناست؟ در پایان، Agile به دلیل اصولی که پایه آن را تشکیل می دهد، منجر به صرفه جویی در هزینه ها می شود. لازم به ذکر است مدیریت چابک فقط در توسعه نرم افزار استفاده نمی شود، تمام سازمان ها و موسسات می توانند در پروژه های خود از مدیریت چابک استفاده کنند. در مقاله چابک سازی سازمان ها در این رابطه بیشتر میخوانید.
اصول اساسی توسعه چابک و ناب چیست؟ بیایید آنها را در رابطه با هزینه توسعه نرم افزار بیان کنیم.
1. سادگی و فقط کافی (Just Enough)
همه چیز در Agile عمداً ساده است (توجه داشته باشید: این به این معنی نیست که آسان است)، از فرآیندهای تیمی مانند اسکرام گرفته تا روشهای توسعه مانند تستهای واحد کوچک که یک کار را به خوبی انجام میدهند. انجام ساده ترین کار برای به دست آوردن نتیجه ای مقرون به صرفه رویکرد چابک است. زمانی که به نتیجه مورد نیاز رسیده ای خروجی را تحویل می دهی و از ادامه دادن بیش از حد اجتناب می کنید. این کار باعث کاهش هزینه ها و کاهش زمان صرف شده در پروژه می شود.
شکل 1: مفهوم سادگی در مدیریت چابک
2. ارزش تجاری / حذف ضایعات (Business Value / Eliminate Waste)
یکی از عناصر حیاتی مانیفست چابک نرم افزار کارا مهم تر از اسناد جامع است. مجموعه ای از اسناد قبل از توسعه، هزینه را بدون ارزش افزوده اضافه می کند. مجموعهای از اسناد و مدارک که هرگز استفاده نمیشوند ضایعات هستند. با تمرکز بر ارزش کسب و کار در هر فعالیت، یک تیم توسعه خطر افزایش هزینه ها را کاهش می دهد و از فعالیت های پرهزینه ای که ارزش ارائه نمی کنند اجتناب می کند. علاوه بر این: “چابک” نمی گوید اسناد تولید نکنید – در عوض، “فقط به اندازه کافی” ایجاد کنید تا نیازهای مخاطبان خود را برآورده کنید.
3. کیفیت در سراسر (Quality Throughout)
مدیریت چابک تقسیم کار ها به کار های کوچک را پیشنهاد می کند. تیمهای چابک معمولاً خود را در سطح بالایی از پاسخ گویی در تکرارهای 2-3 هفته نگه میدارند. این به کاهش تاخیر کمک می کند. تاخیر فنی به عنوان مسائل فنی تعریف میشود که باید زودتر برطرف شوند تا اینکه مانند تاخیرهای مالی قابل توجهتر و مهمتر شوند.
شکل 2: عوامل تاثیر گذار در پروژه
4. تعهد و مسئولیت پذیری (Commitment and Accountability)
تعهدات در Agile در اسپرینت های کوچکتر از مدل های توسعه سنتی مانند آبشاری انجام می شود. با توجه به ماهیت کسب و کار ها و پروژه های فعلی برنامه ای که برای 18 ماه آینده نوشته می شود، وقتی به موعد مقرر برای اجرایی شدن می رسد دیگر کارایی ندارد. از آنجایی که تیم اساساً برای خروجی کارا تنظیم شده است، با از دست رفتن تاریخ های تحویل، هزینه تاخیر افزایش می یابد. اگر تیم در رسیدن به خروجی کارا کوتاهی کند، رضایت مشتری کاهش می یابد که بر فروش و درآمد تأثیر می گذارد. چابک هدف های کوتاه مدت را به اهداف کوتاه تر با مدت زمان کمتر تقسیم می کند و افراد را موظف به انجام کار ها در آن مدت کوتاه به تسک های کوتاه مدت می داند. وقتی پروژه ها به بازه های زمانی کوتاه تر تقسیم می شوند دقت کار افزایش پیدا می کند.
5. تحویل سریع و تکراری (Rapid and Iterative Delivery)
ارائه سریع نرم افزار چرخه بازخورد سریع را فعال می کند، بنابراین خطر ایجاد عملکرد اشتباه را کاهش می دهد که مشکل کاربر را حل نمی کند. معمولاً کاربران نمی توانند آنچه را که می خواهند به درستی بیان کنند بدون اینکه ابتدا چیزی را در عمل ببینند. تحویل سریع به کاربر نگاهی به نرمافزار میدهد و تیم بر اساس بازخوردها تکرار میکند و به ما کمک میکند ویژگیهایی را ایجاد نکنیم که استفاده نمیشوند. اگرچه معمولاً مدتی صرف کار مجدد نرم افزار بر اساس بازخورد اصلاحی کاربر می شود، هزینه آن بسیار کمتر از انجام مجدد عملکردی است که در قطعات بزرگتر با بازه های زمانی طولانی تر و چند ماهه ارائه می شود.
6. همکاری و شفافیت (Collaboration and Transparency) در کاهش هزینه پروژه
تیمهای Agile و Lean معمولاً بسیار مؤثرتر از سایر مدلهای نرمافزاری با یکدیگر همکاری میکنند. Agile این همکاری را حتی با برخی از ابزارهای ضروری خود تشویق می کند. بهعنوان مثال، تیمهای Agile بهجای مشخصات الزامات 100 صفحهای که هفتهها طول میکشد و بهمحض چاپ منسوخ میشوند، از داستانهای کاربر برای شروع مکالمه و همکاری در مورد آنچه که باید در زمان واقعی ساخته شود، استفاده میکنند. این به معنای زمان سریعتر برای بازاریابی است که به فروش کمک می کند.
علاوه بر این، Agile عملاً نقش مدیر پروژه را که برای تلاشهای طولانیمدت ضروری است کنار میگذارد. این به معنای صرفه جویی در هزینه بالقوه در تعداد کار است. از آنجایی که تیم های چابک، پیشرفت خود را در شفافیت نگه می دارند، هیچ مدیر میانی به طور مداوم گزارش های وضعیت را جمع آوری نمی کند. در عوض، توسعه و معیارها با کلیک روی یک دکمه برای تیمهایی که از ابزار مدیریت نرمافزاری مانند Jira استفاده میکنند در دسترس هستند و گروههایی با بردهای فیزیکی اسکرام Scrum یا کانبان Kanban وضعیت آشکاری دارند که هر روز بر روی دیوار بهروزرسانی میشوند. همه اینها سربار کمتری دارد.البته در حال حاضر نرم افزار هایی ساده ای مانند ترلو (Trello) و گود دی (Good Day) توسعه یافته اند که می توانند برای پروژه ها به کمک تیم ها بیایند.
شکل 3: پیشرفت مدام در پروژه های چابک
7. پیشرفت مداوم (Continuous Improvement) در کاهش هزینه پروژه
یکی از ضروری ترین تمرینات چابک، گذشته نگری است. در اینجا، تیم به طور انتقادی در مورد مدت زمان اخیر توسعه فکر می کند و اقدامات سازنده ای را برای بهبود نحوه عملکرد آن استخراج می کند. گذشته نگری های مؤثر بر اساس نتایج و هزینه انجام می شود. این فعالیت منجر به خودکارسازی تیمها در عملیاتهای بیشتری میشود که قبلاً منجر به خطای انسانی و ناکارآمدی میشد، مانند استقرار و آزمایش. در نهایت یک سازمان ممکن است خیلی کمتر به کارهای دستی متکی باشد و خیلی بیشتر به اتوماسیونی که به تنهایی کار میکند، که بیشترین سود را برای یک تیم ناب و کارآمد ارائه میکند. همچنین، هنگامی که فرایند ها، خودکار شوند انتقال به میزبانی ابری نیز می تواند در هزینه های سرمایه و عملیاتی صرفه جویی کند. اگرچه این مدل میزبانی و هزینه به توسعه Agile نسبت داده نمی شود، Agile به فعال کردن آن کمک می کند.
چابکی می تواند سود یک کسب و کار را افزایش دهد. اما باید به این نکته توجه کرد که وقتی به تیمی می گویند چابک است به این معنا نیست که این گونه است. داشتن یک “Scrum روزانه” تیم را چابک نمی کند. برای درک کامل مزایای هزینه توسعه نرم افزار چابک و ناب، تیم باید از اصول اصلی پیروی کند و از شیوه های پشتیبانی بر اساس آن اصول استفاده کند. داشتن یک مربی چابک (Agile coach) می تواند به این امر کمک کند.
دیدگاهتان را بنویسید