Artificial Intelligent Systems Laboratory 1 مديريت ريسك درس مهندسي نرمافزار 2 فصل 25 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان
Artificial Intelligent Systems Laboratory 2 ريسكهاي پروژه چه اتفاقي بدي ممكن است رخ دهد؟ احتمال آن چقدر است؟ خسارت آن چه مقدار است. در مورد آن چه كاري مي توان انجام داد؟
Artificial Intelligent Systems Laboratory 3 مديريت ريسك (Reactive) تيم پروژه پس از رخ دادن ريسك به آن پاسخ ميدهند. Mitigation : برنامه ريزي براي كاهش ريسك با افزايش منابع Fix on failure : در هنگام مواجهه با اشكال منابع پيدا شده و اعمال ميشوند. Crisis management : ممكن است منابع اعمال شده پاسخ لازم را نداده و پروژه به خطر افتد.
Artificial Intelligent Systems Laboratory 4 مديريت ريسك (Proactive) ارزيابي ريسك فورمال انجام ميشود. سازمان ريشههاي اصلي ريسك را اصلاح ميكند. – مفهوم TQM (Total Quality Management) و SQA آماري – بررسي منابع ريسك كه خارج از محدوده نرمافزار هستند. – توسعه تخصصهايي براي مديريت تغييرات
Artificial Intelligent Systems Laboratory 5 انواع ريسك Project Risk – در رابطه با برنامه ريزي Technical Risk Business Risk – در رابطه با نحوه فروش، نحوه ساخت محصول، نحوه بازاريابي، از دست دادن پشتيباني مديريت از ديدگاهي ديگر ميتوان ريسك را به دو دسته زير تقسيم كرد : قابل پيش بيني (Predictable) غير قابل پيش بيني (Unpredictable)
Artificial Intelligent Systems Laboratory 6 RISK control identify analyze plan track ريسك كنترل شناسايي آناليز طرح ريزي رديابي
Artificial Intelligent Systems Laboratory 7 شناسايي ريسك ريسك اصولاً به دو دسته تقسيم ميشود : –Generic –Product Specific يك روش براي شناسايي ريسك استفاده از : “ Risk Item Checklist ” ميباشد. با طرح سوال در رابطه با هريك از موارد موجود در Checklist ، نسبت به شناسايي آن اقدام ميشود. تعدادي از اين چك ليست ها تهيه شده و در دسترسي ميباشد.
Artificial Intelligent Systems Laboratory 8 نمونه سوالات مطرح آيا نرم افزار در دست تهيه مورد حمايت مديريت توليد و مشتريان ميباشد؟ آيا كاربران نهايي منتظر سيستم ميباشند؟ آيا كليه نيازها شناخته شده است؟ آيا مشتري در تعريف سيستم دخالت داشته است؟ آيا Scope پروژه ثابت است؟ آيا خواستههاي كاربر نهايي واقعي است يا ايده آل؟ آيا تخصصهاي لازم در تيم نرمافزار وجود دارد؟ آيا نيازهاي پروژه ثابت است؟ آيا تيم پروژه با تكنولوژي مورد استفاده آشنا است؟ آيا تعداد تيم پروژه كافي است؟ آيا افراد دست اندر كار از اهميت پروژه مطلع هستند؟
Artificial Intelligent Systems Laboratory 9 كاهش، پايش و مديريت ريسك كاهش (mitigation) : چگونه ميتوان از ريسك اجتناب نمود؟ پايش (monitoring) : چه فاكتورهايي را ميتوان ردگيري نمود كه با توجه به آنها بتوان احتمال رخداد ريسك را حدس زد؟ مديريت (management) : چه طرحي براي مواجه با ريسك در صورت رخداد آن وجود دارد؟
Artificial Intelligent Systems Laboratory 10 ريسك در ارتباط با سايز محصول ويژگيهايي كه روي ريسك اثر گذارند : – سايز تخميني محصول برحسب LOC يا FP – سايز تخميني محصول بر حسب تعداد برنامهها، فايلها يا تراكنشها – ميزان انحراف در سايز محصول در مقايسه با متوسط محصولات پيشين – سايز پايگاه داده ايجاد شده يا مورد استفاده توسط محصول – تعداد كاربران محصول – تعداد تغييرات لازم در نيازمنديهاي محصول ( قبل از تحويل و بعد از تحويل ) – ميزان استفاده مجدد در نرمافزار
Artificial Intelligent Systems Laboratory 11 ريسك در ارتباط با اثرات كسب و كار ويژگيهايي كه بر روي ريسك اثرگذارند : – اثر محصول بر روي درامد شركت – ميزان توجه مديران ارشد به اين محصول – منطقي بودن زمان تحويل محصول – تعداد مشترياني كه از اين محصول استفاده ميكنند – محدوديتهاي Interoperability – مهارت كاربران نهايي – تعداد و كيفيت مستنداتي كه بايد توليد و به مشتري تحويل داده شوند – محدوديتهاي قانوني – هزينه هاي مرتبط با تحويل با ديركرد – هزينههاي مرتبط با تحويل محصول خراب
Artificial Intelligent Systems Laboratory 12 ريسك در ارتباط با مشتري سوالاتي كه بايد پاسخ داده شوند : – آيا در گذشته با اين مشتري كار كردهايد؟ – آيا مشتري ديد درستي از نيازمنديها دارد؟ – آيا مشتري قبول كرده كه زماني را به شما اختصاص دهد؟ – آيا مشتري تمايلي به شركت در بازبينيها دارد؟ – آيا مشتري از لحاظ فني خبره است؟ – آيا مشتري تمايل دارد در كار فني و جزئي در كار شما دخالت و نظارت داشته باشد؟ – آيا مشتري فرايند مهندسي نرمافزار شما را ميشناسد؟
Artificial Intelligent Systems Laboratory 13 ريسك در ارتباط با Process Maturity سوالاتي كه بايد پاسخ داده شوند : – آيا شما يك چارچوب فرايند معمول را استفاده ميكنيد؟ – آيا اين چارچوب توسط اعضاي تيم پروژه پيگيري ميشود؟ – آيا شما داراي پشتيباني مديريت از مهندسي نرمافزار هستيد؟ – آيا شما رويكرد پيشگيرانه نسبت به SQA داريد؟ – آيا شما بازبينيهاي فني رسمي انجام ميدهيد؟ – آيا از ابزارهاي CASE براي آناليز، طراحي و تست استفاده ميشود؟ – آيا ابزارها با يكديگر يكپارچه هستند؟ – آيا ساختار مشخصي براي مستندات تعيين گرديده است؟
Artificial Intelligent Systems Laboratory 14 ريسكهاي تكنولوژي سوالاتي كه بايد پاسخ داده شوند : – آيا تكنولوژي براي سازمان شما جديد است؟ – آيا الگوريتمها يا روشهاي I/O جديد مورد نياز است؟ – آيا سخت افزار جديدي مورد استفاده قرار گرفته است؟ – آيا برنامه با نرم افزار جديدي بايد در ارتباط باشد؟ – آيا واسط كاربر ويژهاي مورد نياز است؟ – آيا نرمافزار به طور چشمگيري متفاوت است؟ – آيا شما از روشهاي مهندسي نرمافزار جديدي استفاده ميكنيد؟ – آيا شما از روشهاي غير معمول توسعه نرمافزار نظير روشهاي فورمال، رويكردهاي مبتني بر AI ، يا شبكههاي عصبي استفاده ميكنيد؟ – آيا محدوديتهاي كارايي ويژهاي مد نظر است؟ – آيا در زمينه امكان پذير بودن كاركردهاي خواسته شده شك وجود دارد؟
Artificial Intelligent Systems Laboratory 15 ريسكهاي كاركنان و افراد سوالاتي كه بايد پاسخ داده شوند : – آيا بهترين افراد در دسترس هستند؟ – آيا كاركنان داراي تخصصهاي مورد نظر هستند؟ – آيا تعداد كافي نيرو وجود دارد؟ – آيا كاركنان براي تمام طول پروژه باقي خواهند ماند؟ – آيا برخي افراد به صورت نيمه وقت كارميكنند؟ – آيا كاركنان توقعات صحيح دارند؟ – آيا كاركنان آموزشهاي لازم را ديده اند؟ – آيا تغييرات در كاركنان پايين خواهد بود؟
Artificial Intelligent Systems Laboratory 16 فرم ثبت ريسك Project: Embedded software for XYZ system Risk type: schedule risk Priority (1 low... 5 critical): 4 Risk factor: Project completion will depend on tests which require hardware component under development. Hardware component delivery may be delayed Probability: 60 % Impact: Project completion will be delayed for each day that hardware is unavailable for use in software testing Monitoring approach: Scheduled milestone reviews with hardware group Scheduled milestone reviews with hardware group Contingency plan: Modification of testing strategy to accommodate delay using Modification of testing strategy to accommodate delay using software simulation software simulation Estimated resources: 6 additional person months beginning
Artificial Intelligent Systems Laboratory 17 اجزاء ريسك اجزاي نرمافزار با چه ريسكهايي همراهند؟ –Performance (P) –Cost (C) –Support (SU) –Schedule (S) درجه اثر هريك از اين اجزا را بايد در سيستم مشخص نمود. براي اين منظور از جدول اثرگذاري ريسك استفاده ميشود.
Artificial Intelligent Systems Laboratory 18 جدول اثرگذاري ريسك SSUCP اجزا اثر خيلي شديد شديد قابل كنترل غير قابل توجه
Artificial Intelligent Systems Laboratory 19 Risk Projection تحت عنوان تخمين ريسك (Risk Estimation) هم نام برده ميشود. اين روش هر ريسك را از دو ديدگاه مورد بررسي قرار ميدهد : – احتمال اينكه ريسك به واقعيت تبديل شود. – مشكلاتي كه در اثر و ادامه رخدادن ريسك به وجود ميآيند.
Artificial Intelligent Systems Laboratory 20 Risk Projection شامل چهار مرحله ميباشد : – تعيين Scale براي اندازه گيري ريسك – نتايج بروز ريسك مشخص شود. – تخمين اثر ريسك بر روي پروژه و محصول – دقت كلي و درجه اطمينان تخمين مشخص شود تا برداشت غلط از نتايج ارزيابي صورت نگيرد. براي ارائه نتايج اين عمل از جدول ريسك استفاده ميشود.
Artificial Intelligent Systems Laboratory 21 جدول ريسك (Risk Table) ريسك طبقه بندي نوع ريسك احتمال وقوعدرجه اثر RMMM از خيلي شديد تا غير قابل توجه Risk Mitigation, Monitoring and Management
Artificial Intelligent Systems Laboratory 22 طبقه بندي نوع ريسك PR (Process) ST (Staff) DE ( Development Envirnoment ) TE (Technical) PS (Product Size) BU (Business)
Artificial Intelligent Systems Laboratory 23 ساخت جدول ريسك قدم اول : احتمال رخداد را تخمين بزنيد. قدم دوم : اثر رخداد را بر روي پروژه در مقياس 1 تا 5 تخمين بزنيد. (1 = غير قابل توجه، 5 = خيلي شديد ) قدم سوم : جدول را بر اساس احتمال رخداد و اثر مرتب كنيد.
Artificial Intelligent Systems Laboratory 24 Cutoff line پس از تشكيل جدول، Cutoff line مشخص ميگردد. به اين معني كه ريسك ها به دو دسته قابل قبول و غير قابل قبول تقسيم ميشوند. بايد به آن دسته از ريسكهايي كه بالاي Cutoff line قرار دارند توجه شود. اين عمل نبايد وقت زيادي بگيرد.
Artificial Intelligent Systems Laboratory 25 Risk Exposure اثر كلي ريسك يا Risk Exposure با استفاده از رابطه زير تعيين ميشود : RE = P x C كه P احتمال رخداد ريسك و C هزينه رخداد ريسك براي پروژه ميباشد.
Artificial Intelligent Systems Laboratory 26 مثالي از Risk Exposure Risk identification. Only 70 percent of the software components scheduled for reuse will, in fact, be integrated into the application. The remaining functionality will have to be custom developed. Risk probability. 80% (likely). Risk impact. 60 reusable software components were planned. If only 70 percent can be used, 18 components would have to be developed from scratch (in addition to other custom software that has been scheduled for development). Since the average component is 100 LOC and local data indicate that the software engineering cost for each LOC is $14.00, the overall cost (impact) to develop the components would be 18 x 100 x 14 = $25,200. Risk exposure. RE = 0.80 x 25,200 ~ $20,200.
Artificial Intelligent Systems Laboratory 27 Reference Point
Artificial Intelligent Systems Laboratory 28 پالايش ريسك پس از تشخيص ريسك، نوبت پالايش آن است : – ارائه ريسك به صورت CTC (Condition-Transition- Consequence) –CTC به صورت If - Then بيان ميشود.
Artificial Intelligent Systems Laboratory 29 برگه اطلاعات ريسك
Artificial Intelligent Systems Laboratory 30 كاهش، پايش و مديريت ريسك كاهش (mitigation) : چگونه ميتوان از ريسك اجتناب نمود؟ پايش (monitoring) : چه فاكتورهايي را ميتوان ردگيري نمود كه با توجه به آنها بتوان احتمال رخداد ريسك را حدس زد؟ مديريت (management) : چه طرحي براي مواجه با ريسك در صورت رخداد آن وجود دارد؟
Artificial Intelligent Systems Laboratory 31 مراحل Risk Management Risk Management Risk Assesment Risk Identification Risk Analysis Risk Prioritization Risk Control Risk Management and Planning Risk Resolution Risk Monitoring
Artificial Intelligent Systems Laboratory ريسك مهم و روشهاي جلوگيري Preventive measuresRisk factor Employ the best people; rewards; team formation; training; peer reviews; adapt process to available know how 1 - Human error on part of staff Business-case analysis; incremental development; reuse of software; modification of schedule and budget 2 - Unrealistic schedule and budget Benchmarking; prototyping; review of reference installations; compatibility analysis; review of suppliers 3 - Standard software, external components (inexperience, incompatibility,etc.)
Artificial Intelligent Systems Laboratory ريسك مهم و روشهاي جلوگيري Preventive measuresRisk factor Win-win agreements between parties concerned; business case analysis; prototyping; application description in early phases 4 - Requirements and developed functions do not match Prototyping; development of scenarios; description of users 5 - User interfaces do not fit needs Simulation; benchmarking; modeling; prototyping; tuning 6 - Inadequate architecture, performance, quality
Artificial Intelligent Systems Laboratory ريسك مهم و روشهاي جلوگيري Preventive measuresRisk factor Increased threshold for changes; information- hiding; incremental development; change- management process; change control board 7 - Constant alteration of requirements Design recovery; restructuring 8 - Problems with legacy systems Audits; parallel design or prototyping by several suppliers; team formation 9 - Problems with tasks performed externally Technical analysis; cost/benefit analysis; prototyping 10 - Overestimation of own IT capabilities