Software Project Management ICS4MO- Computer Studies
What is a Project A project is a temporary endeavor undertaken to create a unique product, service, or result. • Temporary means that every project has a definite beginning and a definite end • The end is reached when the project’s objectives have been achieved, or it becomes clear that the project objectives will not or cannot be met, or the need for the project no longer exists and the project is terminated. • Unique Products, Services, or Results • A project creates unique deliverables, which are products, services, or results.
Project Vs Operation Work • Projects and operations differ primarily in that operations are ongoing and repetitive, while projects are temporary and unique. • They share many of the following characteristics: • Performed by people • Constrained by limited resources • Planned, executed, and controlled.
What is Project Management? • Project management is the application of knowledge, skills, tools and techniques to project activities to meet project requirements.
Who is the Project Manager? • A project manager is a professional in the field of project management. • The project manager is the person responsible for accomplishing the project objectives. • Project managers have the responsibility of the planning, execution, and closing of any project, typically relating to construction industry, engineering, architecture, computing, and telecommunications. Many other fields in the production engineering and design engineering and heavy industrial have project managers.
How to become a Project Manager • May have several number of work related experience • By acquiring Project Management Certifications from PMI- Project Management Institute-World leading Associate for Project Management Professions • Certifications • Certified Associate in Project Management (CAPM) –Avaluable entry-level certification for project practitioners You need to have : A secondary diploma (high school or the global equivalent)AND At least 1,500 hours experience OR 23 hours of project management education by the time you sit for the exam(three hours exam- Pmbok based) • Project Management Professional(PMP)-The most important industry-recognized certification for project managers You need to have : A four years bachelor degree with 4500 hours of project related experience or A secondary diploma with 7,500 hours of leading and directing projects and 35 hours of project management education.
The Triple Constraint • Project managers often talk of a “triple constraint”—project scope, time and cost—in managing competing project requirements. • Project quality is affected by balancing these three factors • High quality projects deliver the required product, service or result within scope, on time, and within budget. • The relationship among these factors is such that if any one of the three factors changes, at least one other factor is likely to be affected.
Why Do You Need Project Management for the Projects • A disciplined project management process is important to any project. • The Project managers are expected to deliver results, on time (if not sooner) and on budget. • Solid project planning reduces the risks associated with any project you take on.
Top Reasons for Project Management • To Control Scope Creep and Manage Change • To Deliver Project Results On Time and On Budget • To Focus the Project Team on the Solution • To Communicate Project Progress, Risks, and Changes • To Document, Transfer, and Apply Lessons Learned from Your Projects
Managing Software Projects • As software projects get more complex, there is increased need to use software development process in a formal way • In preparation of Lotto 649 assignment , we will be using the Software Development Process in a Project based setting to learn some of the Project Management tools
The Project Plan for Software Development • When planning software projects, project managers go through a series of steps to create a project plan that will help them to over see the project from beginning to end • Project plan take into account a large number of factors which include: • Customer requirements (product features and performance, schedule, price); • Human resources - The number of people such as programmers, testers, managers and others required for the project, their availability and how much time they will need to spend on the project; • Tools requirements such as an Integrated Development Environment (IDE) or a software development kit (SDK), testing software and other application software. • Equipment requirements such as computers, servers or other specialized equipment; • Project costs such as travel requirements and support from other support groups such as testing groups, IT groups, etc.; • Project stages (e.g. Software Development Process) and time allocation for each given all of the requirements; • Progress tracking and reporting such as meeting time for the team to go over the status of the project, and to report to company superiors and customers; • Testing time, including customer alpha and beta testing; ...and much more. In this class, We are going to focus on items 1. 2. and 6.
Lotto 649 Project • Formation of Teams :2-3 people in a group • Gather Customer Requirements • Define the Scope of the Project • The Software Development Process • Work Break Down Structure • Creation of a Project plan with help of Gantt Charts in Ms Project • Creation of a Project Reporting Chart in Ms Project • Initiation Phase-Analysis • Planning Phase –Design Architecture • Execution Phase- Implementation • Monitoring and Control-Integration Testing • Close out-Deployment and Maintenance
Required Project Documentation for LOTTO 649 project • Scope Definition i.e. What does the project do and amount of work required? • Project Plan Gantt Chart • Project Reporting Gantt Chart • Work Break Down Structure –WBS • Analysis - The problem definition of each class, purpose of the class and the task it will perform • System Design-Design of the system , System class diagram using UML notation, flowchart of each major method, List of use cases • Implementation- The tested use cases • Testing-A short report that describes the testing was done and explains why the test is complete • Deployment and Maintenance-Lessons learned • User Manual- Customer Documentation
Gathering Customer Requirements for Lotto 649 Project • In your project teams, Please read the project proposal and brainstorm the user requirements for the application: Tip: What are some of the features of the application and how much time and resources it will consume? Reminder: Create a project scope statement after the brainstorming session. • A project scope statement is “States what work is to be accomplished and what deliverables need to be produced”
The Work Break Down Structure-WBS The WBS is a subdividing the major project deliverables and project work into smaller, more manageable components
Initiation Phase Analysis • Problem Definition Paragraphs for each class Purpose of each class and the tasks it will perform
Planning Phase Design Architecture • Class UML Diagram • Pseudocode of Lotto Class • Pseudocode of UI Class • Develop Use cases and testing plan
Executing Phase Implementation • Implementation of Lotto class • Implementation of UI class • Testing Use cases • Internal Documentation
Monitoring and Control Phase • Testing of two classes together • Testing Report • Update in Project Management Plan
Close out Phase • Documentation to customer (user manual) • Submission of Project to the Customer • Creation of lesson learned report
Project Closed • Updates in Project Management Plan • Completion of the project reports