نرم افزار یکی از پیچیدهترین و جذابترین محصولاتی است که انسان میتواند بسازد. اما ساخت نرم افزار با چالشهای بسیاری نیز همراه است که در نتیجه آن باید با روش های مناسب اجرا شود. در این مقاله قصد داریم به بررسی تفاوت های اساسی بین ساخت نرم افزار و ساخت و ساز اشیاء فیزیکی بپردازیم و نشان دهیم که چرا روشهای مدیریت پروژه سنتی در تولید نرم افزار کارآمد نیستند. همچنین به معرفی مایندست اجایل به عنوان یک روش جدید و منعطف برای مواجهه با عدم قطعیت و تغییرات در فضای نرم افزار خواهیم پرداخت.
تفاوتهای بین تولید نرم افزار و ساخت اشیاء فیزیکی
به طور کلی روشهای مختلفی برای تولید وجود دارند. مثلاً برای ساخت ماشین، کشتی، ساختمان و غیره، معمولاً یک طرح دقیق و کامل از پروژه در ابتدا تهیه می شود و سپس با استفاده از منابع و ابزارهای لازم، پروژه به صورت مرحله به مرحله اجرا میشود. در این روش، فرض بر این است که نیازهای پروژه، تکنولوژیهای مورد استفاده و شرایط بازار، قابل پیش بینی هستند و تغییرات زیادی در طول پروژه رخ نمیدهد.
اما وقتی به تولید نرم افزار میرسیم داستان به کل عوض میشود؛ چرا؟ چون نرم افزار یک محصول ذهنی است که با استفاده از زبانهای برنامه نویسی خلق می شود. نرم افزار بر خلاف ساخت و ساز فیزیکی، دارای محدودیتهای فضایی، زمانی و مادی نیست. شما مثلاً وسط پروژه ساختمان تصمیم نمیگیرید جهت ساختمان را عوض کنید و مثلاً ۴۵ درجه آنرا بچرخانید. چون این کار باعث خسارات جبران ناپذیر و هزینههای زائد خواهد شد. اما در تولید نرم افزار، شما خیلی راحتتر میتوانید بخشهای مختلف برنامه را عوض کنید.
بررسی منشاء پیدایش مسئولیتهایی نظیر اسکرام مستر
همین امر باعث ایجاد مسئولیتهای جدیدی همچون اسکرام مستر و مالک محصول شده است که به تفسیر میتوانید در ویدئو زیر در جریان آن قرار بگیرید.