Software Engineering Project Management Presented by James
26 Slides113.50 KB
Software Engineering Project Management Presented by James Roberts EEL6883 Spring ‘07
Definitions Management – The activities and tasks undertaken by one or more persons for the purpose of planning and controlling the activities of other in order to achieve objectives that could not be achieved by the others acting alone
Definitions Project Management – A system of management procedures, practices, technologies, skills, and experience necessary to successfully manage an engineering project Software Engineering Project Management – Project management where the product is software
Universality of Management What does the Universality of Management mean? – Management performs the same functions regardless of organizational position or enterprise – Management functions are characteristic duties of all managers – Management practices, methods, activities and tasks are specific to the enterprise
Project vs. Aquisition Two types of software projects – – Development projects Acquisition projects Two types of software project managers – Project managers – Acquisition managers
More Definitions Software Development – The process of developing or modifying a software-intensive system to meet the acquirer’s contractual requirements – The process of developing this system to deliver on time and within budget Software Acquisition – The process of contractually obtaining, from a supplier, a software-intensive system for use by another groups or organization
Issues with Software Engineering 70% of software organization have no defined methods Process are defined during the development Software ends up – Late – Over budget – Fails to meet requirements
“today’s major problems with software development are not technical problems, but management problems”
Management Functions & Activities Functions of management – – – – – Planning Organizing Staffing Directing (leading) Controlling
Planning Activities Set objectives and goals Develop strategies Develop policies Forecast future situations Conduct a risk assessment Determine possible courses of action Make planning decisions Set procedures and rules Develop project plans Prepare budgets Document project plans
Organizing Activities Identify and group project function, activities, and tasks Select organizational structures Create organizational positions Define responsibilities and authority Establish position qualifications Document organizational decisions
Organizational Structure Conventional organization structure – Line organization – Staff organization Project organization structure – Functional – Project – Matrix Team Structure – – – Egoless Chief programmer Hierarchical
Organizing Activities Identify and group project function, activities, and tasks Select organizational structures Create organizational positions Define responsibilities and authority Establish position qualifications Document organizational decisions
Establish Position Qualifications Project managers Software system engineers Scientific/engineering programmers, programmer-analysts Verification and validation engineer Software quality assurance engineer
Organizing Activities Identify and group project function, activities, and tasks Select organizational structures Create organizational positions Define responsibilities and authority Establish position qualifications Document organizational decisions
Issues In Staffing Lack of project management training Greatly varying skills Inability to predict productivity of engineers Lack of experience Turnover Not enough software engineers – Most graduates are theoretical – Or just coders
Staffing Activities Fill organizational positions Assimilate newly assigned personnel Educate or train personnel Provide for general development Evaluate and appraise personnel Compensate Terminate assignments Document staffing decisions
Filling Positions Must look for – – – – – – – – Education Experience Training Motivation Commitment Self-motivation Group affinity Intelligence
Staffing Activities Fill organizational positions Assimilate newly assigned personnel Educate or train personnel Provide for general development Evaluate and appraise personnel Compensate Terminate assignments Document staffing decisions
Directing Activities Provide leadership Supervise personnel Delegate authority Motivate personnel Build teams Coordinate activities Facilitate communication Resolve conflicts Manage changes Document directing decisions
Providing Leadership Positional Power – Power derived from having a leadership position – Not always effective Personal Power – Charisma or personal charm – Sometimes more effective than positional power
Directing Activities Provide leadership Supervise personnel Delegate authority Motivate personnel Build teams Coordinate activities Facilitate communication Resolve conflicts Manage changes Document directing decisions
Job Motivations Job Attractors Job Dissatisfiers Salary Company mismanagement Chance to advance Poor work environment Work environment Little feeling of accomplishment Location Poor recognition Benefits Inadequate salary Facilities/equipment Little chance to advance Job satisfaction Poor facilities/equipment Company management Poor benefits Job responsibility Poor career path definition
Directing Activities Provide leadership Supervise personnel Delegate authority Motivate personnel Build teams Coordinate activities Facilitate communication Resolve conflicts Manage changes Document directing decisions
Controlling Activities Develop standards of performance Establish monitoring and reporting systems Measure and analyze results Initiate corrective actions Reward and discipline Document controlling methods
Thank You!