






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This course includes software-- development process, process models, project planning, quality assurance, configuration management, process and project metrics, change, re-engineering. It also discuss risk analysis and management and project management. This lecture contains: Rational, Unified, Process, Phases, Overlap, Object, Oriented, Maintenance, Cycle, Dynamic, UML, Architectural, Model
Typology: Study notes
1 / 10
This page cannot be seen from the preview
Don't miss anything!







In this model the circles representing the various phases overlap, explicitly representing an overlap between activities. The arrows within a phase represent iteration within the phase. The maintenance cycle is smaller, to symbolize reduced maintenance effort when the object oriented paradigm is used.
Rational Unified Process is very closely associated with UML and Krutchenâs architectural model.
In this model a software product is designed and built in a succession of incremental iterations. It incorporates early testing and validation of design ideas and early risk mitigation. The horizontal dimension represents the dynamic aspect of the process. This includes cycles, phases, iterations, and milestones. The vertical dimension represents the static aspect of the process described in terms of process components which include activities, disciplines, artifacts, and roles. The process emphasizes that during development, all activities are performed in parallel, however, and at a given time one activity may have more emphasis than the other.
The following figure depicting RUP is taken from Krutchenâs paper.
Requirement
Object-oriented analysis
Object-oriented design
Implementation
Implementation and integration
Further development
Operations
Maintenance
As discussed above, each lifecycle model has some strengths and weaknesses. These are summarized in the following table:
The criteria to be used for deciding on a model include the organization, its management, skills of the employees, and the nature of the product. No single model may fulfill the needs in a given situation. It may therefore be best to devise a lifecycle model tuned to your own needs by creating a âMix-and-matchâ life-cycle model.
It may be noted that there is no separate QA or documentation phase. QA is an activity performed throughout software production. It involves verification and validation.
Software project management is a very important activity for successful projects. In fact, in an organization at CMM Level basic project management processes are established to track cost, schedule, and functionality. That is, it is characterized by basic project management practices. It also implies that without project management not much can be achieved. Capers Jones, in his book on Software Best Practices, notes that, for the projects they have analyzed, good project management was associated with 100% of the successful project and bad project management was associated with 100% of the unsuccessful projects. Therefore, understanding of good project management principles and practices is essential for all project managers and software engineers.
Software project management involves that planning, organization, monitoring, and control of the people and the processes.
The first step towards better project management is the comprehension of the factors that influence results of a project. Among these, the most important factors are:
prove to be difficult to handle. Resultantly, it may totally blow you off the track. So, the project manager should be careful in choosing the implementation technology and must take proper safeguard measures.
In order to plan and run a project successfully, a project manager needs to worry about the following issues:
Thorough understanding and appreciation of these issues leads to the quest for finding satisfactory answers to these problems and improves the chances for success of a project.
A project manager is tasked to ensure the successful development of a product. Success cannot be attained without understanding the reasons for failure. The main reasons for the failure of software projects are:
A project comprises of all work the required to make the product a reality. In order to avoid failure, a project manager and software engineer is required to build the software product in a controlled and organized fashion and run it like other projects found in more concrete domains.
We now discuss these 4 in more detail.
In a study published by IEEE, the project team was identified by the senior executives as the most important contributor to a successful software project. However, unfortunately, people are often taken for granted and do no get the attention and focus they deserve. There are a number of players that participate in software process and influence the outcome of the project. These include senior managers, project (technical) managers, practitioners, customers, and end-users. Senior managers define the business vision whereas the project managers plan, motivate, organize and control the practitioners who work to develop the software product. To be effective, the project team must be organized to use each individual to the best of his/her abilities. This job is carried out by the team leader.
Project management is a people intensive activity. It needs the right mix of people skills. Therefore, competent practitioners often make poor team leaders.
Leaders should apply a problem solving management style. That is, a project manager should concentrate on understanding the problem to be solved, managing the flow of ideas, and at the same time, letting everyone on the team know that quality counts and that it will not be compromised. MOI model of leadership developed by Weinberg suggest that a leadership needs Motivation, Organization, and Innovation.
Motivation is the ability to encourage technical people to produce to their best. Organization is the ability to mold the existing processes (or invent new ones) that will enable the initial concept to be translated into a final product, and Idea or Innovation is the ability to encourage people to create and feel creative.
It is suggested that successful project managers apply a problem solving management style. This involves developing an understanding of the problem and motivating the team to generate ideas to solve the problem.
Edgemon suggests that the following characteristics are needed to become an effective project manager:
DeMarco says that a good leader possesses the following four characteristics:
If analyzed closely, all these researchers seem to say essentially the same thing and they actually complement each otherâs point of view.
For the team morale point of view, DD is better.
Lack of coordination results in confusion and uncertainty. On the other hand, performance is inversely proportional to the amount of communication and hence too much communication and coordination is also not healthy for the project. Very large projects are best addressed with CC or CD when sub-grouping can be easily accommodated.
Kraul and Steeter categorize the project coordination techniques as follows:
The effectiveness of these approaches has been summarized in the following diagram:
Techniques that fall above the regression line yield more value to use ratio as compared to the ones below the line.