Software Project What is happening in the project? Lecture Objectives To discuss the various aspects of project management To understand the tasks in software project management To describe the project titles in the course To describe the requirements of a project plan TCS2411 Software Engineering 1 TCS2411 Software Engineering 2 Project Definition: A group of tasks performed in a definable time period in order to meet a specific set of objectives Project Features: likely to be unique (one-time program) have specific start and end time (life cycle) have work scope that can be categorised into definable tasks has a budget, require use of resources What is involved 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 to make the product a reality TCS2411 Software Engineering 3 TCS2411 Software Engineering 4 A Simple Project Going to the movies with friends The planning, organizing, staffing, directing and controlling of a company s resources to meet the company s objectives TCS2411 Software Engineering 5 TCS2411 Software Engineering 6 1
Definition of Project Primary Objectives of The planning, organizing, directing, and controlling of resources for a specific time period to meet a specific set of one-time objectives To meet specified performance... within cost... and on schedule TCS2411 Software Engineering 7 TCS2411 Software Engineering 8 Activities Activities (Continued) Establish project objectives Defining work requirement Determining work timing Establishing resource availability and requirements Establishing a cost baseline Evaluating and optimising the baseline plan TCS2411 Software Engineering 9 Freezing the baseline plan Tracking the actual costs Comparing the progress and cost to the baseline plan Evaluating performance Forecasting, analysing and recommending corrective action TCS2411 Software Engineering 10 Benefits of Project Identification of function responsibilities to ensure that all activities are accounted for, regardless of personnel turnover Minimizing the need for continuous reporting Identification of time limits for scheduling Identification of a methodology for tradeoff analysis Benefits of Project (Continued) Measurement of accomplishment against plans Early identification of problems Improved estimating capabilities for future planning Knowing when objectives cannot be met or will be exceeded TCS2411 Software Engineering 11 TCS2411 Software Engineering 12 2
Software Projects Concerns Factors that influence the end result... Factors that influence the end result... size delivery deadline budgets and costs application domain technology to be implemented system constraints user requirements available resources product quality? risk assessment? measurement? cost estimation? project scheduling? customer communication? staffing? other resources? project monitoring? TCS2411 Software Engineering 13 TCS2411 Software Engineering 14 Problems Resources inadequate Meeting ( unrealistic ) deadlines Unclear goals/direction Team members uncommitted Insufficient planning Breakdowns in communications Changes in goals and resources Conflicts between departments or functions TCS2411 Software Engineering 15 Money Manpower Equipment Facilities Resources of A Company Materials Information/technology TCS2411 Software Engineering 16 Obstacles in Project Skills Project complexity Customer s special requirement Organizational restructuring Project risks Changes in technology Forward planning and pricing Communication Skills Organizational Skills Team Building Skills Leadership Skills Coping Skills Technological Skills TCS2411 Software Engineering 17 TCS2411 Software Engineering 18 3
Project Titles Project Plan Select one of the following project titles: What are you going to do in the project? TCS2411 Software Engineering 19 TCS2411 Software Engineering 20 Project Plan Elements Project Objective & Scope Schedule Team Organization Project Standards and Procedures Documentation Plan Quality Assurance Plan Resource Plan Configuration Plan Organizational Paradigms closed paradigm structures a team along a traditional hierarchy of authority. Hierarchical Organization TCS2411 Software Engineering 21 TCS2411 Software Engineering 22 Organizational Paradigms continue random paradigm structures a team loosely and depends on individual initiative of the team members Democratic Organization Other organizational structure open paradigm attempts to structure a team in a manner that achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm synchronous paradigm relies on the natural compartment-alization of a problem and organizes team members to work on pieces of the problem with little active communication among themselves TCS2411 Software Engineering 23 TCS2411 Software Engineering 24 4
Team Leader Communications with Lecturer Coordination of Project Activities Final say in decisions if the team is unable to reach a decision Programming Leader Responsible for programming activities Coordination of software development tasks Knowledge of programming language and tools TCS2411 Software Engineering 25 TCS2411 Software Engineering 26 Quality Manager Responsible for quality in project work Coordination of testing and review activities Ensure that quality standards are adhered e.g. version control and document formats Document Manager Responsible for documentation activities Coordination of document preparation tasks Keeps master copy of all project documents TCS2411 Software Engineering 27 TCS2411 Software Engineering 28 Resource Manager Responsible for project resources Treasurer - manages the costs of the project Ensures that resources are obtained for project tasks e.g. computer resources Project Standards Example All documents must have a version number All documents must be prepared using MS Word All meetings must have minutes Project file name extensions, suffixes, prefixes TCS2411 Software Engineering 29 TCS2411 Software Engineering 30 5
Software Configuration Computer programs Source code Executable code Documents that describe the computer programs For technical staff For users Data Within the program and external to it TCS2411 Software Engineering 31 Software Configuration Item A document or an artifact that is explicitly placed under configuration control and that can be regarded as a basic unit for modification Examples: requirement documents design document code of a module test plan TCS2411 Software Engineering 32 References END TCS2411 Software Engineering 33 6