اگر آدمی هستید که توی حیطه کامپیوتر مشغول کارید احتمالا بارها براتون داستان اینکه شخصی(کارفرما) با یک ایده میلیون دلاری که میتونه دنیا رو عوض کنه پیش شما میاد و درخواست میکنه که یه پروژه نرمافزاری براش بزنید(سایت، اپ و ...) و چون زیاد به دنیای نرمافزار آشنا نیست باید براش توضیح بدید که راه و چاه چیه که با علم و دانایی هرچه بیشتر وارد پیادهسازی پروژه بشه. همچنین شما به عنوان پیمانکار باید برای تخمین زمان و هزینهای که اون پروژه داره یکسری اطلاعات داشته باشید و توی جلسه اول بپرسید تا فضا برای جفتتون نورانی بشه. در ادامه یکسری سوال لیست شده که باید از کارفرما پرسیده بشه تا طرفین قضیه وارد بازی بشن و کارفرما با این اطلاعاتی که هنوز از ایده خودش نمیدونه بتونه یک RFP شایسته و بایسته برای ایده نابش بنویسه.
یا اگر شما فکر میکنید که ایده یه پروژه نرم افزاری دارید و ممدآقا که تو کار برنامهنویسی و نصب حرفهای ویندوزه رو تازه از تور کویر پیدا کردید و قراره بهش ایدتون رو توضیح بدید تا به صورت مشارکتی براتون کد بزنه و بعدا سهام بگیره. لطفا قبل از اینکه به ممدآقا چیزی بگید یکبار جواب این سوالات رو با خودتون مرور کنید که توی توضیح ایدتون اینا هم باشه.
۱. پروژه به چه هدفی میپردازد؟
۲. چه مشکلات و نیازهای خاصی در کسب و کار شما وجود دارد که این پروژه باید حل کند؟
۳. چه کسانی از این نرمافزار استفاده خواهند کرد؟ چه تعداد هستند؟ بعد از چه مدت چه افزایشی پیدا میکنند؟
۴. ویژگیها و عملکردهای اصلی مورد انتظار چیستند؟
۵. چگونه کاربران با نرمافزار تعامل خواهند داشت؟ آیا نیاز به رابط کاربری خاصی وجود دارد؟
۶.لطفاً محدودیتهایی که ممکن است بر پیشرفت پروژه تأثیر بگذارند را توضیح دهید. به عنوان مثال، محدودیتهای زمانی یا مالی یا محدودیتهای مرتبط با تکنولوژی مورد استفاده در پروژه.
۷. چه معیارهایی برای انجام موفقیتآمیز پروژه در نظر گرفته شده است؟
۸. گامهای اصلی انجام پروژه چیست؟ گامهای مهم و مراحل اجرایی که برای تحقق اهداف پروژه لازم است، مشخص کنید. به عنوان مثال، ترتیب پیاده سازی ویژگیهای نرم افزار.
۹. کدام افراد مسئولیت اجرای پروژه را بر عهده دارند؟ چه نقشهایی در پروژه تعیین شدهاند؟
۱۰. آیا این نرمافزار باید با سیستمها یا خدمات دیگر تعامل داشته باشد؟
۱۱. آیا امکانات امنیتی خاصی از جمله ورود چند مرحلهای در نظر گرفته شده است؟
۱۲. چگونه اطلاعات در این نرمافزار ذخیره، بازیابی و مدیریت میشوند؟
۱۳. چقدر این پروژه باید با تغییرات آینده تطابق داشته باشد؟ قابلیت پروژه برای انطباق با محیط تغییرات و نیازمندیهای آینده اشاره دارد. توانایی ایجاد یک base قابل توسعه، افزودن و تغییر در آینده برای پشتیبانی از تغییرات کسب و کار و نیازمندیهای جدید را مورد بررسی قرار میدهد. این توانایی ممکن است شامل انعطافپذیری در معماری، استفاده از استانداردهای باز، و ایجاد راهکارهایی برای تغییرات بیشتر در آینده باشد. (هرچقدر این معماری باز تر و انتزاعی تر باشه قاعدتا هزینه بیشتری میبره تا الان فقط یه چیزی بیاریم بالا که فقط کار کنه)
۱۴. فرآیند ارتباطات و اطلاعرسانی با تیم پیادهسازی و کارفرما چگونه خواهد بود؟