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