بخشی از پاورپوینت
اسلاید 1 :
اسلایدهای آموزشی
درس مهندسی نرم افزار (1)
( برگرفته از کتاب پرسمن )
اسلاید 3 :
مفاهيم كليدي(مرتب برحروف الفبا) :
اصول W5HH :
اقدامات بحرانی ٬ تجزیه و شکستن مسئـله ٬ تیم نرم افـزار٬چارچوب مشترک فرآیـند حوزه ، رهبرتیم ٬ساختارهایی تیمی ٬طبقه بندی تیم ها ٬هماهنگ سازی .
نگاه اجمالی :
به هنگام ساخته شد ن سیستـم ها و محصولات مبتنی بر کامپیوتر مدیریت همچنان فعالیتی ضروری است
مدیرت پروژه با طرح ریزی نظارت و کنترل افرادو اتفاقاتی که با پدیدار شدن نرم افزارازمفا هیم اولیه تا اجرای عملی مطرح می شوند مرتبط است
اسلاید 4 :
وظایف :
مهندس نرم افزار :
فعالیت های روزمره طرح ریزی و کنترل کار های فنی خود را اداره می کند.
مدیران ارشد :
ارتباط بین امور و متخصین نرم افزار را فراهم می کند.
مدیران پرو ژه:
گروه یا تیم مهندسین نرم افزار را کنترل وطرح ریزی میکند
علل اهمیت مدیریت:
ساختن نرم افزارکاری پیچیده است بخصوص اگر افراد بسیاری درآن دخیل باشند و برای مدت طولانی برروی آن کار کنند.
مراحل مدیریت
1. افراد : باید برای انجام درست کارها سازمان دهی شوند
2. محصول : ارتباط با مشتری باید به گونه ای با شد که حیطه محصول و نیازمندی ها درک شود
3. پروسه : به نحوی باید انتخاب شود که با نرم افزار و محصول متنا سب با شد
4. پروژه : باید با براورده کردن نیرو و زمان مورد نیاز برای اتجام کار ، تشریح محصولات ،انجام کنترل کیفیت و تعیین مکانیزم های نظارت در طرح ، طراحی شود
اسلاید 7 :
zzz
محصول چیست؟طرح پروﮋه با اغاز و شروع فعالیت های مدیریت تهیه و تولید می شود.این طرح روند وکارهایی که باید انجام شود،افرادی که کارها را انجام می دهندو مکانیزم ارزیابی خطرات،کنترل تغییر،ارزیابی کیفیت را تشریح میکند
هرگز به طور قطع نمی توانید اطمینان حاصل کنید که طرح پروژ ه درست است مگر انکه محصول با کیفیت بالا را در زمان مقرر و با بودجه تعیین شده ارایه کنید
۳ -١-طیف مدیریت
مدیریت پرو ه نرم افزار کارامد بر روی کلمات کلیدی (افراد ،محصول ،پروسه ،پرو ژه تاکید دارد
: محصول 3-1-2
قبل ازطرح ریزی پروژه باید اهداف و حیطه محصول مشخص شده و محدودیتها و قیدهای فنی و مدیریتـی تشریح شوند. بدون این اطلاعـات نمی توان برآوردهای معقولی ازهزینـه، ارزیابی موثر خدمات، تجزیه و تحلیل کارها و وظایف پروژه یا برنا مه زمانبندی قابل اجرا پروژه همراه با نشانههای درست پیشرفت را ارائه کرد. ارا ئه کننده نرمافزار و مشتری باید اهداف و حیطه محصول را مشخص کنند. در بسیاری از موارد این فعالیت بخشی از مهندسی سیستم یا مهندسی روند کار شروع میشود و به عنوان مرحله اول در تحلیل نیاز مندیهای نرمافزار ادامه پیدا میکند. اهداف، مقاصد کلی محصول را بدون در نظر گرفتن نحوه حصول براین اهداف تعیین میکند. حیطه محصول دادهها، عملیات و رفتارهای اولیه مشخص کننده محصول را تشریح می کند و مهمتر از ان می کوشد تا به شکلی کمی، این ویژگیها را با یکدیگر مرتبط کند. بعد از درک اهداف و حیطه محصول، راهحلهای مختلف در نظر گرفته میشوند.
اسلاید 8 :
3-1-3 فرا یند :
پروسه چهارچوبی را ارائه می کند که به کمک ان می توان طرح جامعی جهت ارائه نرم افزار تهیه کرد . مجموعه های مختلف کاری – وظایف ،مراحل بر جسته کاری ، محصولات کاری و مقاطع تضمین کیفیت – به فعا لیت های اصلی این امکان را می دهد تا در مشخصه های پروﮊه نرم افزار و نیاز مندی های تیم پروژه به کار گرفته شوند.در نها یت فعا لیت های حفاظتی مپل تضمین کیفیت نرم افزار٬مدیریت پیکر بندی نرم افزار و اندازه گیری و مدل فرایند حاکم هستند. فعالیت های حفاظتی از فعالیت های اصلی مستقل هستند و در کل پروسه رخ می دهند.
در صفحه بعد مي توانيد تصوير مراحل يك فرآيند را مشاهده كنيد.
اسلاید 10 :
4-1-3 پروژه :
ما پروژه های نرم افزاری کنترل و طرح ریزی شده را به یک دلیل اصلی انجام می دهیم زیرا این
تنها راه شناخته شده برای اداره کردن و کنترل پیچیدگی است و هنوزهم با آن در کشمکش و جدال هستیم . نرخ موفقیت پروژه های نرم افزاری تا حدی بهبود پیدا کرده است اما نرخ شکست و عدم موفقیت پروژه هم چنان بالا ترازحدی است که باید باشد . برای پرهیزازشکست پروژه ٬ مدیر پروﮋه نرم افزار و مهندسین نرم افزاری که محصول را می سازند باید ازالائم اخطار دهنده پرهیز کنند ٬عوامل موفقیت را که به مدیریت پروﮊه خوب می انجامد درک کنند و روش مشترک و معقولی برای طرح ریزی ٬ نظارت و کنترل پروﮊه ارائه کنند.
اسلاید 11 :
3-2 افراد :
در تحقیق انتشار یا فته ازنا یب روسای مهندسی 3 شرکت فنی بزرگ خواسته شد تا مهم ترین عامل دخیل در پروژه نرم افزار موفق را ذکر کنند . پاسخ آنها به شرح زیر است :
1- آن چیزابزار مورد استفاده ما نیست بلکه افراد یا پرسنل است .
2- مهمترین عاملی که باعث موفقیت این پروﮋه شد برخورد اری از پرسنل با هوش بود.دیگر عوامل اهمیت کمتری دارند.
3- تنها قاعده ای که در مدیریت از آن استفاده می کنیم تضمین در اختیار داشتن افراد خوب و ایجاد محیطی است که در ان بتوان افراد خوبی درست کرد.
مدیران میگویند که پرسنل عامل اصلی هستند اما گاه کردار و عملکرد آنها با گفتارشان یکی نیست .
اسلاید 12 :
3-2-1 بازیگران :
طبقه بندی بازیگران صحنه پروسه نرم افزار:
1- مدیران ارشد که موضوعات و مسا ئل کاری را مشخص میکنند که اغلب تاثیر زیادی برپروژه دارند.
2- مدیران پروژه که باید افرادی را که کارنرم فزارانجام میدهند کنترل و نظارت کنند.
3- متخصصین افرادی که مهارت های فردی مورد نیاز جهت مهندسی محصول یا کاربرد ارائه میکنند.
4- مشتریان کسانی که نیازمندی های نرم افزار مورد نیاز را مشخص میکنند و سهامدارانی که درپی امد ان نفعی دارند.
5- کاربران نهایی که با عرضه نرم افزار جهت استفا ده از آن بهره میگیرند.
تیم پروژه برای کا رآمد بودن با ید به نحوی سازماندهی شود که مهارت ها و قا بلیت ها ی هر فرد را به بیشترین حد ممکن برساند واین وظیفه رهبر تیم است.
3-2-2 رهبران تیم :
مدیریت پروژه فعالیتی در تعا مل با افراد است و به این دلیل کارورزان ذیربط صلاح اغلب رهبران تیم خوبی نیستند .آنان از مجموعه مهارت های فردی درست و لازم بر خوردار نیستند .
اسلاید 13 :
چهارويژگي مديرپروژه كارآمد
اسلاید 14 :
چهاروﯦﮋگی مدیر پروﮋه کارآمد:
حل مسئله : مدیر پروﮋه نرم افزار کارامد میتواند مسائل فنی و سازما نی شا یع را تشخیص دهد وراه حل اصولی را سازماندهی ومطالب اندوخته شده ازپروﮋه های قبلی را در موقعیت های جدید اعما ل کندو در صورت بی ثمر بودن راه حل های اولیه برای تغییر جهت انعطاف داشته باشد.
هویت مدیریتی : مدیر پروﮋه خوب با ید مسئولیت پروﮋه را بر عهده بگیرد:او با ید برای بدست گرفتن کنترل در زمان مقتضی و مجا ز كردن پرسنل فنی خوب از اتکا به نفس خوبی برخوردار باشد.
موفقیت:برای بهینه کردن بهروری تیم پروژه مدیر باید موفقیت و نواوری را تشویق کند و با اعما ل خود نشان دهد که اگر افرا دی به طور کنترل شده رسیک کنندبا مجازات روبرو نمی شوند.
ساخت تیم و تاثیر گذاری:یک مدیرموفق وموثر با ید مردم شناس باشد وتحت شرایط فشاربتواند اوضاع را تحت کنترل در اورد.
مد ل MIO ( برای رهبری) :
انگیزه : قابلیت ترغیب پرسنل فنی در ایجاد بهترین قابلیت ها.
سازماندهی : توانایی ایجاد و برقراری پروسه های موجود که امکان تبدیل مفهوم اولیه به محصول نها یی را فراهم می کند.
ایده ها یا ابداع : توانا یی ترغیب افراد به خلاقیت به هنگام کاردرمحدوده تعیین شده برای محصول .
اسلاید 15 :
3-2-3 تیم نرم افزار :
تعداد ساختارهای سازما نی انسا نی برای توسعه نرم افزار٬ به اندازه تعداد سازمانهای توسعه دهنده نرم افزاری می باشد . ساختار سازمانی نمی تواند براحتی تغییر داده شود . نتایج عملی و سیا سی تغییرسازما نی در حیطه مسئولیت های مدیر پروﮋه نرم افزاری نمی باشد . اما تشکیلات مردمی که مستقیما در پروﮋه نرم افزاری دخیل هستند درحیطه کاری مدیر پروﮋه قراردارد.
اسلاید 16 :
انواع سازمان ها
اسلاید 17 :
سازما ن غیر متمرکز دموکراتیک :
این تیم مهندسی نرم افزاری دارای یک رئیس دائمی و ثابت نمی باشد. بلکه هماهنگ کننده های کار برای دوره کوتاهی در این سمت منصوب میشود و سپس افراد دیگری که ممکن است کارهای مختلفی را هماهنگ کنند جایگزین این هماهنگ کننده ها میشوند.
سازمان غیر متمرکز کنترل شده :
این تیم مهندسی نرم افزاری دارای یک رئیس مشخص میباشد که کارهای خاص ومدیران ثا نوی که مسئولیت کارهای فرعی را برعهده دارند، هما هنگ و مشخص میکند اما حل مشکلات به صورت یک کار گروهی باقی می ما ند اما اجرای راه حلهای مشخص شده برای مشکل توسط رئیس تیم در میان گروه های مختلف تقسیم می شود.ارتباطات موجود میان گروههای فرعی و افراد به صورت هم سطح می باشد.همچنین ارتباط عمودی در امتداد سلسله مراتب کنترل به وقوع می پیوندد .
سازمان متمر کز کنترل شده:
حل مشکلات در سطوح با لا و ایجاد هماهنگی داخلی در میان تیم تحت نظارت و کنترل رئیس تیم و اعضا تیم به صورت عمودی باشد.
اسلاید 18 :
ما نتی هفت فاکتور پروﮋه های که باید در هنگام برنامه ریزی ساختار تیم های مهندسی نرم افزاری در نظر گرفته مشود:
1- سختی مشکلاتی که باید مورد حل و فصل قرار گیرند.
2- اندازه برنامه حاصله در تعداد خطوط دستورالعملها و جملات برنامه کامپیوتری یا امتیازات کارکردی
3- مدت اشتغال تیم
4- تا چه اندازه میتوان مشکلات را به صورت پیما نه ای درآورد.
5- میزان اعتبارو کیفیت مورد نیاز که در ارتباط با سیستم باید ایجاد شود.
6- ثبات تاریخ تحول
7- میزان جامعه پذیری مورد نیاز برای پروﮋه
از آنجا یی که ساختار متمرکز کارها را سریعتر تکمیل میکند، بنابراین این ساختاردرحل مشکلات سا ده مفیدترین ساختارمی باشد . تیم های غیرمتمرکز نسبت به افراد ، راه حلهای بهترو بیشتری را بوجود می آورند . بنا براین احتمال موفقیت چنین تیم ها یی هنگام بررسی مسا ئل بسیار سخت بیشتر است .
اسلاید 20 :
کنستانتین چهارالگوی سازمانی را برای تیم های مهندسی نرم افزارپیشنهاد کرده است. این پارادیمهاعبارتند از:
1. الگوی بسته : این نمونه ، تیم مورد نظر را با توجه به سلسله مراتب سنتی قدرت و اختیارات تشکیل می دهد.چنین تیم هایی هنگام تولید نرم افزار که کاملا مشابه با تلاش های قبلی است به خوبی عمل می کنند، اما احتمال خلاق بودن چنین تیم هایی هنگام کار کردن در یک نمونه بسته بسیار کم می باشد.
2. الگوی تصادفی : تیم را به صورت تصادفی و آزادانه تشکیل میدهد و به ابتکار فردی اعضاء تیم بستگی دارد. هنگامی که تحول ابداعات یا فناوری ها مورد نیاز باشد، تیمی که دارای نمونه تصادفی است به خوبی عمل خواهد کرد. اما چنین تیمی در صورتی که ”عملکرد منظم و مرتب ” مورد نیاز باشد با مشکل مواجه خواهد شد.
3.الگوی باز : این نمونه سعی دارد تیمی را به روشی تشکیل دهد که این تیم دارای بعضی از کنترل های مربوطه نمونه بسته باشد و در عین حال بیشتر ابداعات پدید آمده در صورت استفاده از نمونه تصادفی را نیز دارا باشد. کار در این نمونه به صورت دسته جمعی و همراه با ارتباط بیشتر و توافق آرای مبتنی بر تصمیم گیری و علائم تجاری تیم های نمونه باز انجام می شود. ساختارهای تیم نمونه باز برای یافتن راه حل برای مشکلات پیچیده بسیار مناسب هستند.اما برای حل این مشکلات به اندازه سایر تیم ها سودمند نمی باشند.
4. الگوی همگام : این نمونه بر تشابه طبیعی مشکل متکی می باشد و اعضای تیم را برای کار کردن بر روی بخش هایی از مشکل سازماندهی می کند و در طول این کار ارتباط فعال میان اعضاء تیم بسیار کم می باشد.
صرف نظر از سازمان تیم ، هدف اصلی هر مدیر پروژه ای کمک به تشکیل شدن تیمی است که دارای انسجام و یکپارچگی می باشد.