Mumtaz Ali Rajput mumtaz.ali@superior.edu.pk +92 – 301- 4949 409 SOFTWARE PROJECTMANAGMENT– WEEK 3 Mumtaz Ali Rajput mumtaz.ali@superior.edu.pk +92 – 301- 4949 409
Software & Project Management
Software Project Management Final Words “Organizations that attempt to put software Engineering Discipline in place before putting project management discipline in place are domed to fail” SEI Software Project Management
Software & Project management Primary causes of software escape Project Objectives not fully specified Bad planning and estimating Technology new to the organization Inadequate/No project management methodology Insufficient senior staff on the team Software Project Management
Issues in Managing Projects Big team, so communication problem Managing the size of projects Managing time and cost. Change of requirements. Software Project Management
Software Project Management What is a Project Definitions put a clear emphasis on the project’s being a planned activity. Another key aspect of a project is that the undertaking is non-routine: a job which is repeated a number of times is not a project. Project is a sequence of unique, complex,and connected activities having one goal or purpose and must be completed within time,budget and as per specs Software Project Management
Software Project Management A project is a sequence of tasks with a beginning and an end that is bound by time, resources, and desired results A project has A specific desired outcome A deadline or target date And a budget A project is a temporary venture undertaken to create a unique product or services Software Project Management
Project Characteristics Triple Constraint: Every project is constrained in different ways by its scope, time goals, and cost goals Scope: What is to be accomplished? What unique product or service expected Time: How long should it take to complete and what is schedule? Cost: What should it cost Software Project Management
Project Characteristics Key characteristics that distinguish projects: Non-routine tasks are involved Planning is required Specific objectives to be met or a specified product be created has a predetermined time span (absolute or relative) Work is carried out for someone other than yourself Work involves several specialists Work is carried out in several phases Resources availability are constrained The project is large or complex Involves uncertainty Software Project Management
Software Project Management The group of individuals who make decisions about how a business is run. A stream of decision and actions to achieve goal's efficiently and effectively. “Management is the process of designing and maintaining an environment in which individuals, working together in groups, efficiently [and effectively] accomplish selected aims” Software Project Management
Management Activities Management involves the following activities: Planning Deciding what is to be done Organizing Making arrangements Staffing Selecting the right people for the job. Directing Giving instructions Monitoring Checking on progress Controlling Taking action to remedy hold-ups Innovating Coming up with new solutions Representing Liaising with users etc. Software Project Management
Management Challenges Looking at the management through the challenges faced by the managers. Coping with deadlines Coping with resource constraints Communicating effectively among task groups Gaining commitment from team members Establishing measurable milestones Coping with changes Working out project plan agreement with their team Dealing with conflict Software Project Management
Outcomes of Project Management As a result of successful implementation of the process: The scope of the work for the project will be defined. The feasibility of achieving the goals of the project with available resources and constraints will be evaluated. The tasks and resources necessary to complete the work will be sized and estimated. Plans for execution of the project will be developed and implemented. Progress of the project will be monitored and reported. Actions to correct deviations from the plan and to prevent. recurrence of problems identified in the project, will be taken when project targets are not achieved. Software Project Management
The Product and Activities of a Project are Unique A product or service may be unique even if the category it belongs to is large. Many thousands of office buildings have been developed, but each individual facility is unique — different owner, different design, different location, different contractors, and so on. Project never happened before and will not happen again under same conditions. Because the product of each project is unique, the characteristics that distinguish the product or service must be progressively elaborated. Progressively means “proceeding in steps; continuing steadily by increments” Elaborated means “worked out with care and detail; developed thoroughly” Software Project Management
Projects and Operations Distinguish between projects and operations Operations are ongoing and repetitive Projects are temporary and unique Projects are usually performed by teams Clearly defined team and individual roles Open and effective communications Visible rewards for good performance, pressure to Improve poor performance Projects Software Project Management
Operations and Projects Operations and projects share many characteristics: Performed by people. Constrained by limited resources. Planned, executed, and controlled. Operations may include activities such as: Financial management and control Continuous manufacturing Product distribution Projects may include activities such as: Developing a new product or service. Affecting a change in structure, staffing, or style of an organization. Developing or acquiring a new or modified information system. Software Project Management
Six Shared Features of All Projects A project has a defined beginning and end. Getting from the beginning to the end of project typically involves a definable sequence of steps or activities Project use resources that have been specifically allocated to the work of the project Resources are the time, people, money, equipment, and facilities used to complete a project Every project produces a unique outcome. Projects (hopefully) follow a planned, organized approach to met their objectives A project usually involves a team of people to get it done Project always have a unique set of stakeholders. Stakeholders almost always bring different expectations about end results to the Project. Software Project Management
Project Management and Software Development Software development shows many characteristics that make it suitable for management as projects Many software products are unique Software development commonly involves deadlines for time and resources The characteristics of software are well suited to progressive elaboration Project Management techniques are commonly seen as best practice for software development Software Project Management
9 Project Management Knowledge Areas Knowledge areas describe the key competencies that project managers must develop 4 core knowledge areas lead to specific project objectives (scope, time, cost, and quality) 4 facilitating knowledge areas are the means through which the project objectives are achieved (human resources, communication, risk, and procurement management) 1 knowledge area (project integration management) affects and is affected by all of the other knowledge areas Concept. Software Project Management
Project Management Framework Software Project Management
Software Project Management
Conventional Software Management Performance Finding and fixing a software problem after delivery costs 100 times more than in early design phases. You can compress software development schedules 25% of nominal, but no more. For every $1 you spend on development, you will spend $2 on maintenance. Software development and maintenance costs are primarily a function of the number of source line of code. The overall ratio of software to hardware costs is still growing. In 1955 it was 15:85; in 1985, 85:15. Only about 15% of software development effort is devoted to programming. Walkthroughs catch 60% of the errors. Software Project Management
Conventional Software Management Performance 80% of the contribution comes from 20% of the contributors 80% of the engineering is consumed by 20% of the requirements. 80% of the software cost is consumed by 20% of the components. 80% of the errors are caused by 20% of the components. 80% of software scrap and rework is caused by 20% of the errors. 80% of the resources are consumed by 20% of the components. 80% of the engineering is accomplished by 20% of the tools. 80% of the progress is made by 20% of the people. Software Project Management
Steps in Managing Projects Understanding the 4 P’s People: the most important element of a successful project. Product: the software to be built. Process: The set of framework activities and software engineering tasks to get the job done. Project: all work required making the product a reality. Software Project Management
Software Project Management 4 P’s People: The only rule I have in management is to ensure I have good people--real good people and that I grow good people and that provide an environment in which good people can produce. Software Project Management
Software Project Management People: Senior Manager: Define business issues and make interface between business and professional Project Manager: Who must Plan, motivate, organize and control team who do software work Developers: Who deliver the technical skills that are necessary to engineer a product? Customers: Who specify the requirement for software to be engineered? Have interest in the outcome End-users: Who interact with software once it is released for production use? Team leader: One who leads the team Software Project Management
Software Project Management Model of Leadership Motivation Ideas or innovation Problem Solving Managerial identity Achievement Influence or Team Building Software Project Management
Software Project Management Software Team A Software Project team is structured for solving particular task. What are factors while planning while structuring a team? What are options to apply human resource to a project? How to achieve a high-performance team? Mantei’s three generic teams Democratic Decentralized - DD Controlled Decentralized - CD Controlled Centralized - CC Software Project Management
Software Project Management “Unfortunately and all too frequently it seems, individuals just fall into a project manager role and became accidental Project managers” Software Project Management
Coordination and Communication Issues The characteristics of modern software – scale, uncertainty and interoperability- are facts of life. To deal with them effectively, a software engineering team must establish effective methods for coordinating the people who do the work. To accomplish this, mechanisms for formal and informal communication among team members and between multiple teams must be established. Formal communication is accomplished through writing, structured meetings and other relatively non-interactive and impersonal communication channels. Software Project Management
Coordination and Communication Issues Informal communication is more personal. Members of a software team share ideas on an ad hoc basis, ask for help as problem as problem arises, and interact with one another on a daily basis. Kraul and Streeter examine a collection of project coordination techniques that are categorized in the following manner. Formal, impersonal Approaches Formal, Interpersonal Procedures Informal Interpersonal Procedures Electronic Communication Interpersonal Networking Software Project Management
Software Project Management Formal, impersonal Approaches: include software engineering documents an d deliverables-including source code, technical memos, project milestones, schedules, and project control tools, change requests and related documentation, error tracking reports and repository data. Formal, Interpersonal Procedures: focus on quality assurance activities applied to software engineering work products. These include status review meetings an d design and code inspections. Informal Interpersonal Procedures: include group meetings for information dissemination and problem solving and “collection of requirements and development staff”. Electronic Communication: encompasses email, electronic bulletin boards, and by extension , video based conferencing systems. Interpersonal Networking: includes informal discussions with team members and those outside the project who may have experience or insight that can assist team members. Software Project Management
Software Project Management Product The product is the final s/w that is developed after a detailed analysis. Software scope and Problem should be examined. Scope is the boundary to which you have to go while developing software. Problem should be decomposed for full functionality achievement. Software Project Management
Software Project Management Process Strategies for the development of software. Software Project Management
Software Project Management Projects Managing a successful project, we should think what could go wrong? Size Requirements are not clear. Delivery deadline are unrealistic The project team lack skilled people Manager avoid best practice and lesson learned Budgets and costs Application domain Scope is not defined well Chosen Technology changes Business needs changes System Constraints User requirements Available resources. Changes of requirements Software Project Management
Project Management Concerns Product quality? Risk assessment? Measurement? Cost estimation? Project scheduling? Customer Communication? Staffing? Decision making? Other resources? Project monitoring? Software Project Management
Software Project Management Why projects fail An unrealistic deadline is established Changing customer requirements An honest underestimate of effort Predictable and /or unpredictable risks Technical difficulties Miscommunication among project staff Failure in project management Software Project Management
Software Project Management Key points 11/18/2018 Good project management is essential for project success. The intangible nature of software causes problems for management. Managers have diverse roles but their most significant activities are planning, estimating and scheduling. Planning and estimating are iterative processes which continue throughout the course of a project. A project milestone is a predictable state where a formal report of progress is presented to management. Project scheduling involves preparing various graphical representations showing project activities, their durations and staffing. Risk management is concerned with identifying risks which may affect the project and planning to ensure that these risks do not develop into major threats. Software Project Management