در رویکرد LSD که به آن "استراتژی حداقل محصول قابل اتکا (Minimum Viable Product) هم میگویند، با تمرکز بر کاهش هزینه، کاهش ضایعات و تأمین نیازهای حداقلی، محصول نرمافزاری توسعه میابد.
در فرایند توسعه، رویکرد LSD میتواند موارد ذیل را تا حد زیادی کاهش دهد:
- زمان پیاده سازی: مسلماً در ابتدای راه توسعه سیستم، یکی از منابعی که بسیار محدود است، زمان است. اگر تولیدکننده در برنامه تولید سیستم، زیرسیستمهای متعددی را پیشبینی کند و بدون ارتباط با بازار هدف و دریافت RFP از یک یا حتی تعداد بالاتری از مشتریان نسبت به توسعه زیرسیستمها اقدام کند، قطعاً زمان زیادی را برای فاز توسعه نیاز خواهدداشت. تولیدکننده باید در زمانی که سپری میشود هزینههای زیادی را در ابعاد متفاوت پرداخت کند و این احتمال وجود دارد که زمان لازم برای بازاریابی و نفوذ بهموقع در بازار را ازدست بدهد. اگر توسعهدهندۀ نرمافزار، اکثر نیازها و زیرسیستمهای پایه و اساسی نرمافزار را شناسایی کند و از اختصاص زمان برای تولید امکانات گستردهتر پرهیز کند، میتواند در زمان کمتری محصول را آمادۀ عرضه نماید.
- بودجه: بودجه همواره شامل محدودیتهایی است و این محدودیت برای تمام تولیدکنندهها در ابعاد متفاوت وجود دارد. اختصاص بودجه اگر منجر به فروش و درآمد نشود، مسلماً منجر به شکست پروژه خواهدشد. تولید محصول نرمافزاری با تمرکز بر تأمین نیازهای اساسی جامعۀ هدف، میتواند بودجهای که برای تکمیل محصول نیاز دارید را کاهش دهد و میتوانید برای بازاریابی و پشتیبانی محصول در آینده، بودجه بیشتری در اختیار داشته باشید.
- نرخ شکست: نکتۀ مهمی را باید به خاطر بسپارید:
"نرخ شکست استارتآپها میتواند تا 90 درصد برسد که 35 درصد آن ناشی از درک نادرست از نیازهای بازار و 22 درصد آن نیز به علت رقابت پیشبینی نشده است". قطعاً زمانی که وارد فاز توسعۀ سیستم میشوید نمیتوانید تمرکز کافی بر بخشهای دیگر کسب و کار همانند ارتباط با مشتری و بازاریابی و فروش داشتهباشید.اگر نرمافزارتان را در حدی گسترده و پر از امکانات متنوع توسعه دهید، ممکن است بخشهایی از محصول هرگز برای بازار هدف جذابیت نداشتهباشد و حتی مورد استفاده آنها قرار نگیرد که در اینصورت، زمان و هزینۀ انجام شده برای توسعه این امکانات، هدررفته محسوب میگردد. بنابراین لازم است قبل از برنامهریزی برای توسعه سیستم، نیازهای واقعی را از روشهای مختلف از جامعه هدف استخراج کنید و نسبت به امکانات نرمافزار رقبا برای تأمین آن نیازها اشراف لازم را بدست آورید. قطعاً اگر هزینۀ تولید را کاهش دهید میتوانید بودجۀ بیشتری را صرف شناخت دقیقتر از بازار کنید.
اصول رویکرد LSD چگونه احتمال شکست پروژه توسعه نرمافزار را به حداقل میرساند؟
اصول LSD به آزمودن فرایند توسعه نرمافزار و به حداقل رساندن احتمال شکست کمک میکند. این اصول شامل موارد ذیل هستند:
- حذف ضایعات و هدررفتها: در فرایند توسعۀ نرمافزار، ضایعات به هر گونه فرایندی گفته میشود که به محصول نهایی ارزشی را اضافه نکند، زمان توسعه را کاهش ندهد و یا برای مشتری ارزش سازمانی خاصی فراهم نسازد. امکانات اضافه، کارهای کاملنشده، فرایندها و مستندسازیهای بیهوده، تغییر وظایف، تأخیرها و نقایصی که مستلزم کدنویسی مجدد هستند، نمونههایی از ضایعات فرایند توسعه نرمافزار هستند. در زمینه حذف ضایعات، LSD میگوید باید فرایندهای کاری توسعه را تصویرسازی کنید و گامهایی که در این جراین کاری، منفعت خاصی را برای کل سیستم ندارند، از کاسبت ابتدایی حذف نمائید تا کارایی و بهرهوری فرایند توسعه افزایش یابد.
- تقویت یادگیری: این اصل با هدف افزایش رضایت مشتری، بر خلق دانش در سراسر فرایند توسعه تأکید دارد. این اصل با فرایند ایجاد یک مکانیزم ثبت بازخوردهای داخلی و خارجی مرتبط است و این بازخوردها، بینش مطلوبی را نسبت به دشواریهای پیش رو فراهم میکند که نتیجۀ نهایی آن ارائۀ سرویس مطلوبتر به مشتریان است.
- تحویل فوق سریع: این اصل میگوید به جای اینکه به دنبال سیستمهای کاملاً مؤثر باشید، با حذف امکانات غیرضروری در مرحلۀ تولید اولیه و سرعت بخشیدن به فرایند توسعه، یک محصول MVP (محصولی با امکانات حداقلی و قابل اتکا) ارائه کنید و بر افزایش کارایی بازاریابی تمرکز کنید. به این شیوه محصول بازخورهایش را سریعتر بدست میآورد، زودتر میتواند وارد فاز تغییر و توسعۀ مشتریمحور شود و در رقابت با محصولات رقیب، سریعتر توسعه میابد.
- تزریق کیفیت به محصول: این اصل بر ارزیابی مداوم زیرسیستمهای در حال توسعۀ نرمافزار و افزودن کیفیت به آن تأکید دارد. LSD پیرامون کاهش ضایعات است نه کاهش کیفیت! در حقیقت، LSD کنترل کیفیت در فاز نهایی پروژه را اشتباه میداند و بر اطمینان از کیفیت تأکید دارد نه کنترل کیفیت پس از تکمیل یک اسکوپ بزرگ از فرایند توسعه نرمافزار چراکه این خطر وجود دارد که با یک نقص جدی مواجه شوید و نیاز باشد وقت زیادی را برای توسعه مجدد تلف نمایید!
- توانمندسازی تیم: LSD تآکید دارد که بجای هدایت تیمهای توسعه به آنها استقلال و آزادی عمل بدهید تا بطور خودمختار تصمیمگیری کنند و محترم به شمار آیند. در حقیقت، شرکت توسعهدهنده کارمندان را مهمترین دارایی خود محسوب میکند و به آنها اجازه میدهد تا نظرات و احساس خود را مطرح کنند و حتی آنها را برای بیان عقاید خود در فازهای توسعه نرمافزار تهییج نمایند. این رویکرد، وحیه تیم توسعه را بالا میبرد.
LSD مستقیماً با متدولوژی چابک و تحویل سریع محصول مرتبط است و تمام فازهای توسعه به نحوی طراحی میشوند که محصول نهایی در پایینترین هزینه ممکن و در یک بازه زمانی منطقی تحویل شود.
شرکت دانشبنیان نیافام نیز با توجه به منابعی که در ابتدای تأسیس خود داشت، استفاده از رویکرد LSD را برای توسعه نرمافزار اسپریت پورتال انتخاب نمود و زمان مناسبی را برای مطالعه نیازهای عمومی و اساسی مشتریان و وضعیت رقبا اختصاص داد. ما با علم به این حقیقت که یک نرمافزار مدیریت پورتال سازمانی میتواند شامل ماژولها و زیرسیستمهای متنوعی باشد، نیاز داشتیم ماژولهای حیاتی سیستم را شناسایی و تعیین کنیم و در مرحلۀ دوم، ماژولها را با کیفیتی برتر و نوینتر از نرمافزارهای مشابه رقبا توسعه دهیم. ما با استفاده از این شیوۀ توسعه، سیستم را برای عرضه و نمایش در مقابل مشتریان آماده کردیم و از این طریق، بازخوردهای ارزشمند آنها را دریافت و ثبت نمودیم. این شرکت بوسیلۀ جمعآوری بازخوردهای مشتریان با نیازهای جدید واقعی بازار آشنا شد و محصولی که در حال حاضر با استقبال چشمگیر مواجه شدهاست، نتیجۀ چنین رویکردی است.
بطور کلی نتیجۀ استفادۀ صحیح از رویکرد LSD عبارت است از:
- کاهش هدر رفت منابع
- کاهش ریسک
- افزایش رضایت مشتری