November 1, 2007

Week 3 starting 29 Oct 2007

We have learnt the software development life cycle (SDLC) models in the past 2 weeks. This week, we look into the details of processes that will be used in the models. Basically, the processes will provide the detailed work instructions to produce the necessary work products. The following diagram illustrates how processes can be used in the SDLC. You can see from the diagram that some of the processes are specifically for each phase eg, Requirement Management process is for Requirement phase. Whereas other processes such as Monitoring and Control process is to be used throughout all phases.

We further study the overview of CMMI (Capability Maturity Model Integration) which is a model that highlight how various categories of processes can be used to improve the quality of software development processes. It allows organizations to choose the way they want to improve the software processes by adopting the staged or continous representations.

  • Staged representation - focus on a set of processes in every step of the maturity levels that enable the organizations to have a predefined and proven improvement path.
  • Continuous representation - allows improvements of different processes to be performed at different capability levels based on the organization needs and objectives.

There are many process areas (total 22) in CMMI and they are catogrized into Organizational processes, Project Management processes,, Engineering processes and Support processes. We will only be focusing at the following process areas as they are the fundamentals processes in the software development life cycle.

  • Project Planning - this process area is to establish and maintain project plans that define the project activities throughout the development life cycle
  • Project Monitoring and Control - this process area is to provide monitor the project progress so that appropriate corrective actions can be taken when the project performance deviates significantly from the plan
  • Requirement Management - this process area is to manage the requirements in terms of understanding what the users' needs and identify any inconsistency between the requirements and the work products.
It is important for an enterprising organization to have a proper process improvement framework because:
  • an enterprise enviornment is a dynamic business environment
  • streamlining the business operations and development approach using well defined standard across the organization level is critical for an effective and efficient company
  • the process centre -approach helps to ensure a smoother execution of complex software development projects that brings optimization of business operations such as: planning based on statistics than by experiences, focusing on processes rather than product..etc

To let you have a feel of what process improvement is, the practical in week 4 will require you to study in detailed the process areas of project planning, project monitoring and control, requirement management and then use the recommended best practices to suggest improvement of case study. Your proposal (in power-point slides) should include the following contents. I will let you know when to submit your proposal during the lecture next week.

  • Introduction to process improvement (what is it and why we need it?)
  • What are the current problems
  • What are the recommendataions to resolve these problems
  • Explain briefly on the implementation of these best practices

Now that you have some ideas of software proesses, we can move on to use some simple software quality tools that can help us to analyse problems encountered in these proesses. See you next week.

No comments: