Lecture – 29 Introduction to Project Management

Today we begin regarding our lectures on software project management As all of us have seen in the beginning of this series, software engineering basically consists of two major parts; one pertaining to making of the software that is analysis, design, coding and the second part of managing the software project We are going to see a series of these particular topics being covered in next eight to ten lectures and today we begin with our first topic on introduction to software project management So, when you look at the software project management basically we start with the question what is project and what is an operation Basically an organization achieves its objectives by organizing its activities either as project or operations Operations are the ongoing activities of the organization very repetitive in nature whereas projects are non-routine one time activity For instance, developing a payroll software is a project whereas running the payroll package every month becomes an operation So, projects are often used by the organization to respond to situation which cannot be handled normally in the operation kind of a setup and although the projects are non-repetitive in nature they consume a lot of resource and therefore they need to be managed in a very proper kind of a manner Now let us take a simple example Suppose we have an IT system to be introduced in an organization, it can be done as a collection of several projects For instance, you can have a consulting form to establish the exact scope of a particular project; say general ledger, accounts payable, accounts receivable and what kind of strategies to be used for developing such an application Once you have done that you may have another project to sort of interview the users and find out whether the proposed system will make a significant difference to their operations and activity Then once you have zeroed in on the project in the analysis phase itself you may take several projects like, for instance, to develop the module, you may need a process module to be developed, you might need a data model to be developed, a timeframe model to be developed So, if you had a system to be developed for a refinery these activities themselves could be significantly large projects Other applications could include even modeling the database in making clear that it is properly designed, tuned and pictured within the framework of the organizational data model Another way of looking at it is you have a program to be developed then the implementation can itself be considered as a separate project and maintenance obviously we will be yet another particular project So now this brings us to the next particular question what is really project management

Project management involves application of knowledge, skills, tools, techniques, to the project activities with the aim of meeting or exceeding the stakeholder’s requirement Let us look at this figure for instance In an organization you need to balance the schedule, the cost and quality often referred also as performance particular parameters within the resources that are available for the project’s use Once you have got the resources then your next job is to balance between the team and the technology, is to balance between the team and the technology So, look at the figure again Here we say that productivity and the profits need to be the pivot to balance the team and the technology But profits need to be the same So now let us now look at what is the need for formal project management The first need arrives at basically because the sponsors of the project are interested in making sure that the resources allocated are properly utilized They are also interested in completion of the project on time, then the project work itself involves identifying the requirement which itself is a very difficult task; all the stakeholders may have conflicting expectations from the project and the resources that you need for the project need to compete with the other activities of the organization because organization ultimately has a very limited pool of resources and it is from this pool of resources that your project needs to acquire the resources and your project does not run in a vacuum it is faced by problems like scarcity of resources, uncertainties, conflicting interest of stakeholders etc So, it is not possible to get a project done without having a formal project management Then we come to the next particular topic who executes the project So, even though the projects are temporary and unique in nature it cannot run in isolation; they need to run within the framework of the organization So the project may be undertaken either within the organization itself or it may be undertaken by sponsoring it to an outside agency which specializes in undertaking such projects So, if you look at it that from particular a point of view the first figure shows that you have a project which is being done within the walls of the organization Alternatively you may have a situation where the project is completed by a sponsoring agency outside the organization Now, once we got this particular thing we say okay whoever is executing the project the project basically runs within the organization then we look at the project’s fit within the organization So there are socio-economic environments in an organization; we have a structural framework about for instance the organization’s structure, we have political framework of the organization, we have power balances within the organization and there are competing applications within the organization then symbolic frameworks like who needs to do what and who needs to be sort of giving his or her blessings for completing that particular project in an organization is very necessary Human resources framework is also very important; the style of leadership, the organization culture, the motivational aspect, job design, job enrichment so all these factors play a very important role in the organization So, basically in a project role if there is a kind of this environment the management’s role in a project environment should be to support the project but not do it itself and

the project manager is expected to be sort of worthy of receiving the allegation of authorities from the top management to achieve their aims and objectives So the management’s roles in a project management should be to help the PM to focus on the results and not to try to do it himself Now, let us see, for instance, what an effective project manager needs to do First he always needs to follow the management’s clues Similarly he needs to appropriately delegate work to his subordinates He always needs to encourage his team members He must remember that the users are the ultimate beneficiaries of the products and never forget that he is the leader The leadership goes well beyond being just a manager; the leadership goes well So, now we will look at it How does the organization achieve all these particular things? Simple thing the organization does is to have periodic reviews of the project manager’s job So, projects are only one of the activities of the organization so the management can only periodically check whether the project is happening as it is planned Very often changes in the other aspects of an organization part of the organization may affect the project; takeover, for instance is a good example If two banks were to merge the incomplete projects in both these organizations will be very seriously affected by the change So, similarly what happens in a project may also affect the organization just like what happens in the organization affects the project so there is a need for a periodic review to make sure that the objectives of the management and the objectives of the project are not conflicting with each other Similarly, success rate of a project can be improved by better control over the project A trivial analogy would be falling from the first floor that of a building as against rolling down the staircase You would really want to know only at the end of the project that it is felt you would like to make sure that you periodically check to make that the project is still on course and it is being conducted in an appropriate manner Another thing is with time the management must continue to commit resources to the project and it is not possible to commit these particular resources unless you know that the earlier allocation of resources has been well utilized So the management review of a project is aimed at evaluating its progress, it is likely successes and basically answering the question whether to continue to invest in this particular project So, management review of the project needs to occur at least one level above the project manager on an ongoing basis Now, a project manager works within the framework of an organization so it is unlikely that the project will succeed unless it has a full commitment from the top management Typically a performing organization may sponsor several projects and there are several factors that are not under the control of project manager but he needs to still work within that so we expect that if a project is to succeed the top management needs to give a commitment so that they give guidance to the project manager they tell them they tell him their objectives and priorities, they have approvals which are done on a timely manner, executive level contacts is easily available with project and the customers support during the conflict resolution is also provided, cooperation from the other members of the performing organization, the support group within the organization is obtained and last but not the least the top management also needs to mentor the project manager Now we ask a very simple question it is a very tall order for the project manager how does he really achieve these things?

Simple, the project manager cannot work as an individual and make a project surface it is a matter of a group work so it is necessary that a group of people need to work together to achieve a common objective This problem is very complicated because the users and the developers may also keep on changing within the… what you call the timeframe of the project So optimizing the system under these changing environments is a very crucial task that the project manager has to perform Simple rule is you need to sub-optimize the subsystems to optimize the system as a whole Now let us look at what are the key factors which influence an organization On one hand he has the staff; the staff he gets maybe experienced or inexperienced; he may have tool and techniques which maybe either ordinary tools and techniques or automatic tools and techniques, he may have to use either structured methods or work in an unstructured manner So this last aspect of working in a structured manner is the only one which is totally under the control of the manager Let us look at some results shown by one study If you look at these particular numbers it is very clear that even if the project manager was supposed to operate with very inexperienced staff and ordinary tools just by working in a disciplined manner with structured methods can almost double his productivity can almost double his productivity And of course, in case you have better quality of staff and your organization can afford to invest in better tools then an improvement as much as about 800 percent is possible So this is a very phenomenal kind of an increase, this is a very phenomenal kind of an increase Now let us look at the next particular object The software projects are mainly concerned with software process But as mentioned earlier the software process never operates in isolation Now let us look at this particular figure In an organization several activities are going on: procurement, audit, training, resource management, strategic planning, documentation control and so on The software project that you have undertaken has to fit within these organizational processes; the software project that you have must fit within this particular design So, from that point of view the first thing that we realize is that the project needs to take of holistic view of the entire situation the projects needs to take the holistic view of the entire situation and if you were to concentrate only on managing day-to-day activities of the project is bound to fail; you need to be working on your daily activities as well but make sure that you are also conscious of the organizational fit of the project The project team must realize that the project issues are integrated with the organizational issues and the organizational issues are often more difficult to tackle than the project issue Many projects fail because of such political reasons So, project managers often concentrate on the project issues because they are immediate and more sort of familiar; they more familiar with those particular issues and often tend to ignore the issues that are integrated with the organizations activity So, if you were to look at this situation then the IT professional needs to guard against getting in the technology problems while ignoring the organizational interfaces while ignoring the organizational interfaces So now we go to the next particular thing

Now if you look at the projects processes; now we will concentrate mainly on the software project related thing The project processes can be brightly classified into two groups: One is the project management process These basically describe an organized and complete the project, they are not very different from one project to another and they are described basically as umbrella activities and the knowledge areas for this particular project Whereas the product oriented processes are specific to the project A poultry management system and a refinery management system cannot be run with the same or similar processes and a very thorough knowledge of the product oriented processes is very essential for the success of the project So the product oriented processes specify and create the products for the project They vary definitely from one project to another These both process groups overlap and interact during the life of the project So, for instance, it is not possible to define the scope of a project without knowing the details of the product and similarly many other situations will prove that the product management processes and the product oriented processes must integrate and coexist within the project So this brings us to the next important particular part what is called as life cycle So now we have project life cycle and we have product life cycle So what is the project life cycle? The project life cycle model basically tells you how the project will run and the product life cycle tells you how the product will be used effectively Now please remember, for instance, a project may come to an end when the product is produced but the life cycle of the product does not seize there but the life cycle of the product continues for a very long time till the products actually retires So, for instance, a project to bring a new model of PC into the market maybe one of the projects but the product life cycle for the PC is going to be a very different kind of a model So, many times the large products are often built as a series of activity So, in short we can say that project management is a cross life cycle activity; it is performed across all phases and the concepts of life cycle module are central to all project management thinking Basically achieving control is not possible unless we are able to plan it and planning cannot be done unless we have well-defined life cycle So, better control is achieved only through defining this life cycle So, having a life cycle helps you in clarifying the objectives, planning, then performing, execution of the particular project and getting a feedback and reviewing the feedback to make sure that the project is still worthwhile Now, when we have defined the life cycle we have basically two aspects: there are projects phases and there are project activities The project is divided into series of phases Phases basically we say is something that we visit once whereas activities are something that are performed on an ongoing basis Now let us look at the phases of a software project Typically requirements, design, programming and testing are the fields What are the examples of the activities? These are the examples of activities Now look at the few things that come in For instance, requirements seem to design, programming appears on both the sides Now understand what we are doing When you are in a requirement space you are doing several activities including identifying the requirement Project management is another activity which is going on and there are several other things like making certain documentations that are going on So a phase consists of many activities, a phase consists of many activities and sometimes the dominant phase sometimes the dominant phase sorry the dominant activity in a phase

often is named as the phase Now let us take the design as activity The design activity is dominant during the design phase But in case you find some mistakes the requirement activity may have to be repeated during the design phase So on and so forth for programming, testing, and quality assurance So project management, quality assurance, estimation these things never appear as phases their activities are undertaken probably in all of these particular phases the activities which are undertaken during……. so individual activities may overlap in several phases but the phases normally do not repeat; the phases do not repeat; phases do not repeat Now, look at what are the types of software development activities that we perform can be grouped at So these grouping the way you….. it is like a mechano set you have the same basic pieces but putting them together you can make different models you can make a truck or tractor or aero plane from the same pieces By same particular logic using the similar basic minimal activities of software development it is possible to evolve several development strategies for a particular project The first one for instance is a one shot This is an ideal kind of a strategy It kind of assumes that you have a well-known application and you need to start and finish it in one If you need develop a payroll or inventory application it might possibly fall in this particular kind of activity Very rarely large projects are ever undertaken with this type of an approach The next particular approach is the phased approach here what happens is the project is too large we can conceive it together but we may not be wanting to commit all the resources at the same time in which particular case what you can do is conceive the project as a whole but execute one phase at a time; execute one phase at a time; the next particular approach can be multi shot The multi shot approach is developed that are different from the phased activity in the sense that you look at only a very narrow segment one at a time and then go to the next segment at a time not looking beyond the frame of reference that you got in mind But there are other types of strategies also Prototyping is very important strategy Prototyping in a different context can be mentioned as a sampling activity Now let us take a simple example I am interested in testing 5000 programs and somebody recommends use of a new tool and I am may not be wanting to commit all my activity using this particular tool because of no prior experience of using this tool; in such case I can always say that let us take a small exercise; let us take 50, 100 programs out of the 5000 if you got, try to test them with this particular tool, at the end of it review our experience in testing these particular programs and if our experience is happy we can proceed and apply the same thing to the entire project; we can apply the same thing to the entire project so this kind of approach is known as a prototyping approach Then we have another particular evolution and this is a difficult one to explain Usually defense projects easily fall in this particular category We are trying to look for a solution without knowing what really is the best solution in the situation so you evolve and you try it out and if you find that you are happy stay there if not try to look for the next particular phase Now, today most of these particular projects have a deadline commitment and in case if you are interested in meeting a very stiff deadline then undertaking evolutionary kind of an approach would be a difficult task but if you had enough time, money and resources at you are disposal you could undertake this particular approach Last but not the least is the concept of increment like this What is incremental design? Suppose there are several functions to be delivered by an application then you can categorize

this particular function; you can categorize this particular function in a ABC minor and say that which function will deliver the maximum benefits to the organization with minimum time, money and effort involved and like doing a ABC analysis meet the A category functionality first and then the B category so this kind of approach is very difficult to implement if you are contracting the project outside; this may work well in case the resources required for the project are being committed within the framework of the organization; within the framework of the organization Now, keeping this kind of a thing in mind let us see now what are the project management process groups that we have The first and the foremost, every project management process will have some initiating process What is the initiating process? Initiating process is all those activities which help in bringing a project formally into existence It is like getting a birth certificate for a baby that is born So all the activities that needs to be performed in terms of validating the proposal and getting the approvals and appointing a project manager and calling the meetings of the concerned people, allocating the resource kind of things etc; all these activities will have to be done during initiating process and actually end up with a big kick off to say that the project has really started the project has really started Now, once the project has physically come into existence the next most important project process is the planning process And if you have to say which is the most crucial process group in any particular project it is this the planning process to decide what work to do, when to do, how to do, who will do it, how to commit the resources so it is all these kinds of activities You must realize one thing; planning activity does not start and stop at the beginning of the project and some of it may continue throughout the early phases For instance, when you start developing a project, at the beginning of the project we may not even know what kind of programs are going to be developed, which programs and how many and so on so the question of planning to allocate the programming work does not arise and the planning usually opens as a rolling window kind of approach; the more information becomes available the more is the need for planning the immediate next particular design Once you got the once you got the plan in hand your next particular thing is to execute the project Now, obviously project execution consumes maximum resource This particular process involves implementing a plan This process involves implementing a plan So, by and large this is the biggest consumer of resources but we do not do project execution without appropriate controls; the monitoring and control, the feedback and the corrective actions is the essential part that runs, hand in hand with the execution So basically the controlling involves, again, substantial amount of re-planning Once we got that the last but not the least is your closing processes closing processes What are the closing processes? Closing processes basically bring the project formally to an end the closing processes bring them So, getting a sign off from the client, settling all the bills, filing and handing over all the project papers to the librarian, making sure that all the end of phase reports are completed, the learning experience from the projects are well documented and the process

improvement that may arise out of the project’s activity all those activities have been initiated so this really brings the projects to a close These kinds of activities are happening individually for each phase and also for the project as a whole; are happening individually for each phase and also for the project as a whole Now there is one more thing that we need to specially in today’s environment it needs to be brought out that no project can ever be done well unless the project manager is very conscious of his professional responsibility A project manager should not undertake responsibility of managing the project if he is not qualified or trained for doing so So this is only one particular aspect There are so many other issues involved in being paired in allocation of work, responsibilities, and assignments of load to people and monitoring the progress, reporting correctly, not pushing things under the carpet all kinds of things will fall under the professional responsibility So what happens is this; if you were to now look at it within each particular phase you have initiating, planning, controlling, executing, closing processes going on and these particular processes from one phase linked with similar processes with the subsequent phases So the project works in this particular manner where the processes from one phase are linked to processes activated during the subsequent phase How does the project manager achieve this particular kind of a situation? How does the project manager achieve this kind of a situation? So, to begin with, you have a software development methodology Now this methodology will define management procedures and practices that need to be followed once you have done that then the project manager will need to define the methods in the tools specific to his project; he will need to coordinate and be coordinated and guided by the management procedures and practices and provide a visible structure of the project activities to the management Last but not the least he will also have to define the automated tools within this particular job; he will have to define the automated tools within this particular job so in the end of it this is how the whole structure will look like look at the figure it says that a good software development methodology we will have will define the management procedures, the development methods and procedures and automated tools for completing this particular job Now this may all seem like a little frightening to the project manager and he may feel that he is too much tied down by the organizational procedures etc; that is not correct because one useful approach available to a project manager is to modify the methodology An organization may suggest a methodology, may have a standard template for methodology and if your project requests to deviate from this particular methodology you need to specify what methodology you are going to follow So one thing is clear that you are not going to work without a methodology but whether you follow the organizational standard methodology or you choose to adopt the methodology to meet your requirement is entirely left to your discretion So, similarly the processes can also be modified, the methodologies, the processes Thus, in case you are not able to do this particular thing then you need to take exceptions; say these are the reasons why those particular organizational dictums cannot be followed So, we have policies within the organization that is management’s desires, indents and

mandatory practices which need to be followed within the framework of the For instance, organization may have a policy not to appoint a project person as a project manager unless he is formally qualified as a project manager And in case you have a person who is appearing for that particular examination you can get a sort of work around to this particular thing by writing to the management that the person has appeared for the examination and the results are awaited Remember, deviation is not a sin but not putting the deviation in writing and where possible getting a prior approval for the deviation is definitely a sin Now this brings us to the next particular part Now, suppose you want to be trained as a project manager where do you find out what do you need to be trained at and you find that you pick two books in software engineering and their contents may or may not be same there may be topics which are covered in one book but not in the other so the same thing happens in project management So it is better to look at some standard knowledge base for a project manager In America there is a institute called project management institute which gives a certification called PMP project management professional and just like you have BE’s and B Tech’s and MBAs similarly PMPs are certified project managers and many organizations insists that a person who is taking up a job as a project manager must be a certified project manager Now, the project management institute spells out in their document called project management body of knowledge What are the different particulars, skills and knowledge knowledge skills, areas that a project manager needs to have and from that particular point of view we can say that the project management institutes PMBOK is one way of defining what kind of knowledge is required by a project manager to perform his job successfully to perform his job successfully So now let us look at this particular framework of project management Now look at the screen You begin a project with stakeholder’s expectations as your starting point and you need to complete the project successfully This is achieved by doing the project and for doing the project you need to be familiar with nine knowledge areas; four of them are the core areas four are the facilitation areas and one is the integration area The four core areas are scope management where you decide what will and will not be done by the product, time management is very obvious, the cost management Remember, the cost is not only dependent on the scope it is equally dependent on timeframe because the scheduling has a very dramatic impact on the cost Then the fourth area is of course quality management So these are the basic core functions of a project manager The four facilitating areas are the human resource management, communications management What is communications management? Here all the formal communication and of course the informal one that runs per across the project either within or outside with the client, top management, purchaser, contractor whatever is laid down is the communications management Communication management specifies how the members of the project formally communicate with each other Then the very important area is risk management because the planning often is done in a deterministic manner but things do not happen the way they are planned Very simple example is people leaving the project mid way So, one is to take care of those activities

You may have a situation where you have a strong penalty clause in defect rates after the product is delivered and you may be faced with the situation whether to test it yourself or to test this particular program from outside and last but not the least the procurement management Now, the procurement management does not necessarily restrict itself to procuring hardware and communications material for the IT project Many times software needs to be bought Drivers for devices is a very common example of things which are not made by people but what; similarly in case you are interfacing your hospital information system to the laboratory information system the interfacing device required for integrating your hospital information system with our laboratory equipment will often have to be bought from outside Now, with object orientation the components may also be bought from outside and you may have many other ways in which the procurement of software can be done to meet the final aim of the project Now these areas eight areas do not work well together unless you have a integrating function For instance, any change in scope will have an impact on time will have an impact on cost, quality; it may involve procurement, it may involve risk all kinds of things Similarly, any changes in any one of these particular areas are definitely likely to affect the other area So, one cannot make these changes without sort of having a holistic view of all the knowledge area We still cannot forget our old friend professional responsibility; all the time it is at the back of your mind that behaving in a professional manner is a prerequisite for a project manager Last but not the least, the project manager needs to be supported with appropriate tools, techniques and measurements and matrix management is the key for an organization to accumulate its experience An organization accumulates its experience in three places: in the checklist, in the matrices and in the processes So measurement plays a very important role in a project management context Now, to highlight the importance of the professional ethics that we are talking about let us look at the ethics Now you can look at this On the slide, look at the ethics code of ethics specified by the project management institute Undertake projects and accept responsibility only if qualified by training or experience or after full disclosure to the employer or the client Maintain their professional skills at the state of art level, advance the integrity and the prestige of the profession by practicing in a dignified manner, support this code and encourage colleagues and coworkers to act in accordance with this particular code, support the professional society by actively participating and encouraging the colleagues and coworkers to participate in activity, obey the large of the country in which the work is being performed and maintain a higher standard of personal and professional conduct in your personal performance, work performance, relationship with the employers, relationship with the clients and responsibility towards community So we ask the next particular question; in case you do all this what will happen? You will have a successful project basically what it will do is increase the discipline in the project, increase the productivity, have a better control over the project you will improve your estimation, you will improve the quality of the products being delivered, you will improve the communication that happens within the organization and how does it all happen is it is because of the use of appropriate methods and tools Hence, if you are in a position to well define a project life cycle, a product life cycle it is possible that you will have a better control over the project

So this in nutshell is our introduction to project management We will now undertake various topics as follows We will begin with scope management, then time, then we will take a detour and look at some software estimation techniques, then we will do quality management and look at some quality management systems, we will also look at configuration management and risk management and then thought not in as much detail we will look at the other knowledge areas like cost management, human resources management, communications management, procurement management, integration management and last but not the least the role of project manager in executing the project, thank you These are the recommended books for you in case you want to do further reading in this particular areas there is a book on software project management written by Me, published by Prentice Hall of India, it is a revised edition 2003, a book on software project management by Hughes and Cotterell from Tata McGraw Hill it is in the third edition 2002 and information technology project management by Kathy Schwabe Course technology, Thomson learning and the last known edition was in 2000, thank you very much