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
   20   21   22   23   24   25   26   27   28   29   30