خرید اینترنتی کتاب

جستجو در تک بوک با گوگل!

تابعيت پايگاه تك بوك از قوانين جمهوري اسلامي ايران

فرادرس!



چطور!




تبلیغات!


غلبه بر کم رویی

تولید نرم افزارها

207 views

بازدید

تولید نرم افزارها
۵ (۱۰۰%) ۱ vote
مقدمه
پس از دو دهه ناکامی در وعده های داده شده درباره بهره وری و سود حاصل از کاربرد فرآروش های نرم افزاری و فنآوریهای جدید، سازمانها به این واقعیت پی بردند که مسئله اساسی آنها، عدم توانایی در مدیریت صحیح تولید نرم افزارها است. در اکثر سازمانها، پروژه ها از زمان برنامه ریزی شده عقب می افتند، هزینه های انجام کار نیز بیشتر از حد تخمین اولیه می شود و از سوی دیگر منافع حاصل از اتخاذ روشهای بهتر و ابزارهای جدیدتر نمی تواند در طوفان حاصل از بی نظمی و هرج و مرج پروژه بطور واقعی نمایان شود.
در نوامبر ۱۹۸۶، انستیتو مهندسی نرم افزار (SEI) با همیاری کمپانی میترِ (Mitre)  شروع به توسعه یک چارچوب برای بلوغ نرم افزارها نمود تا سازمانها بتوانند با استفاده از آن چارچوب به توسعه نرم افزارهای خود بپردازند. در سپتامبر ۱۹۸۷، SEI توصیف مختصری از چارچوب بلوغ فرآیند را منتشر نمود که بعدها در کتاب همفری (Humpherey) توسعه یافت و تحت عنوان مدیریت فرآیند نرم افزار عرضه شد. دو روش “تشخیص فرآیند نرم افزار”   و ” ارزیابی قابلیت نرم افزار”  و یک پرسشنامه بلوغ، برای تخمین بلوغ فرآیند نرم افزار نیز تهیه شد.
CMM، برای راهنمایی سازمانهای نرم افزاری در انتخاب استراتژی های توسعه فرآیند، بوسیله تعیین بلوغ فرآیند جاری و تعریف برخی نیازهای حیاتی در کیفیت نرم افزار و توسعه فرآیندهای آن، طراحی شده است. بوسیله تمرکز بر مجموعه محدودی از فعالیت ها و انجام تلاش بزرگ و فوق العاده برای بدست آوردن آنها، یک سازمان می تواند فرآیند حصول درآمد مستمر از نرم افزار را در خود نهادینه سازد.
نسخه اولیه CMM، طی سالهای ۱۹۹۱ و ۱۹۹۲ توسط یک کمیته نرم افزاری مورد بازنگری قرار گرفت. درآوریل ۱۹۹۲ یک کارگاه CMM با مشارکت حدود ۲۰۰ متخصص نرم افزار راه اندازی شد. نسخه مذکور (CMM V 1.1.)  نتیجه بازخوردهای این کارگاه و بازخوردهای مداوم از کمیته نرم افزار است.

۱-۱-۱سازمانهای نرم افزاری بالغ و نابالغ
تعیین اهداف ملموس برای توسعه فرآیندها و درک تفاوتهای فی مابین سازمانهای نرم افزاری بالغ و نابالغ، یکی از نیازهای اساسی جامعه ما است. ویژگیهای سازمانهای بالغ و نابالغ نرم افزاری ذیلاً ارائه می گردد:
۱-سازمان نرم افزاری بالغ
فرآیندهای یک سازمان نرم افزاری بالغ به گونه ایست که در سرتاسر سازمان برای مدیریت و  پشتیبانی از ایجاد و توسعه نرم افزار، توانایی دارد. فرآیند نرم افزار دقیقاً فی مابین نیروهای موجود و کارکنان جدید، قابل به اشتراک گذاشتن است. فرآیندهای حکم شده به دلیل سازگار بودن با راه کارهای واقعی انجام کار، قابل استفاده هستند. این فرآیندهای تعریف شده، زمانیکه موردنیاز باشد به هنگام درخواهند آمد و توسعه تدریجی آنها از طریق کنترلهای لازم بر آزمون پروژه های نمونه و یا تجزیه و تحلیل هزینه و سود، امکانپذیر خواهد بود.
قوانین و مسئولیتها در فرآیندهای تعریف شده در سرتاسر سازمان و حین انجام پروژه واضح و روشن است. در سازمان بالغ، مدیریت سازمان، کیفیت محصولات نرم افزاری و فرآیند تهیه آنها را زیر نظر دارد.
برای قضاوت در امر کیفیت و تجزیه و تحلیل محصول و فرآیند، اهدافی وجود دارند که اساساً کمّی شده اند. برنامه زمانبندی و بودجه بندی بر مبنای کارآیی های تاریخی و واقعیت های منبعث از آنها، بنا شده اند. نتایج مورد انتظار برای هزینه، برنامه زمانبندی، قابلیت کارکردی و کیفیت، معمولاً قابل حصول هستند. بطور کلی، فرآیند به نظم درآمدن بطور سازگارانه ای دنبال می شود. زیرا، درک مشترک از ارزش آنچیزی که فرآیند ایجاد می کند و زیرساختهای لازم برای پشتیبانی آن، در سرتاسر سازمان بوجود خواهد آمد.
۲-سازمان نرم افزاری نابالغ
دریک سازمان نرم افزاری نابالغ، فرآیندهای نرم افزاری عموماً در جریان انجام یک پروژه توسط انجام دهندگان و مدیران ایجاد می شوند. حتی اگر یک فرآیند نرم افزار با این روش ایجاد شود، به اندازه کافی جدی گرفته نخواهد شد و دنبال نمی گردد. سازمان نرم افزاری نابالغ، ارتجاعی است. مدیریتش معمولاً تمرکز برحلّ مشکلات بحرانی دارد. زمانبندی و بودجه بندی بصورت دائمی در حال افزایش است زیرا بر مبنای تخمین های واقعی بنا نشده اند.
اکثر مواقع مشاهده شده است که یک برنامه زمانبندی فشرده برای تهیه یک نرم افزار تحمیل شده است. قابلیت کارکردی و کیفیت محصول حاصل از این برنامه ریزی، اغلب دستخوش مصالحه با برنامه زمانبندی خواهد شد. در یک سازمان نابالغ، اهداف اساسی پایه ای برای توانایی قضاوت کیفیت محصول یا برای حلّ مشکلات محصول یا مسائل فرآیند، تدوین نگردیده اند . بنابراین پیش بینی کیفیت محصول مشکل است. وقتی پروژه از برنامه زمانبندی خود به تعویق می افتد فعالیتهایی که به افزایش کیفیت منجر می شوند (مانند بازنگری ها و آزمون ها) اغلب خلاصه یا محو می شوند.
۱-۱-۲-مفاهیم پایه ای متضمن بلوغ فرآیند
فرآیند نرم افزار می تواند بوسیله مجموعه ای از فعالیتها، روشها، تمرینها و تغییراتی که نیروی انسانی برای توسعه و نگهداشت و به اشتراک گذاشتن آنها صرف می کنند، تعریف شود. (مانند: برنامه ریزی پروژه، طراحی مستندات، کُد، آزمون موارد و راهنمای استفاده کنندگان) بطوریکه فرآیند نرم افزار در یک سازمان رشدیافته، به خوبی تعریف شده و سازگاری پیاده سازی آن در سرتاسر سازمان بیشتر به چشم می خورد. در این صورت ویژگیهایی از قابلیت فرآیند نرم افزار در محدوده ای از نتایج قابل پیش بینی شده ،  بوسیله پیروی از فرآیند نرم افزار قابل دستیابی است.
قابلیت فرآیند نرم افزار یک سازمان به یک معنی پیش بینی احتمالی آندسته قابلیتهایی است که سازمان درنظر دارد تا در نرم افزارهای آتی خود بگنجاند. کارآیی فرآیند نرم افزار به معنی واقعی آن به وسیله پی گیری فرآیند نرم افزار نمایش داده می شود. از اینرو کارآیی فرآیند نرم افزار تمرکز بر نتایج قابل انتظار دارد. بلوغ فرآیند نرم افزار به اندازه ای است که یک فرآیند خاص، آشکارانه تعریف، مدیریت، اندازه گیری، کنترل و تأثیرگذار شده باشد. بلوغ، به پتانسیلی برای رشد در قابلیت، منجر می شود و شامل هم دستیابی به فرآیندهای نرم افزاری سازمان و نیز  سازگاری با پروژه های جدیدی است که در سازمان مطرح می شود.
سودی که یک سازمان نرم افزاری در بلوغ فرآیند نرم افزار بدست می آورد، این است که با استفاده از خط مشی ها، استانداردها و ساختارهای سازمانی مناسب، در مسیر فرآیند نرم افزار قرار خواهد گرفت. جاری ساختن فرآیند نرم افزار در سازمان مستلزم ایجاد  یک زیرساخت و فرهنگ سازمانی است که روشها، عملیات  و دستورالعمل های کاری در این زیرساخت با تحمل و بردباری خاص مورد پشتیبانی قرار گیرد بطوریکه پس از آن بصورت نهادینه درسرتاسر سازمان رسوخ پیدا کند.

۱-۲-۱پنج سطح بلوغ فرآیند نرم افزار
توسعه مستمر فرآیند بر مبنای تعدادی مراحل تحولی و تکاملی به جای تغییرات انقلابی، بنا شده است. ساختار مراحل CMM بر مبنای اصول کیفیت محصول مورد اعتقاد والتر شوارت، ادوارد دمینگ، ژوزف یوران و فیلیپ کرازبی، بنا شده است. ( مرجع CMM V1.1 )
CMM  چارچوبی برای ساماندهی به این مراحل توسعه تدریجی در ۵ مرحله بلوغ که منجر به زیرسازی موفقیت آمیزی برای توسعه مستمر فرآیند خواهد شد، ارائه نموده است. این ۵ مرحله بلوغ، درجه بندی کمّی برای اندازه گیری بلوغ فرآیند نرم افزار سازمان و ارزیابی قابلیت فرآیند نرم افزاررا  تعریف می کند. این سطوح همچنین نسبت به تشخیص اولویت های نیازمند تلاش برای تجزیه و تحلیل و نیز فاصله دستیابی به توسعه سازمان، کمک خواهد نمود.
سطوح بلوغ، بخوبی و به گونه ای هموار، بصورت تدریجی در سطح سازمان برای دسترسی به فرآیند نرم افزار بالغ، تعریف شده است. هر سطح بلوغ، شامل مجموعه ای از اهداف فرآیندی است. توانایی خرسندسازی، زمانی حاصل می شود که مؤلفه های مهم فرآیند نرم افزار در سازمان، تثبیت شده باشد. دسترسی به هر سطح از چارچوب بلوغ، مؤلفه های مختلفی از فرآیند نرم افزار را برقرار می سازد و منجر به افزایش قابلیت فرآیند در سازمان خواهد شد.
سازماندهی CMM در ۵ سطحی که در شکل ۱-۲ نشان داده شده است، تعیین کننده اولویت بندی  فعالیت های توسعه ای برای افزایش بلوغ فرآیند نرم افزار است. برچسب  هایی که برروی پیکانها در شکل ۱-۲ نوشته شده است، شامل نوع قابلیت فرآیندی است که بوسیله ساماندهی هر مرحله از چارچوب بلوغ دائر می گردند.

    شکل ۱-۲-  پنج سطح بلوغ فرآیند نرم افزار

۱-۲-۲-مشخصه های سطوح بلوغ
سطوح بلوغ ۲ الی ۵ می تواند بوسیله فعالیت های تهیه شده توسط سازمان توصیف گردند. این توصیف برای ایجاد یا توسعه فرآیند نرم افزار بوسیله تهیه فعالیتها در هر پروژه و نتایج حاصله از قابلیت فرآیند طی انجام پروژه، صورت می پذیرد. صفات رفتاری سطح ۱، به عنوان ابتدایی ترین پایه سنجش برای توسعه فرآیند در نظر گرفته شده است.
-سطح یک- سطح ابتدایی
در سطح ابتدایی، سازمان نمونه، محیط پایداری برای توسعه و نگهداشت نرم افزار تهیه نکرده است. ایجاد تعهد در کارکنان چنین سازمانهایی برای انجام عملیات فرآیند مهندسی نرم افزار در محیط بحران، مکرراً با سختی مواجه است. در زمان بحران، پروژه ها از روشهای اجرایی برنامه ریزی شده تخطی می کنند و به برنامه نویسی و آزمایش کردن می پردازند. موفقیت در اینچنین پروژه هایی کاملاً وابسته به مدیریت استثنایی، زمان وقوع و اثربخشی تیم نرم افزاری است. بعضی اوقات ، قابلیت و تأکید مدیران نرم افزار می تواند در مقابل فشارهای ناشی از کم کردن زمان برای دستیابی به فرآیند نرم افزار، مقاومت کند ولی به محض اینکه آنها پروژه را ترک کنند، نفوذ ایجاد شده توسط آنها نیز پروژه را ترک خواهد کرد. حتی یک فرآیند قوی مهندسی، نمی تواند در مقابل بی ثباتی ناشی از غیبت یک مدیر قوی دوام بیاورد. مشکلات ناشی از تکروی این فرآیند در سازمان سطح یک می تواند بارها و بارها تکرار شود. ضمن اینکه پروژه ها نیز از لحاظ زمان و هزینه در تنگنا قرار می گیرند. موفقیت در سطح سازمان به شایستگی و شجاعت کارکنانی که در آن کار میکنند وابسته است و حتی در شرایط مشابه قابل تکرار نیست. از اینرو در سطح یک، قابلیت، یک مشخصه فردی است و نه سازمانی.
سطح دو- سطح تکرارپذیر
در سطح تکرارپذیر، خط مشی مدیریت پروژه نرم افزاری و دستورالعملهای پیاده سازی آن خط مشی ها، دایر گردیده اند. برنامه ریزی و مدیریت پروژه جدید بر مبنای تجارب حاصل از پروژه های مشابه قبلی صورت می پذیرد. قابلیت فرآیندها برمبنای نظم و ترتیب حاکم بر هر پروژه، به سرعت پیشرفت می نماید. یک فرآیند مؤثر می تواند توسط موارد زیر توصیف گردد:
•    تمرین شده باشد.
•    مستند شده باشد.
•    تأکیدشده باشد. (جدی گرفته شده باشد.)
•    آموزش داده شده باشد.
•    اندازه گیری شده باشد.
•    قابل توسعه باشد.
مبانی کنترل مدیریت نرم افزار در سطح دو، سازمان دهی شده و ایجاد می شود. تعهدات واقعی پروژه بر مبنای نتایج مشاهده شده از پروژه های قبلی و نیازمندیهای پروژه جاری، بنا شده اند.
مدیران نرم افزار برای پی گیری هزینه های نرم افزار، برنامه های زمانبندی و تعیین قابلیت های کارکردی، در زمانیکه مشکلاتی رخ می دهد، توسط برقراری جلسات مشورتی نسبت به تعیین تکلیف و حل آنها اقدام می کنند.
نیازمندیهای نرم افزاری و کارهای مربوط به توسعه محصولات بر مبنای فعالیت آنها و همچنین پیوستگی آنها تحت کنترل هستند.
استانداردهای پروژه های نرم افزاری تعریف شده اند و سازمان مطمئن است که از آنها با وفاداری کامل، متابعت می شود.
کارهای پروژه های نرم افزاری که بوسیله پیمانکاران انجام می شود- اگر وجود داشته باشد- در چارچوب تعامل بین مشتری و عرضه کننده، انجام می شود.
فرآیندها در سازمان سطح دو ممکن است متفاوت باشد. نیازمندی سازمانی برای دستیابی به سطح دو، آن است که تعدادی خط مشی برای راهنمایی پروژه ها، اختصاصاً جهت فرآیندهای مدیریتی، برپاگردد.
قابلیت فرآیند نرم افزاری سازمانهای سطح دو می تواند در نظم و ترتیب خلاصه گردد، زیرا عمل برنامه ریزی و پی گیری پروژه نرم افزاری، صورت می پذیرد و حصول موفقیت می تواند تکرار شود. فرآیندهای پروژه، تحت کنترل مؤثر یک سیستم مدیریت پروژه قرار دارد و پیروی از یک برنامه واقعی، بر مبنای اثربخشی حاصل از پروژه های قبلی بنا شده است.
سطح سه- سطح تعریف شده
درسطح تعریف شده، فعالیت های به نظم کشیده شده در سطح دو منجر به تهیه استاندارد برای فرآیند نرم افزار می گردد و این استاندارد برای توسعه و نگهداشت مناسب نرم افزارها در کل سازمان مستند شده است. این فرآیند هم شامل مهندسی نرم افزار و هم شامل فرآیندهای مدیریت پروژه است و به نحویکه بصورت مجموعه ای یکپارچه بین مؤلفه هایش ارتباط منطقی ایجاد شده است.
در فرآیند استانداردسازی سازمان به فرآیند مذکور در سرتاسر CMM، مراجعه شده است. فرآیندهای ایجادشده در سطح سه که برای کمک به مدیران نرم افزار و کارکنان فنی بصورت مؤثرتری تهیه شده است، مورد استفاده (تغییر داده شده، اختصاص داده شده) قرار می گیرد. عملیات مهندسی نرم افزار زمانی بر رفتارهای سازمانی تأثیرپذیر است که فرآیندهای نرم افزاری آن استاندارد شده باشند. در این فرآیند، گروهی وجود دارد که نسبت به فعالیت های فرآیند نرم افزاری، مسئولیت دارد [به عنوان مثال: گروه فرآیند مهندسی نرم افزار یا SEPG   در فاولر۹۰]. یکی از مسئولیتهای اصلی این گروه آنستکه اطمینان حاصل کند برنامه های آموزشی پیاده شده در سرتاسر سازمان موجب شده باشد که کلیه کارکنان و مدیران ذیربط نسبت به انجام وظائفی که به آنها احاله شده است مهارت و دانش کافی را کسب کرده باشند.
در پروژه هایی که بنابه درخواست مشتری تعریف می شود، فرآیند نرم افزار استاندارد سازمان برای توسعه فرآیند نرم افزار مشتری که دارای تعهدات مالی منحصر به فردی است، بخوبی توصیف خواهد شد. این فرآیند توصیف شده و تغییر داده شده به CMM ای منتسب می گردد که در فرآیند نرم افزار تعریف شده برای پروژه، بیان گردیده است.
فرآیند نرم افزار تعریف شده (بومی شده استاندارد برای پروژه خاص) شامل مجموعه ای به هم پیوسته و مربوط با مهندسی نرم افزار و فرآیندهای مدیریتی آن می باشد. فرآیند به خوبی تعریف شده مذکور می تواند توسط معیارهایی برای قبولی، ورودیها، استانداردها و روشهای اجرایی کار برای تهیه مکانیزمهایی برای صحت سنجی (مانند بازنگری)، خروجیها و تکمیل معیارها مشخص گردد. زیرا فرآیند بخوبی تعریف شده نرم افزار، بینش خوبی در مدیریت، برای پیشرفت فنی در سرتاسر پروژه،  ایجاد می کند. (این موارد میتواند در مستندی تحت عنوان “برنامه ریزی کیفیت” (Qualitty Plan) ارائه گردد.)
قابلیت فرآیند نرم افزار در سازمانهای سطح سه، در سازگاری و استانداردسازی خلاصه می شود. زیرا هم مهندسی نرم افزار و هم فعالیتهای مدیریتی، پابرجا و قابل تکرار هستند. با تأسیس خط تولید، هزینه، برنامه زمانبندی و قابلیت کارکردی، تحت کنترل قرار خواهند گرفت و کیفیت نرم افزار، پی گیری خواهد شد. این قابلیت فرآیند، مشترکاً بر مبنای درک فعالیتهای سازمانی و قوانین و مسئولیتهای تعریف شده در فرآیند نرم افزار، بنا شده است.
سطح- چهار- سطح مدیریت شده
در سطح مدیریت شده، سازمان به مجموعه ای از اهداف کمّی، هم برای محصولات نرم افزاری و هم برای فرآیندهای آن، دست خواهد یافت.
بهره وری و کیفیت فعالیتهای مهم فرآیند نرم افزار در کل پروژه ها، یک قسمت از برنامه اندازه گیری سازمانی می باشد و قابل اندازه گیری است. در سرتاسر سازمان، پایگاه داده فرآیند نرم افزار که از جمع آوری و تجزیه و تحلیل داده های قابل دسترس از فرآیندهای نرم افزاری پروژه های تعریف شده ایجاد شده است، مورد استفاده قرار می گیرد.
فرآیندهای نرم افزاری با معیارهای سازگار و خوب، بصورت ابزار درخواهند آمد. این معیارهای ایجاد شده، پایه ای خواهد بود برای کمّی کردن ارزیابی فرآیندها و محصولات پروژه های نرم افزاری.
حصول قابلیت کنترل بر محصولات و فرآیندهای پروژه ها، بوسیله محدود کردن انجام تغییرات در کارآیی فرآیندها با پذیرش یک محدوده از کمیتهای قابل پذیرش، امکان پذیر خواهدشد. تغییرات معنی دار در کارآیی فرآیند، از تغییرات تصادفی، بخصوص با راه اندازی خط تولید، می تواند تمیز داده شود.
ریسک حاصل از درگیری برای افزایش سطح منحنی دانش در محدوده برنامه های کاربردی بایستی شناخته شود و به دقت مدیریت شود.
قابلیت فرآیند نرم افزار در سازمان سطح چهار، می تواند بوسیله قابلیت کمّی بودن و پیش بینی کردن، خلاصه گردد. زیرا فرآیندها در محدوده های قابل اندازه گیری اجرا و اندازه گرفته می شوند. این سطح از قابلیت فرآیند، یک سازمان را به پیش بینی روند قابلیت فرآیند و کیفیت محصول، در محدوده مذکور، قادر می سازد. زیرا، وقتی که برخی شرایط استثنایی رخ می دهد، فرآیند هم پابرجا می ماند و هم قابل اندازه گیری خواهد بود و دلایل خاص تغییرات می تواند تعریف و عنوان شود. زمانیکه محدودیتهای شناخته شده از فرآیند پیشی گیرد، می توان عکس العمل های مناسبی در موقعیت صحیح اتخاذ نمود. محصولات نرم افزاری با کیفیت بالایی، قابل پیش بینی خواهند شد.
سطح پنج، سطح بهینه شونده
درسطح بهینه شونده ، در تمام سازمان، بر توسعه تدریجی و مستمر فرآیندها تمرکز شده است. سازمان اهدافی برای مشخص نمودن نقاط قوت و ضعف فرآیندهای فعال خود دارد. این اهداف با مشخص نمودن نحوه پیشگیری از وقوع نقایص قابل حصول خواهد بود.
داده های حاصل از فرآیند نرم افزار غیرمؤثر و تجزیه و تحلیل هزینه و سود آنها برای دستیابی به فنآوریهای جدید و تغییر در فرآیند نرم افزار سازمان، مورد استفاده قرار می گیرند. با انجام این عمل، نوآوریهای زیادی حاصل سازمان می گردد.
تیم پروژه نرم افزاری، در سازمان سطح پنج، نسبت به تجزیه و تحلیل نقایص برای تعیین دلایل آن اقدام می کند. فرآیندهای نرم افزار برای پیشگیری از تکرار انواع نقایص شناخته شده، مورد ارزیابی قرار می گیرد و درسهایی برای جلوگیری از نشر آنها به دیگر پروژه ها می آموزد.
اتلاف شدیدی که از دوباره کاری در کارها در جریان تغییرات تصادفی در هر سیستم ساده بوجود می آید، اتلاف غیرقابل قبولی است. تلاشهای زیادی برای حذف اتلاف ناشی از تغییر در سیستم ها، سازمان یافته است که به عنوان مثال: توسعه فرآیند به منظور پیشگیری از عدم کارآیی بوسیله تغییر در دلایل مشترک، از آن جمله است.
گرچه این مسئله درکلیه سطوح بلوغ واقعیت دارد ولی در سطح پنج برروی آن متمرکز می شود.
قابلیت فرآیند نرم افزار در سازمان سطح پنج، می تواند بوسیله تمرکز بر توسعه مستمر مشخص گردد. زیرا سازمان سطح پنج، کوشش مستمری برای توسعه در محدوده ای از قابلیت فرآیند که در پروژه های جاری اش کارآیی دارد، بکار می بندد. توسعه، هم بوسیله پیشرفتهای صعودی در فرآیندهای موجود و هم بوسیله نوآوریهائی که با استفاده از فنآوریها و روشهای جدید ایجاد می شود، رخ می دهد. توسعه فرآیند و فنآوری در فعالیتهای کاری متداول، برنامه ریزی و مدیریت می شود.
۱-۲-۳-قابلیت فرآیند
بلوغ فرآیند نرم افزار سازمان به پیش بینی قابلیت دستیابی به اهداف، کمک می کند. پروژه ها در سازمانهای سطح یک، ابعاد وسیعی از دسترسی به هزینه ها، برنامه زمانبندی، قابلیت کارکردی و اهداف کیفی را تجربه می کنند. همانطور که در شکل ۴-۲ توضیح داده شده است، سه بهسازی در دستیابی به اهداف تعیین شده، در بلوغ فرآیند نرم افزاری سازمان انتظار می رود.این انتظارات بر مبنای نتایج کمّی از توسعه فرآیندهای دستیافته در دیگر صنایع بنا شده است و آنها با نتایج حاصل از موردکاوی اولیه گزارش شده از سازمانهای نرم افزاری، سازگار هستند.(Dion 92, Hamphrey 91b, Lipke 92, Wohlwen 93)
اولاً دلایل رشد بلوغ این است که تفاوت بین نتایج مورد انتظار و نتایج واقعی در طول پروژه کاهش یابد. برای مثال سازمان سطح یک اغلب برنامه زمانبندی اولیه خود را نمی تواند بپوشاند و در یک  محدوده  وسیعی نسبت به پیش بینی اولیه، کار را تحویل می دهد. در صورتیکه سازمانهای سطح بالاتر قادرند با دقت بیشتری نسبت به این کار اقدام نمایند و فاصله زمانی، برنامه ریزی شده و واقعی بسیار کمتر خواهد بود. (این مسئله به وسیله مساحت زیر منحنی حاصل از سمت راست خط هدف در شکل ۴-۲ نشان داده شده است.) به عبارتی دیگر، توسعه بلوغ، متغیری است از کاهش فاصله نتایج واقعی و نتایج هدف. به عنوان مثال: در سازمان سطح یک، تاریخهای تحویل برای پروژه های در اندازه مشابه غیرقابل پیش بینی تر نسبت به پروژه های مشابه در سازمانهای با سطوح بلوغ بالاتر هستند و با اختلاف بیشتری نسبت به آنها به انجام می رسند (این مسئله در شکل ۴-۲ بوسیله سطحی از منحنی که نزدیک به خط هدف هستند، نشان داده شده است)
ثانیاً، توسعه نتایج هدف گذاری شده در سازمانهای بالغ بصورت صعودی است و آن به این معنی است که در سازمانهای بالغ نرم افزاری، هزینه ها کاهش یافته، زمان پیاده سازی کوتاهتر می گردد و بهره وری و کیفیت افزایش می یابد. ازآنجائیکه برای حذف اشتباهات و انجام دوباره کاریها، زمان زیادی لازم است. سازمانهای با بلوغ بالاتر، با افزایش اثربخشی فرایندهایشان نسبت به کاهش هزینه های دوباره کاری اقدام می نمایند. دراین حالت زمان پیاده سازی نیز کاهش می یابد.
(این مسئله در شکل ۴-۲ بوسیله تغییر مکان دادن افقی خط هدف نسبت به مبداء نشان داده شده است.)
توسعه در پیش بینی نتایج پروژه در شکل ۴-۲ نمایش داده شده است. فرض کنید که نتایج حاصل از پروژه های نرم افزاری قابل پیش بینی تر از قبل باشند، دراین صورت مواردی از دوباره کاری ها در فرآیند نرم افزار، حذف می شود. اگرچه فنآوریهای جدید و برنامه های کاربردی تحت قابلیت فرآیندها، تصویر پیچیده ای از سیستم های جدید ایجاد می کنند و این امر بوسیله ایجاد قابلیت افزایش تغییر پذیری صورت می گیرد ، با همه این تفاصیل مدیریت و مهندسین در سازمانهای با بلوغ بیشتر خیلی سریعتر و راحت تر مشکلات را نسبت به سازمانهای با بلوغ کمتر، حل می کنند. در بعضی از موارد فرآیند بالغ بدین معنی است که احتمال شکست پروژه را در طول زیستچرخ نرم افزار، زودتر از موعد تشخیص بدهد و هدر رفتن سرمایه را به حداقل برساند.
موردکاوی توسعه فرآیندنرم افزار مستندشده شامل نتایج معنی داری از توسعه کیفیت و بهره وری در سازمانهایی است که با تلاش نسبت به بهبود خود اقدام نموده اند. (Dion 92, Hamphrey 91b, Lipke 92, Wohlwen 93)
 

در سازمانهای سطح پنج، کارآیی بصورت پیوسته توسعه می یابد.        5    احتمال
    …/ هزینه/ زمان   
برمبنای درک کمّی از فرآیندها و محصولات، در سازمانهای سطح چهار، فرآیند توسعه مستمر، آغاز می گردد.        4    احتمال
    …/ هزینه/ زمان   
با فرآیندهای خوب تعریف شده، کارآیی ها در سازمانهای سطح سه، توسعه می یابند.        3    احتمال
    …/ هزینه/ زمان   
در سازمانهای سطح ۲، برنامه ریزی ها بر مبنای کارآیی های گذشته، واقعی تر هستند.        2    احتمال
    …/ هزینه/ زمان   
برنامه زمانبندی و هزینه هدف بطور نمونه در سازمانهای سطح یک از تخمین اولیه بیشتر خواهند شد.        1    احتمال
    …/ هزینه/ زمان   

شکل ۴-۲- قابلیت فرآیند نشان داده شده بوسیله سطوح بلوغ


0

نويسنده / مترجم : -
زبان کتاب : -
حجم کتاب : -
نوع فايل : -
تعداد صفحه : -

 ادامه مطلب + دانلود...
تولید نرم افزارها
5 (100%) 1 vote



هو الکاتب


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

دانلود کتاب , دانلود کتاب اندروید , کتاب , pdf , دانلود , کتاب آموزش , دانلود رایگان کتاب


تمامی حقوق و مطالب سایت برای تک بوک محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع می باشد.


فید نقشه سایت

تمامی حقوق برای سایت تک بوک محفوظ میباشد