رویکرد Prototype چیست؟ | 6 مرحله اصلی پروتوتایپ

رویکرد Prototype چیست؟ | 6 مرحله اصلی پروتوتایپ

Prototype چیست؟

پروتوتایپ، در علوم آزمایشگاهی به معنی نمونه اولیه ایست که بر اساس الگویی ساخته شده می شود؛ و در علوم کامپیوتر و مهندسی، یک مدل توسعه نرم افزار است که در آن نمونه اولیه ساخته شده، آزمایش می شود و تا زمانی که یک نمونه قابل قبول به دست آید، دوباره  به چرخه کار بر می گردد، و همچنین پایگاهی را برای تولید سیستم یا نرم افزار نهایی ایجاد می کند.

این مقاله سعی دارد در مورد این رویکرد توضیحاتی هرچند مختصر اما راهگشا ارائه کند. پروتوتایپ رویکردی مانند اجایل و اسکرام است؛ اما دامنه وسعتش به قدری گسترده است که حتی طراحی گرافیک و تجربه کاربری (UX) را نیز بر می گیرد. در مواقعی که الزامات پروژه به طور دقیق مشخص نیست، این مدل بهترین بازدهی را دارد. به بیانی می توان گفت این روش، همان راه تکراری و آزمون و خطا است که به صورت چرخه ای نامحدود بین توسعه دهندگان و نیاز های مشتری انجام می شود.

مراحل Prototyping

مرحله 1: جمع آوری و تجزیه و تحلیل نیازمندی ها

 این مرحله با تجزیه و تحلیل نیاز مورد نظر شروع می شود. در این مرحله الزامات و نیازمندی های سیستم به تفصیل تعریف می شوند. در طول این فرآیند ها، با کاربران سیستم مصاحبه می شود تا بدانند انتظارات آنها از سیستم چیست. (نظرات می توانند از کاربران و هم از سهامداران جمع آوری شوند.)

مرحله 2: طراحی سریع

مرحله دوم یک طراحی اولیه یا یک طراحی سریع است. در این مرحله یک طراحی ساده از سیستم ایجاد می شود. با این حال، ایده هنوز کامل نیست. نمونه صرفا یک ایده اولیه مختصر از سیستم، به کاربر می دهد. طراحی سریع به توسعه نمونه اولیه کمک می کند.

مرحله 3: ساخت نمونه اولیه

در این مرحله یک نمونه اولیه واقعی بر اساس اطلاعات جمع آوری شده طراحی می شود. این یک مدل کار کوچک از سیستم مورد نیاز است.

مرحله 4: ارزیابی اولیه کاربر

در این مرحله سیستم پیشنهادی برای ارزیابی اولیه به مشتری ارائه می شود. این کار کمک می کند تا نقاط قوت و ضعف مدل کار را پیدا کنید. نظرات و پیشنهادات از مشتری ها جمع آوری شده و در اختیار توسعه دهندگان قرار می گیرد.

مرحله 5: پالایش پروتوتایپ

اگر کاربر از نمونه اولیه فعلی راضی نیست، باید نمونه اولیه را با توجه به نظرات و پیشنهادات کاربر اصلاح کنید.

این مرحله تا زمانی که تمام الزامات مشخص شده توسط کاربر برآورده نشود؛ پایان نخواهد یافت. هنگامی که کاربر از نمونه اولیه توسعه یافته راضی بود، یک سیستم نهایی بر اساس نمونه اولیه تایید شده توسعه داده می شود.

مرحله 6: اجرای محصول و نگهداری(Implement and Maintain)

هنگامی که سیستم نهایی بر اساس نمونه اولیه توسعه یافت، به طور کامل آزمایش شده و به تولید می رسد. این سیستم برای به حداقل رساندن زمان خرابی(downtime)  و جلوگیری از خرابی در مقیاس بزرگ، تحت تعمیر و نگهداری معمول قرار می گیرد.

Prototype
پروتوتایپ
prototyping
Prototype چیست؟
فیدبک از کاربر و پالایش نمونه، فرآیندی بی پایان است

انواع رویکرد Prototyping

Rapid Throwaway Prototype (پروتوتایپ سریع)

تعریف لغوی این عبارت می شود “پروتوتایپ سریع دور ریزنده”
اگرچه این تعریف چنگی به دل نمی زند، اما بیشترین توضیح را در خصوص خود به ما می دهد. این بخش به سرعت توسعه می یابد تا نشان دهد که نیاز مورد نظر ما از جنبه بصری چگونه به نظر می رسد. بازخورد مشتری، به ایجاد تغییرات در نیاز کمک می‌کند و prototype دوباره ایجاد می‌شود تا زمانی که نیاز برطرف نشود، پروتوتایپ ادامه خواهد داشت.

تصور کنید مشتری یک کیف میخواهد. یک کیف طراحی می کنید و پس از ارائه، به شما می گوید کیفش برای لپتاپ جایی ندارد. این بار شما جای بیشتری اضافه می کنید. دفعه بعد به شما میگوید کیف سنگین شده است. این بار جنس کیف را عوض می کنید. بار بعد به شما خواهد گفت که کیف پاره شده است. این بار کیف را دولایه می کنید و مشتری از قیمت شکایت می کند. این روند تا بی نهایت ادامه دارد. (طراحی پایانی ندارد)

در این روش، نمونه اولیه توسعه یافته کنار گذاشته می شود و بخشی از prototype پذیرفته خواهد بود. این تکنیک برای بررسی ایده ها و دریافت بازخورد فوری برای نیازهای مشتری مفید است.

Evolutionary Prototyping (توسعه یافته)

در اینجا، Prototype  توسعه یافته بر اساس بازخورد مشتری به تدریج اصلاح می شود تا اینکه در نهایت پذیرفته شود. این مساله به شما کمک می کند تا در زمان و تلاش خود صرفه جویی کنید. دلیلش هم این است که توسعه مجدد یک پروتوتایپ از ابتدا، می تواند بسیار خسته کننده باشد.

این مدل برای پروژه هایی مفید است که از فناوری های جدیدی استفاده می کنند و به خوبی شناخته نشده اند. همچنین برای پروژه های پیچیده ای استفاده می شود که در آنها هر عملکرد باید یک بار بررسی شود.
(مثلا نرم افزاری دارید که امکانات زیادی دارد، اما عملکرد هر کدام به تنهایی میتواند بسیار مهم باشد/ سوپر اپلیکیشین هایی مانند وی چت در چین را به ذهن بیاورید).

Incremental Prototyping (پروتوتایپ افزایشی)

در Prototyping  افزایشی، محصول نهایی به نمونه های اولیه کوچک  تقسیم می شود و به صورت جداگانه توسعه می یابد. در نهایت، نمونه های اولیه مختلف در یک محصول واحد ادغام می شوند. این روش برای کاهش زمان بازخورد بین کاربر و تیم توسعه برنامه مفید است.
(مانند یک شرکت که قصد طراحی یک وب اپ را دارد. در این وب اپ، هم امکانات حضور و غیاب آنلاین انجام می شود و هم خدمات سند نگاری. در نهایت طراح محصول میتواند پروسه را به قسمت های کوچک تر تقسیم کند و در نهایت آنها را ادغام کند.)

Extreme Prototyping (پروتوتایپ حداکثری)

پروتوتایپ حداکثری غالبا برای توسعه وب استفاده می شود و از سه مرحله متوالی تشکیل شده است.

نمونه اولیه با تمام صفحات موجود در قالب HTML (HTML یک تکنولوژی نشانه گذاری متن است که می توان از آن به عنوان اسکلت هر وبسایت یاد کرد.)موجود است.

شما می توانید فرآیند داده را با استفاده از یک لایه خدمات نمونه اولیه شبیه سازی کنید.

خدمات پیاده سازی شده و در نمونه اولیه ادغام شده اند.

بهترین روش های Prototyping

در اینجا چند نکته وجود دارد که باید در طول فرآیند Prototyping مراقب آنها باشید:

– هنگامی که الزامات نامشخص هستند، باید از پروتوتایپ استفاده کنید.

– انجام Prototyping برنامه ریزی شده و کنترل شده بسیار مهم است.(5 نرم افزار مدیریت پروژه را بخوانید)

– جلسات منظم برای نگه داشتن پروژه به موقع و جلوگیری از تأخیرهای پرهزینه حیاتی است.

– کاربران و طراحان باید از مسائل و مشکلات پروتوتایپینگ آگاه باشند.

– در مراحل اولیه، باید یک پروتوتایپ را تأیید کنید و تنها پس از آن به تیم اجازه دهید به مرحله بعدی برود.

– در روش Prototyping نرم‌افزاری، در صورت نیاز به بکارگیری ایده‌های جدید، هرگز نباید از تغییر تصمیمات قبلی بترسید.(هرچه باشد، ذات این روش تغیر و حرکت است)

– شما باید اندازه گام مناسب را برای هر نسخه انتخاب کنید.

– ویژگی های مهم را زود اجرا کنید تا اگر وقتتان تمام شد، همچنان یک سیستم ارزشمند داشته باشید.

Prototype
پروتوتایپ
prototyping
Prototype چیست؟
بهترین مقالات HR را در تی تایم بخوانید

مزایای مدل Prototyping

1.همه کاربران به طور فعال در توسعه شرکت دارند.(به این نوع جمع اوری اطلاعات، در هر زمینه ای که باشد DATA DRIVEN می گویند چرا که مبتنی بر اطلاعات است) بنابراین، خطاها را می توان در مرحله اولیه فرآیند توسعه نرم افزار تشخیص داد.

2.عملکرد های  از بین رفته را می توان شناسایی کرد تا به کاهش خطر شکست محصول کمک کند؛ زیرا نمونه سازی به عنوان یک فعالیت “کاهش خطر” نیز در نظر گرفته می شود.

3.به اعضای تیم کمک می کند تا به طور موثر ارتباط برقرار کنند.

4.رضایت مشتری به این دلیل وجود دارد که مشتری می تواند محصول را در مراحل اولیه احساس کند.

5.به سختی احتمال رد نرم افزار وجود خواهد داشت.

6.بازخورد سریعتر کاربر به شما کمک می کند تا به راه حل های توسعه نرم افزار بهتری دست یابید.

7.به مشتری اجازه می دهد تا در صورتی که کد نرم افزار با مشخصات نرم افزار مطابقت دارد، مقایسه کند.

8.این به شما کمک می کند تا عملکردهای از دست رفته در سیستم را پیدا کنید.

9.همچنین توابع پیچیده یا دشوار را شناسایی می کند.

10.نوآوری و طراحی انعطاف پذیر را تشویق می کند.

11.این یک مدل ساده است، بنابراین درک آن آسان است.

12.نیازی به کارشناسان ساخت مدل نخواهید داشت.

13.Prototyping به عنوان پایه ای برای استخراج مشخصات سیستم عمل می کند.

14.Prototyping به درک بهتر نیازهای مشتری کمک می کند.

15.Prototyping را می توان تغییر داد و حتی دور انداخت.

16.یک Prototyping همچنین به عنوان پایه ای برای مشخصات عملیاتی عمل می کند.

17.نمونه های اولیه ممکن است آموزش اولیه را برای کاربران آینده سیستم نرم افزاری ارائه دهند.

معایب مدل Prototyping

1.Prototyping فرآیندی کند و زمان بر است.

2.هزینه توسعه یک نمونه اولیه ضایعات کامل است زیرا نمونه اولیه در نهایت دور ریخته می شود.

3.Prototyping ممکن است درخواست های تغییر بیش از حد را تشویق کند.

4.برخی اوقات ممکن است مشتریان تمایلی به شرکت در چرخه تکرار برای مدت زمان طولانی تری نداشته باشند.

5.هنگامی که هر بار که Prototyping توسط مشتری ارزیابی می شود، ممکن است تغییرات بسیار زیادی در الزامات نرم افزار وجود داشته باشد.

6.مستندات معمولا ضعیف است، زیرا نیازهای مشتریان در حال تغییر است.

7.برای توسعه دهندگان نرم افزار بسیار دشوار است که تمام تغییرات مورد نیاز مشتریان را تطبیق دهند.

8.پس از دیدن یک پروتوتایپ ، مشتریان ممکن است فکر کنند که محصول واقعی به زودی به ایشان تحویل داده خواهد شد؛ در صورتی که شاید حتی در نخستین مراحل توسعه آن باشید.

زمانی که مشتری از پروتوتایپ راضی نباشد ممکن است علاقه خود را به محصول نهایی از دست بدهد.(این مساله زمانی مشکل ساز خواهد شد که به جای مشتری، مالک کسب و کار و سهامداران تمایل خود را از دست بدهند.)

توسعه‌دهندگانی که می‌خواهند پروتوتایپی سریع بسازند، ممکن است در نهایت راه‌حل‌های توسعه ای زیر حد استاندارد معقول ایجاد کنند.

فرآیند پروتوتایپینگ، گاهی وقت ها روی کاغذ است!

خلاصه مطالب

در مهندسی نرم‌افزار، روش‌شناسی Prototyping یک مدل توسعه نرم‌افزار است که در آن یک نمونه اولیه ساخته می‌شود، آزمایش می‌شود و در صورت نیاز مجدداً روی آن کار می‌شود تا نمونه اولیه ی قابل قبول به دست آید.

1) جمع آوری و تجزیه و تحلیل نیازمندی ها
2) طراحی سریع
3) ساخت نمونه اولیه
4) ارزیابی اولیه کاربر
5) پالایش نمونه اولیه
6) اجرای محصول و نگهداری
مراحل فرایند ساخت نمونه هستند.

نوع نمونه های اولیه عبارتند از :
1) نمونه های اولیه پرتاب سریع
2) نمونه اولیه تکاملی
3) نمونه اولیه افزایشی
4) نمونه اولیه Extreme

*جلسات منظم برای نگه داشتن به موقع پروژه و جلوگیری از تاخیرهای پرهزینه در رویکرد نمونه سازی ضروری است.
*نمونه سازی ممکن است درخواست های تغییر بیش از حد را تشویق کند.

مقالات مرتبط
پاسخ دهید

آدرس ایمیل شما منتشر نخواهد شد.قسمتهای مورد نیاز علامت گذاری شده اند *