Page 25 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 25
Unit 1: Introduction to Software Engineering
Figure 1.11: Role of Management in Software Development Notes
People
1
Dependency
Project 4 2 Product
order
3
Process
Software development is a people centric activity. Hence, success of the project is on the shoulders
of the people who are involved in the development.
1.11.1 The People
Software development requires good managers. The managers, who can understand the
psychology of people and provide good leadership. A good manager cannot ensure the success
of the project, but can increase the probability of success. The areas to be given priority are:
proper selection, training, compensation, career development, work culture etc. Managers face
challenges. It requires mental toughness to endure inner pain. We need to plan for the best, be
prepared for the worst, expect surprises, but continue to move forward anyway. Charles Maurice
once rightly said “I am more afraid of an army of one hundred sheep led by a lion than an army
of one hundred lions led by a sheep”. Hence, manager selection is most crucial and critical after
having a good manager, project is in safe hands. It is the responsibility of a manager to manage,
motivate, encourage, guide and control the people of his/her team.
1.11.2 The Product
What do we want to deliver to the customer? Obviously a product a solution to his/her problems.
Hence, objectives and scope of work should be defined clearly to understand the requirements.
Alternate solutions should be discussed. It may help the managers to select a “best” approach
within constraints imposed by delivery deadlines, budgetary restrictions, personnel availability,
technical interfaces etc. Without well defined requirements, it may be impossible to define
reasonable estimates of the cost, development time and schedule for the project.
1.11.3 The Project
A proper planning is required to monitor the status of development and to control the complexity.
Most of the projects are coming late with cost overruns of more than 100%. In order to manage
a successful project, we must understand what can go wrong and how to do it right. We should
define concrete requirements (although very difficult) and freeze these requirements. Changes
should not be incorporated to avoid software surprises. Software surprises are always risky and
we should minimize them. We should have a planning mechanism to give warning before the
occurrence of any surprise. All four factors (People, Product, Process and Project) are important
for the success of the project. Their relative importance helps us to organize development activities
LOVELY PROFESSIONAL UNIVERSITY 19