Elham_gh
چهارشنبه 02 آذر 1390, 11:24 صبح
دوستان عزیز
همانطور که می دانید در هر پروژه اولین و مهمترین قدم شناسایی نیازمندیهای سیستم است.در این راستا با مقاله جالب و مختصر و مفیدی برخورد کردم، که دیدم شاید برای افراد مبتدی سودمند و برای کارشناسان خالی از لطف نباشد. لذا آن را ترجمه کردم که در زیر ارائه می کنم.
متن اصلی این مقاله در این آدرس است:
http://www.techrepublic.com/downloads/10-techniques-for-gathering-requirements/335071
و اما مطلب:
10 تکنیک جمع آوری نیازمندیها
کار مشکلی است که بخواهید بدون اینکه نیازمندیها را بشناسید، راه کار ارائه کنید(هر چند که بسیاری از تیمها سعی میکنند همچنان چنین کاری را انجام دهند). "فراخوانی"(elicitation) اولین قدم جمع آوری اطلاعات از مشتری است.تکنیکهای زیادی برای جمع آوری اطلاعات وجود دارد که هر کدام در شرایط خاص، ارزش خود را دارند. بسیاری وقتها برای اینکه بتوانید تصویر کاملی از مجموعههای مختلف مشتری(Client) و ذینفعان (Stakeholder) داشته باشید، نیاز دارید که از چند تکنیک استفاده کنید.
در اینجا نگاهی میاندازیم به بعضی از این تکنیکها:
شماره 1- مصاحبههای تک به تک
متداول ترین تکنیک برای جمع آوری نیازمندیها این است که با مشتری بشینید و ازش بپرسید که چه نیازمندهایی دارد.بحث فیمابین، باید از قبل بر مبنای نیازمندیهایی که به دنبالش هستید، برنامه ریزی و طرح ریزی شده باشد.راههای خوبی برای برنامه ریزی کردن برای مصاحبه وجود دارد، اما عموماً شما لازم دارید سوالاتی را بپرسید که مصاحبه شونده ترغیب شود که شروع به صحبت کند تا شما سوالات تفحصی خود جهت یافتن نیازمندیها مطرح کنید.(Elham_gh- یعنی به گونه ای سوال پرسیده میشود که جوابش ختم کننده موضوع نشود و بتوان پیرامون جواب سئوالات بعدی را مطرح کرد)
شماره 2- مصاحبههای گروهی
مصاحبههای گروهی شبیه مصاحبههای تک به تک هستند، با این تفاوت که بیش از یک نفر مصاحبه میشوند، معمولا بین 2 تا 4 نفر.این نوع مصاحبه زمانی خوب جواب میدهد که تمام مصاحبه شوندگان در یک سطح و مرتبه و یا هم نقش و هم سمت باشند.مصاحبه گروهی به آمادسازی بیشتر و تشریفات بیشتری برای گرفتن اطلاعات مورد درخواست شما از تمام شرکت کنندهها نیاز دارد.اگر بتوانید تمرکز گروه را حفظ کنید(Elham_gh- تمرکز روی مطالب مورد بحث- اینکه بحث منحرف نشود) میتوانید در زمان کوتاهتری، مجموعه گرانبهایی از نیازمندیها را کشف کنید.
شماره 3- جلسات کمکی( تسهیل کننده)
در جلسات کمکی، شما گروههای بزرگتری( 5 نفر یا بیشتر) را برای یک هدف مشترک جمع میکنید. در این حالت، شما سعی میکنید که نیازمندیهای مشترک را گروه دریافت کنید در روشی سریعتر نسبت به روش مصاحبه جداگانه.( Elham_gh- تمرکز روی نیازمندهای مشترک است)
شماره 4- Joint Application Development- JAD
جلسات JAD شبیه جلسات عمومیکمکی است، اما اعضای گروه تا زمانیکه موضوعات مورد بحث تکمیل شود، در جلسه میمانند.برای جلسه JAD نیازمندیها، شرکت کنندهها در جلسه را ترک نمی کنند تا زمانیکه یک مجموعه کاملی از نیازمندیها مستند شود و مورد توافق همگی قرار گیرد.
شماره 5- پرسشنامهها
پرسشنامهها نسبتاً ابزار غیر رسمی خوبی هستند برای جمع آوری اطلاعات از ذینفعان(Stakeholders) در محلهای دور و یا آنهایی که به نسبت مجموع کل نیازمندیها، دادههای کمیدارند.پرسشنامهها همچنین میتوانند برای وقتی که شما خواهید دادهها را از دهها، صدها یا هزاران نفر از مردم جمع آوری کنید، مناسب باشند.
شماره 6- ساخت یک نمونه(Prototyping)
ساخت نمونه، نسبتاً تکنیک مدرنی برای جمع آوری نیازمندیهاست.در این روش، شما نیازمندیهای اولیهای را که برای ساختن نسخه اولیه راه حلتان (ساخت نمونه- Prototype)به آنها نیاز دارید، جمع آوری میکنید(Elham_gh- و بر مبنای آن Prototype را میسازید). نمونه ساخت شده(Prototype) را به مشتری نشان میدهید و او نیازمندیهای بیشتری به شما میدهد.شما نمونه ساخته شده را تغییر میدهید و دوباره این چرخه طی میشود.این پروسه تکراری ادامه پیدا میکند تا زمانیکه یا محصول با بخش عمده مهم و حیاتی از نیازهای کسب و مکار منطبق شود و یا با تعداد مشخصی از تکرار موافقت شود.
شماره 7- موردهای کاربرد(Use Cases)
Use caseها اینکه فرآیندهای مجزا چگونه عمل میکنند را به صورت ابتدایی به صورت داستان در میآورد.این داستانها شامل مردم(عاملها-Actors) است و توصیف میکند که چگونه راهکار solution)) از دیدگاه کاربر(User) عمل میکند.use case ها ممکن است برای کاربران قابل فهم تر باشد، اگر چه هر Use case میتواند در سطوح پایین تر به نیازمندیهای کوچکتری تجزیه شود.
شماره 8- تعقیب کردن مردم اطراف
این تکنیک خصوصاً برای زمانی که میخواهید اطلاعات فرآیند فعلی را جمع آوری کنید، بسیار سودمند است.برای مثال، شما ممکن است با کسانی مواجه شوید که کارهای روتین و معمول خود را به گونه ای از روی عادت انجام میدهند که به سختی میتوانند چگونگی و چرایی کاری را انجام میدهند را توضیح دهند.شما قبل از آنکه بتوانید تصویر کاملی از موضوع را درک کنید مجبورید به آنها نگاه کنید که چگونه کارشان را انجام میدهد.در بعضی حالتها، شاید شما حتی بخواهید که در فرآیند کاری واقعی آنها شرکت کنید تا دستتان بیاید که کارشان چگونه انجام میشود.
شماره 9- درخواست پیشنهاد(Request for Proposals- RFPs )
اگر شما تامین کننده(فروشنده-Vendor) باشید، ممکن است نیازمندیها را از طریق RFP دریافت کنید.این لیست نیازمندیها برای شماست که با قابلیتها و تواناییهای خود مقایسه کنید تا بتوانید تعیین کنید که چقدر به نیازهای مشتری نزدیکید و مشابهت دارید.
شماره 10- مشکل گشاهی گروهی(brainstorming)
در بعضی از پروژهها، آنقدر که نیازمندیها معلوم مشخص هستند، نا معلوم و کشف نشده نیستند.به عبارت دیگر راه حل (Solution) به مجموعه ای از ایدههای جدید که مورد توافق است نیاز دارد. در این نوع پروژهها، برگذاری گردهماییهای ساده ایی که در آن راه حلها و ایدههای خود را ابراز میکنند، میتواند نقطه شروع باشد.کارشناسان مرتبط با موضوع مقتضی در یک اتاق جمع میشوند و شروع میکنند به نظریه پردازی و ایراد تفکراتشان در مورد اینکه راه حل چگونه باید باشد.بعد از اینکه تمام ایدهها و پیشنهادات جمع شد، شرکت کنندگان بهترین راه حلها را الویت بندی میکنند. نتیجه که به عنوان بهترین ایده به توافق رسیده، به عنوان نیازمندیهای اولیه استفاده میشود.
همانطور که می دانید در هر پروژه اولین و مهمترین قدم شناسایی نیازمندیهای سیستم است.در این راستا با مقاله جالب و مختصر و مفیدی برخورد کردم، که دیدم شاید برای افراد مبتدی سودمند و برای کارشناسان خالی از لطف نباشد. لذا آن را ترجمه کردم که در زیر ارائه می کنم.
متن اصلی این مقاله در این آدرس است:
http://www.techrepublic.com/downloads/10-techniques-for-gathering-requirements/335071
و اما مطلب:
10 تکنیک جمع آوری نیازمندیها
کار مشکلی است که بخواهید بدون اینکه نیازمندیها را بشناسید، راه کار ارائه کنید(هر چند که بسیاری از تیمها سعی میکنند همچنان چنین کاری را انجام دهند). "فراخوانی"(elicitation) اولین قدم جمع آوری اطلاعات از مشتری است.تکنیکهای زیادی برای جمع آوری اطلاعات وجود دارد که هر کدام در شرایط خاص، ارزش خود را دارند. بسیاری وقتها برای اینکه بتوانید تصویر کاملی از مجموعههای مختلف مشتری(Client) و ذینفعان (Stakeholder) داشته باشید، نیاز دارید که از چند تکنیک استفاده کنید.
در اینجا نگاهی میاندازیم به بعضی از این تکنیکها:
شماره 1- مصاحبههای تک به تک
متداول ترین تکنیک برای جمع آوری نیازمندیها این است که با مشتری بشینید و ازش بپرسید که چه نیازمندهایی دارد.بحث فیمابین، باید از قبل بر مبنای نیازمندیهایی که به دنبالش هستید، برنامه ریزی و طرح ریزی شده باشد.راههای خوبی برای برنامه ریزی کردن برای مصاحبه وجود دارد، اما عموماً شما لازم دارید سوالاتی را بپرسید که مصاحبه شونده ترغیب شود که شروع به صحبت کند تا شما سوالات تفحصی خود جهت یافتن نیازمندیها مطرح کنید.(Elham_gh- یعنی به گونه ای سوال پرسیده میشود که جوابش ختم کننده موضوع نشود و بتوان پیرامون جواب سئوالات بعدی را مطرح کرد)
شماره 2- مصاحبههای گروهی
مصاحبههای گروهی شبیه مصاحبههای تک به تک هستند، با این تفاوت که بیش از یک نفر مصاحبه میشوند، معمولا بین 2 تا 4 نفر.این نوع مصاحبه زمانی خوب جواب میدهد که تمام مصاحبه شوندگان در یک سطح و مرتبه و یا هم نقش و هم سمت باشند.مصاحبه گروهی به آمادسازی بیشتر و تشریفات بیشتری برای گرفتن اطلاعات مورد درخواست شما از تمام شرکت کنندهها نیاز دارد.اگر بتوانید تمرکز گروه را حفظ کنید(Elham_gh- تمرکز روی مطالب مورد بحث- اینکه بحث منحرف نشود) میتوانید در زمان کوتاهتری، مجموعه گرانبهایی از نیازمندیها را کشف کنید.
شماره 3- جلسات کمکی( تسهیل کننده)
در جلسات کمکی، شما گروههای بزرگتری( 5 نفر یا بیشتر) را برای یک هدف مشترک جمع میکنید. در این حالت، شما سعی میکنید که نیازمندیهای مشترک را گروه دریافت کنید در روشی سریعتر نسبت به روش مصاحبه جداگانه.( Elham_gh- تمرکز روی نیازمندهای مشترک است)
شماره 4- Joint Application Development- JAD
جلسات JAD شبیه جلسات عمومیکمکی است، اما اعضای گروه تا زمانیکه موضوعات مورد بحث تکمیل شود، در جلسه میمانند.برای جلسه JAD نیازمندیها، شرکت کنندهها در جلسه را ترک نمی کنند تا زمانیکه یک مجموعه کاملی از نیازمندیها مستند شود و مورد توافق همگی قرار گیرد.
شماره 5- پرسشنامهها
پرسشنامهها نسبتاً ابزار غیر رسمی خوبی هستند برای جمع آوری اطلاعات از ذینفعان(Stakeholders) در محلهای دور و یا آنهایی که به نسبت مجموع کل نیازمندیها، دادههای کمیدارند.پرسشنامهها همچنین میتوانند برای وقتی که شما خواهید دادهها را از دهها، صدها یا هزاران نفر از مردم جمع آوری کنید، مناسب باشند.
شماره 6- ساخت یک نمونه(Prototyping)
ساخت نمونه، نسبتاً تکنیک مدرنی برای جمع آوری نیازمندیهاست.در این روش، شما نیازمندیهای اولیهای را که برای ساختن نسخه اولیه راه حلتان (ساخت نمونه- Prototype)به آنها نیاز دارید، جمع آوری میکنید(Elham_gh- و بر مبنای آن Prototype را میسازید). نمونه ساخت شده(Prototype) را به مشتری نشان میدهید و او نیازمندیهای بیشتری به شما میدهد.شما نمونه ساخته شده را تغییر میدهید و دوباره این چرخه طی میشود.این پروسه تکراری ادامه پیدا میکند تا زمانیکه یا محصول با بخش عمده مهم و حیاتی از نیازهای کسب و مکار منطبق شود و یا با تعداد مشخصی از تکرار موافقت شود.
شماره 7- موردهای کاربرد(Use Cases)
Use caseها اینکه فرآیندهای مجزا چگونه عمل میکنند را به صورت ابتدایی به صورت داستان در میآورد.این داستانها شامل مردم(عاملها-Actors) است و توصیف میکند که چگونه راهکار solution)) از دیدگاه کاربر(User) عمل میکند.use case ها ممکن است برای کاربران قابل فهم تر باشد، اگر چه هر Use case میتواند در سطوح پایین تر به نیازمندیهای کوچکتری تجزیه شود.
شماره 8- تعقیب کردن مردم اطراف
این تکنیک خصوصاً برای زمانی که میخواهید اطلاعات فرآیند فعلی را جمع آوری کنید، بسیار سودمند است.برای مثال، شما ممکن است با کسانی مواجه شوید که کارهای روتین و معمول خود را به گونه ای از روی عادت انجام میدهند که به سختی میتوانند چگونگی و چرایی کاری را انجام میدهند را توضیح دهند.شما قبل از آنکه بتوانید تصویر کاملی از موضوع را درک کنید مجبورید به آنها نگاه کنید که چگونه کارشان را انجام میدهد.در بعضی حالتها، شاید شما حتی بخواهید که در فرآیند کاری واقعی آنها شرکت کنید تا دستتان بیاید که کارشان چگونه انجام میشود.
شماره 9- درخواست پیشنهاد(Request for Proposals- RFPs )
اگر شما تامین کننده(فروشنده-Vendor) باشید، ممکن است نیازمندیها را از طریق RFP دریافت کنید.این لیست نیازمندیها برای شماست که با قابلیتها و تواناییهای خود مقایسه کنید تا بتوانید تعیین کنید که چقدر به نیازهای مشتری نزدیکید و مشابهت دارید.
شماره 10- مشکل گشاهی گروهی(brainstorming)
در بعضی از پروژهها، آنقدر که نیازمندیها معلوم مشخص هستند، نا معلوم و کشف نشده نیستند.به عبارت دیگر راه حل (Solution) به مجموعه ای از ایدههای جدید که مورد توافق است نیاز دارد. در این نوع پروژهها، برگذاری گردهماییهای ساده ایی که در آن راه حلها و ایدههای خود را ابراز میکنند، میتواند نقطه شروع باشد.کارشناسان مرتبط با موضوع مقتضی در یک اتاق جمع میشوند و شروع میکنند به نظریه پردازی و ایراد تفکراتشان در مورد اینکه راه حل چگونه باید باشد.بعد از اینکه تمام ایدهها و پیشنهادات جمع شد، شرکت کنندگان بهترین راه حلها را الویت بندی میکنند. نتیجه که به عنوان بهترین ایده به توافق رسیده، به عنوان نیازمندیهای اولیه استفاده میشود.