روشهای چابک در مقابل V (مدل)
امروزه روش های مختلف توسعه نرم افزار در صنعت نرم افزار مورد استفاده قرار می گیرد. روشهای V (V-Model) توسعهای برای روش توسعه آبشار (که یکی از اولین روشها است) است. تمرکز اصلی V-Model دادن وزن برابر به کدنویسی و تست است. مدل چابک یک مدل توسعه نرم افزار جدیدتر است که برای رفع کاستی های موجود در مدل های موجود معرفی شده است. تمرکز اصلی Agile این است که آزمایش را در اسرع وقت انجام دهد و یک نسخه کارآمد از محصول را خیلی زود با تجزیه سیستم به بخشهای بسیار کوچک و قابل مدیریت عرضه کند.
روش های V (مدل) چیست؟
V Methodologies (V-Model) یک مدل توسعه نرم افزار است. این به عنوان یک توسعه از مدل معمولی توسعه نرم افزار Waterfall در نظر گرفته می شود. V-Model از همان روابط بین فازهای تعریف شده در مدل Waterfall استفاده می کند. اما به جای نزول خطی (مانند مدل آبشار)، V-Model به صورت مورب پایین می آید و سپس به سمت بالا حرکت می کند (پس از مرحله کدگذاری)، شکل حرف V را تشکیل می دهد. این شکل V برای نشان دادن رابطه بین هر فاز از توسعه/طراحی و مرحله آزمایش مربوطه. زمان و سطح انتزاع به ترتیب با محور افقی و عمودی نشان داده می شود.
آزمایش (مسیر صعودی، سمت راست V) برای تأیید انجام می شود، در حالی که مراحل طراحی مربوطه (مسیر نزولی، سمت چپ V) برای اعتبارسنجی استفاده می شود. در V-Model وزن یکسانی به کدگذاری و تست داده می شود. V-Model ایجاد سند آزمایشی در کنار اسناد/کد طراحی را توصیه می کند.به عنوان مثال، اسناد تست یکپارچه سازی باید زمانی نوشته شود که طراحی سطح بالا در حال مستندسازی است و تست های واحد باید در حین انجام طرح طراحی تفصیلی مستند شوند. این به این معنی است که یک برنامه اجرایی برای هر آزمون باید از قبل ایجاد شود، نه اینکه منتظر تکمیل توسعه باشد تا بتوان آن را به تیم آزمایش واگذار کرد.
Agile چیست؟
Agile یک متدولوژی توسعه نرم افزار بسیار جدید است که بر اساس مانیفست چابک است. این برای رفع برخی کاستیها در روشهای سنتی توسعه نرمافزار V-Model و Waterfall ایجاد شد. روش های چابک مبتنی بر اولویت دادن به مشارکت مشتری در اوایل چرخه توسعه است. این توصیه می کند که آزمایش توسط مشتری در مراحل اولیه و اغلب تا حد امکان انجام شود. زمانی که یک نسخه پایدار در دسترس قرار می گیرد، آزمایش در هر نقطه انجام می شود. پایه و اساس Agile بر اساس شروع آزمایش از ابتدای پروژه و ادامه در سراسر پروژه تا پایان پروژه است.ارزش های کلیدی Agile "کیفیت مسئولیت تیم است" است، که تاکید می کند که کیفیت نرم افزار به عهده کل تیم است (نه فقط تیم آزمایش). یکی دیگر از جنبه های مهم Agile، تجزیه نرم افزار به بخش های کوچکتر قابل مدیریت و تحویل سریع آنها به مشتری است. ارائه یک محصول کارآمد از اهمیت بالایی برخوردار است. سپس تیم به بهبود نرم افزار و ارائه مداوم در هر مرحله اصلی ادامه می دهد. این با داشتن چرخههای آزادسازی بسیار کوتاه به نام اسپرینت و گرفتن بازخورد برای بهبود در پایان هر چرخه به دست میآید. مشارکتکنندگان بدون تعامل زیاد تیم مانند توسعهدهندگان و آزمایشکنندگان در روشهای قبلی، اکنون در مدل Agile با هم کار میکنند.
تفاوت بین روش شناسی Agile و V (مدل) چیست؟
مدل چابک یک نسخه کارآمد از محصول را در مقایسه با V-Model بسیار زود ارائه می دهد. از آنجایی که ویژگیهای بیشتری به صورت تدریجی ارائه میشوند، مشتری میتواند برخی از مزایای آن را زودتر درک کند.زمان چرخه تست Agile در مقایسه با V-Model نسبتا کوتاه است، زیرا آزمایش به موازات توسعه انجام می شود. Agile یک مدل فعال (به دلیل چرخه های بسیار کوتاه) در مقایسه با V-Model بسیار واکنش پذیرتر است. V-Model نسبت به مدل Agile بسیار سفت و انعطاف پذیر است. به دلیل تمام این مزایا، Agile در حال حاضر بر مدل V ترجیح داده می شود.