Presentation is loading. Please wait.

Presentation is loading. Please wait.

Teaching material for a course in Software Project Management & Software Engineering – part III.

Similar presentations


Presentation on theme: "Teaching material for a course in Software Project Management & Software Engineering – part III."— Presentation transcript:

1 Teaching material for a course in Software Project Management & Software Engineering – part III

2 Part 3: Software Engineering Chapter 15 (process standards introduction) When you build a product, you put measures in place to ensure product quality. The processes which are used to build a product are themselves not foolproof and are open for refinement. If you refine the processes, you will end up making better quality products. Software engineering is the science which is used to refine the software lifecycle processes (models). This helps in improving software product quality. There are organizations like CMMI, ISO etc. who have published software lifecycle models which when used, can ensure better software product quality. Software products are complex in nature. At the same time, they are intangible. Building them is not easy. It is unavoidable to stop a number of defects creeping during entire development lifecycle. Only a thoroughly researched development model can ensure that a certain level of software product quality can be achieved.

3 Part 3: Software Engineering Chapter 15 (process standards introduction) Problems on software projects

4 Part 3: Software Engineering Chapter 15 (process standards introduction) Solutions for software projects

5 Part 3: Software Engineering Chapter 15 (process standards introduction) When process tailoring required for software projects?

6 Part 3: Software Engineering Chapter 15 (process standards introduction) Same product quality from same production process

7 Part 3: Software Engineering Chapter 15 (process standards introduction) Same product quality from same software process

8 Part 3: Software Engineering Chapter 15 (process standards introduction) The process models (standards) developed by various organizations are fit for building only a certain kind and size of software products. So process model selection for software projects is very important. Sometimes, even these standard process models do not fit for a software development project. In those cases, process tailoring can be done. A standard process model is taken and then modified to suite particular needs of the project.

9 Part 3: Software Engineering Chapter 15 (process standards introduction) Process tailoring for software projects

10 Part 3: Software Engineering Chapter 15 (process standards introduction) Program management

11 Part 3: Software Engineering Chapter 15 (process standards introduction) Software projects work in a discontinuous environment. Each project starts and ends without any link to previous or next project. This scenario poses problems as learning from one project can not be carried easily to other projects. At the same time, quality and other project metrics will differ from project to project. To overcome this problem, a unified process is suggested which will ensure same results across projects for the organization. Program management and portfolio management at the organization level helps to achieve same results across projects.

12 Part 3: Software Engineering Chapter 16 (process improvement) Before thinking of improving any process, you first should have a baseline standard from where you can start. Software engineering consulting firms help software development organizations to implement a process standard framework so that all software project work is done as per the standard specification. Once the standard process gets stabilized then the organization is ready for next level of improved process standard. In CMM, improved process standards are known as maturity levels. Higher maturity level ensures higher quality and better project performance. Apart from elaborate maturity models, there is a simplistic model proposed by Deming known as PDCA model. You Plan then you Do (construct) then you Check and finally you Act (implement). There are also process improvement models for testing area of software projects. Some popular models include Test Maturity Model (TMM), Test process Improvement (TPI) model, Critical Testing Process (CTP) model etc.

13 Part 3: Software Engineering Chapter 16 (process improvement) In CMM, there are 5 levels through which any organization can improve their processes. They are assessed at level 0 to start with. Some process areas are improved so that the organization can reach at level 1. improvement in some more areas will make the organization to reach level 2. At level 3, the processes of the organization are considered to be matured enough to cover most of the project and program level processes. At level 5, all process areas of the organization including customer and supplier relationship management are considered to be fully matured. Process improvement standards include process improvement for project management processes, program management processes, and software lifecycle processes. Notable standards include CMM, ISO, IEEE, Rational Unified Process (RUP). Various organizations have also developed their own proprietary standards. Then there are also standards for software testing and quality assurance such as Deming’s PDCA technique, test maturity model (TMM), critical testing process (CTP) etc. There are certified standards implementation consulting companies who assess and certify organizations for implementing these standards. Organizations who are interested in implementing these standards can contact these consulting firms.

14 Part 3: Software Engineering Chapter 16 (process improvement) Deming’s PDCA model

15 Part 3: Software Engineering Chapter 16 (process improvement) TMM model for improving testing process

16 Part 3: Software Engineering Chapter 16 (process improvement) TPI model for test process improvement

17 Part 3: Software Engineering Chapter 16 (process improvement) CTP model for test process improvement

18 Part 3: Software Engineering Chapter 17 (process selection) Which process model will be the best for your projects? If same process model will fit to all your projects? Will you go for a different process model now that your existing process model is not giving you best results on your projects? These questions are being asked by many organizations who run software projects and are not sure which process models will be the best for them.

19 Part 3: Software Engineering Chapter 17 (process selection) Every software project is different from other software projects. So the same process model will not fit for all of them. If you are able to categorize projects based on size, industry, purpose, etc. then you will be able to put any project in some category. All projects within the same category will have similar attributes like size, industry, purpose etc. You then can select a suitable process model for all the projects falling in this category.

20 Part 3: Software Engineering Chapter 17 (process selection) Success factors for a model

21 Part 3: Software Engineering Chapter 17 (process selection) Benefits of waterfall model

22 Part 3: Software Engineering Chapter 17 (process selection) Weaknesses of waterfall model

23 Part 3: Software Engineering Chapter 17 (process selection) Strengths of agile model

24 Part 3: Software Engineering Chapter 17 (process selection) Weaknesses of agile model

25 Part 3: Software Engineering Chapter 17 (process selection) Best practices for software projects

26 Part 3: Software Engineering Chapter 17 (process selection) Model selection for various types of projects


Download ppt "Teaching material for a course in Software Project Management & Software Engineering – part III."

Similar presentations


Ads by Google