70 likes | 235 Views
Software Project Planning. Should Know the project “Justification” – why are we doing this project? --- (helps in setting goals) Improve Productivity Increase Market Share Reduce Expense Improve Competitiveness . . “keep up with the Jones” ( CEOs are prone to this )
E N D
Software Project Planning • Should Know the project “Justification” – why are we doing this project? --- (helps in setting goals) • Improve Productivity • Increase Market Share • Reduce Expense • Improve Competitiveness • . • . • “keep up with the Jones” (CEOs are prone to this ) • Pass a course - - Ace a course - - “Business” Requirements What do you think your assignment’s justification is, besides for passing course?
Project Planning often unclear & incomplete • Set of Activities directed towards Developing a Plan (document): • Understanding &Analyzing the project justification and requirements • Set up project goals and measurements (based on above) • Estimating the project size, effort, cost, risk, etc. • Developing a project schedule • Plan Content – 5 Major Sections (somewhat in this order) • project deliverables • deliverable characteristics • schedules and checkpoints • cost: • people resources, • tools, • processes, • methods, etc. • risks What does this mean ? Does it tie back to “justification?” and “goals”
Quick Plan • What is the Project? • Brief Project Description • BriefProduct Description with “Major Deliverables” • How much does it cost? • Rough Cost Estimate: people, tools, etc. • ** Note: Rough size and productivity estimate is needed for Cost Estimate • Are you experienced enough to “guess” the size? • Do you know the productivity of your team members? • When will the different tasks be performed for the deliverables? • High Level Schedule of “macro” tasks 4. Major risks ? (may be optional at this point) Note that detail of project/product characteristicis not always included in a Quick Plan ---- this may need more analysis --- goals may not be clearly established, yet
Some Product Deliverable & Project Characteristics (or Attributes) • Product Oriented: • Quality Level of the deliverables • Functional Completeness attribute of the deliverables • Size of the deliverables • Customer “Acceptance” or Satisfaction level of the deliverables. • Market “Dominance” by the deliverables • “Ease of Use” Level of the deliverables • Project Oriented: • Productivity level of the project team • Risk level of the project • Efficiency/Effectiveness level of the project team
More “Comprehensive” Plan • What is the project? • Product/Project (List / Description of all Deliverables) • Product/Project (Attributes, Goals and Measurements) • How do you plan to accomplish the project? (demanded by some) • Process and Methods • When will it be done by Whom? • Detailed Schedule • task sequencing • resource allocation • How much will it cost? • resources by type of and levels of skill • tools, equipment, consultants • travel, training, awards, etc. • What problems may we encounter? • Risks and mitigations “similar as before except more details” How detailed should this be ----who is paying for all this work ?
Software Project Plan WillChange -- because • Functional & Non-Functional Requirements are Modified • Number of Requirements will Increase/Decrease • Technology Change and Improvement (getting faster) • Methodology and Process Changes and Improvements • Heightened Awareness in certain characteristics • security • reliability • performance • reuse • defects & quality • “looks” • Corrections to Misunderstandings • Schedule, Financial, Resource, Tool, etc. change (wild swings) • gaining “more and improved” knowledge about the project will drive changes
What & How Much Would You • Include in your Software Project Plan? • Minimal set ? • Maximum set?