واژه های این نوشته را می توان در دسته بندی "Project Management Techniques" قرار داد و عبارتند از:

- steering committees : کميته راهبري، موظف به تهيه اهداف، اصول و زمانبندي و نحوه تامين منابع لازم براي يک پروژه است. این کمیته از ذینفعان اصلی پروژه که بر روند اجرایی آن نظارت دارند تشکیل می شود و مدیریتش به عهده مالک اصلی پروژه است. تشکیل این کمیته فقط برای پروژه های متوسط و بزرگ لازم است. این کمیته عهده دار مسؤولیت تغییرات اساسی در محدوده پروژه، اهداف آن، زمانبندی و هزینه ها است. علاوه بر آن این کمیته زمانی که به تصمیم گیری های مهم در فرآیند های اصلی نیاز است تشکیل جلسه می دهد. پیشنهاد می شود این کمیته حداکثر 8 عضو داشته باشد که دو نفر از آنها مالک پروژه و مدیر پروژه باشند.

- project justification :يک پروژه بايد در موارد مالي، اقتصادي و يا ريسکها توجيه داشته باشد. اگر اين اتفاق نيافتد که اين پروژه سود آوري خاصي داشته باشد و يا از نظر اقتصادي و يا کسب و کار اجراي آن درست باشد و يا ريسک هاي قابل قبول و قابل مواجه داشته باشد، پروژه مي تواند از آغاز به شکست بيانجامد.

- project planning :برنامه ريزي پروژه معمولا شامل اقداماتي براي تهيه يک نقشه و مسير درست براي پيمودن گامهاي مختلف است، قبل از آنکه راه آغاز شود بدين شکل که زمانبندي اجراي عمليات چگونه باشد، منابع را به چه شکلي و چه موقعي و چه حجمي نياز داريم، برنامه ريزي مالي چگونه است، به کيفيت چگونه مي انديشيم و کي آن را اندازه گيري مي کنيم، چگونه و در چه زمانهايي با مشتري ارتباط برقرار مي کنيم و اصطلاحا Mile stone هاي پروژه که در آنها کار را ارزيابي مي کنيم چه مواقعي هستند.
- project development strategies : با توجه به عوامل دخيل در يک پروژه از جمله ذينفعان آن، توليد کننده، منابع و محدوديت هاي آن يکي از کارهاي اصلي در ابتداي پروژه، تدوين استراتژي توسعه سيستم است. اينکه چگونه فاز توسعه سيستم پيموده شود. استراتژي هاي زيرادي براي توسعه سيستم وجود دارد که مي توان مهمترين ها را چنين برشمرد:
-روش توسعه خطي : که از تحليل، طراحي و پياده سازي و تست پشت سرهم پيموده مي شود. معمولا براي پروژه هاي ساده و يا کوچک کاربرد دارد.پ
-روش آبشاري (Waterfall) که به صورت پشت سرهم مراحل به شکل فرمال تر و به همراه مستند سازي صورت مي گيرد، معمولا در پروژه هاي ساختيافته استفاده مي شد.
-روش توسعه تدريجي: که سيستم به چند زير سيستم تقسيم مي شود و هر يک جداگانه مثلا به روش خطي ساخته و به تدريج به مشتري تحويل مي شود.
-روش توسعه سريع يا RAD: Rapid application Development که يا ادغام فازهاي مختلف و با تشکيل جلسات هماهنگي با مشتري و سپس توسعه سيستم انجام مي شود.
-روش حلزوني يا spiral که در اين روش به صورت نسخه بندي شده (versioning ) سيستم کامل مي شود، يعني ابتدا هسته اصلي آن ساخته مي شود و سپس مرحله مرحله سيستم کاملتر مي شود.
-CBSD: component based Software Development که با استفاده از مولفه ها (Component) ها سيستم ساخته مي شود
-و ....
همانطور که ذکر شد بسته به ماهيت پروژه و توانايي سازنده يک روش انتخاب مي شود.
- methodologies : متدولوژي روشي استاندارد و مدون براي پيمودن فاز هاي تحليل، طراحي و پياده سازي نرم افزار ها به همراه ابزارها و تکنیک های برای تسهیل این کار است. متدولوژي هاي در گروه هايي مانند متدولوژي هاي ساختيافته (نظير SSADM) ، متدولوژي هاي شيء گرا (مانند RUP) يا متدولوژي هاي چابک agile (مانند XP) مورد استفاده قرار مي گيرند. هر متدولوژي علاوه بر آنکه يک تحليل گر را هدايت مي کند که در هر مرحله چه بايد بکند بلکه مجموعه از نماد ها و يا ابزارها و يا تکنيک ها را هم براي وي فراهم مي کند که داشته هاي خود را مستند و مديريت کند.
- risk assessment : در مبحث مديريت ريسک، يکي از کارهاي اصلي، برآورد احتمال وقوع يک ريسک و تعيين ميزان آسيب هاي آن است.براي اينکار ريسکها که شناسايي شد، در يک جدول آنها را قرار مي دهند و تلاش مي کنند يک مقدار عددي از احتمال وقوع ريسک مشخص کنند و هزينه ها و آثار آن را اندازه گيري کنند تا بتوانند ريسکها را اولويت بندي کنند، به شکلي که به ريسکهايي که احتمال وقوع زيادتري دارند و آثار مخرب تري دارند بيشتر توجه شود و براي آنها يک برنامه مقابله ريخته شود و يا شرايط وقوع آنها برداشته شده از بروز آنها اجتناب شود.
- estimation : تخمين يکي از وظائف اوليه هر پروژه است به شکلي که بتوانيم سايز و در نتيجه نفر-ساعت مورد نياز و منابع لازم را شناسايي کنيم تا قبل از اجرا بتوانيم به يک برآورد درستي از هزينه هاي پروژه و امکان سنجي اجراي آن برسيم.
براي تخمين معمولا بايد سايز براساس تعداد خط LOC يا FP اندازه گيري شود و سپس با يک نسبت گيري و يا بر اساس روشهايي نظير COCOMO تخمين زمان صورت گيرد.
- quality assurance : تضمين کيفيت نرم افزار معمولا در پارامترهاي زير صورت مي گيرد:
-صحت Correctness : چقدر نرم افزار نيازهاي مشتري آن را به شکل درست برآورد مي کند.
-قابليت اطمينان و توانمندي robustness & reliability: به جز صحت، چقدر نرم افزار در شرايط غير طبيعي و ورودي هاي اشتباه مقاوم است و واکنش درست نشان مي دهد.
-کارايي efficiency : چقدر از منابع سخت افزاري و نرم افزاري درست و به شکل بهينه استفاده مي شود.
-قابليت جابجايي Portability : چقدر مي توان نرم افزار را از يک Platform به ديگري منتقل کرد، مثلا روي سيستم عامل هاي مختلف کار مي کند يا نه...
-قابليت استفاده مجدد reusability : اينکه از يک قسمت از نرم افزار يا همه آن بتوان در همان نرم افزار و يا در سيستمهاي ديگر مجدد استفاده کرد.
-قابليت استفاده usability يا استفاده آسان easy to use : چقدر نرم افزار براي گروه کاربران هدفش آسان و قابل استفاده است و راهنما و يا واسط کاربري user interface مناسب دارد.
-قابليت نگهداري maintainability : با چه هزينه اي مي توان نرم افزار را نگهداري و پشتيباني کرد.
-قابليت وارسي verifiability : چقدر آسان مي توان نرم افزار را تست کرد و از صحت و قابليت اطمينان آن مطمئن شد.
-سازگاري compatibility يا Interoperability : آيا نرم افزار در کار ساير نرم افزار ها اختلال ايجاد مي کند و آيا مي تواند با آنها کار کند مثلا داده به شکل فرمتهاي استاندارد به عنوان وروردي يا خروجي بگيرد .
-و....
- scheduling : زمانبندي پروژه همان است که چه کاري قبل و بعد از چه کارهايي و در چه زماني بايد انجام دهد و چه کساني مسؤول آن هستند و چه منابعي براي آن نياز است. معمولا در اين زمان از نمودار گانت Gantt استفاده مي شود با تعريف نقاطي براي ارزيابي.
- project tracking and reporting : ردگيري پروژه از اين جهت که چقدر با برنامه زماني و بودجه پيش بيني شده همراه است و انحراف دارد يا خير و اينکه چه ميزان منطبق بر تخمين اوليه استوار است از وظائف اصلي و نظارتي يک مدير پروژه است. اينکه قبل از اينکه از زمان يا هزينه عقب بيافتيم آن را شناسايي کنيم و بتوانيم با تغيير مسير و يا افزايش و يا مديريت مجدد نيروي انساني و منابع دوباره در مسير درست قرار بگيريم تا اهداف پروژه محقق شود.
ادامه دارد...
همین!