Question? Leave a message!




Introduction to Software Project Management

Introduction to Software Project Management 1
EdenKelly Profile Pic
EdenKelly,United States,Professional
Published Date:12-07-2017
Website URL
Comment
Introduction to Software Project Management CITS3220 Software Requirements & Project Management   "A project gets a year late one day at a time."   "Anything that can be changed will be changed until there is no time left to change anything."   "Furious activity does not necessarily equate to progress and is no substitute for understanding."   "People under pressure do not think faster."   "The nice thing about not planning is that failure comes as a complete surprise rather than being preceded by a period of worry and depression."   "Any project can be estimated accurately (once it's completed)." http://en.wikiquote.org/wiki/Project_management Lecture Overview   Issues  how should we manage the process which produces a software product?  does improving the process improve the product?   Definitions  process, phases and tasks, activities   Techniques  a selection of software life cycle models   Recommended Reading http://en.wikipedia.org/wiki/ Software_development_process Project Management   is the discipline of defining and achieving targets while optimizing the use of resources (time, money, people, materials, energy, space, etc) over the course of a project (a set of activities of finite duration). Project Management Activities 1.  Planning the work 2.  Estimating resources 3.  Organizing the work 4.  Acquiring human and material resources 5.  Assigning tasks 6.  Directing activities 7.  Controlling project execution 8.  Reporting progress 9.  Analysing the results based on the facts achieved The 5 Variables of Project Control 1.  Time 2.  Cost 3.  Quality 4.  Scope 5.  Risk Project control variables (1)   time - amount of time required to complete the project.   Typically broken down for analytical purposes into the time required to complete the components of the project, which is then further broken down into the time required to complete each task contributing to the completion of each component.   cost - calculated from the time variable.   Cost to develop an internal project is time multiplied by the cost of the team members involved. When hiring an independent consultant for a project, cost will typically be determined by the consultant or firm's hourly rate multiplied by an estimated time to complete. Project control variables (2)   quality - The amount of time put into individual tasks determines the overall quality of the project. Some tasks may require a given amount of time to complete adequately, but given more time could be completed exceptionally. Over the course of a large project, quality can have a significant impact on time and cost (or vice versa).   scope - Requirements specified for the end result. The overall definition of what the project is supposed to accomplish, and a specific description of what the end result should be or accomplish.   risk - Potential points of failure. Most risks or potential failures can be overcome or resolved, given enough time and resources. Phases or Tasks   A project can be broken down into phases, or tasks to be done.   Each phase is defined by its  entry criteria,  exit criteria,  resources,  deliverables and  reports. 8 Phases of the SW Lifecycle Boehm Software Engineering Economics   Plans & Requirements   Product Design   Detailed Design   Code and Unit Test   Integration and Test   Implementation   Operations and Maintenance   PhaseOut Activities   Requirements Analysis   Product Design   Programming   Test Planning   Verification & Validation   Project Office functions   Configuration management and quality assurance   Manuals What’s the difference between activities and phases ?  Activity: a set of tasks performed towards a specific purpose B&D,p707  Phase: A set of tasks performed over time; defined by its start and end points   The same activity may occur in different phases of a software life cycle SW Lifecycle Models Some Examples   Waterfall model   Boehm’s Risk Spiral model   Prototyping Paradigm   Evolutionary (Incremental) Development   Extreme Programming   Agile Programming   Synchronize-and-stabilize Waterfall Model Issues   To be effective there must be a review step at each phase (shown as ovals) to check for completion.   In theory we should not proceed down the waterfall until the phase is "complete".   Problem: real projects don’t work this way – “change is the only constant” Boehm’s Spiral Model   Essence: process contains several cycles, starting from the centre; at each iteration the tasks involve more detailed knowledge and design tasks.   Focus on addressing risks incrementally, in order of priority   Distance from origin represents cost accumulated by the project   Angle from the horizontal represents the type of activity (e.g. risk, risk analysis, testing) Spiral Model: Key Assumptions   Assume sufficient flexibility to adapt and change after each analysis spiral   Sensitive to having a thorough risk assessment at each cycle.   Requires confidence in the project managers to carry it off, and to maintain the confidence of both the development team and the client A Requirements Capture Dilemma   Where does these leave both the customer and the developer? They both think they know what is required but either do not know how to do it or cannot be sure of what is really required.   This might be described as the software engineer's dilemma