Software Project Planning - Building Better Software

Transcription

Applied Software Project ManagementApplied Software ProjectManagementSoftware Project Planninghttp://www.stellman-greene.com1Andrew Stellman & Jennifer Greene

Applied Software Project ManagementWho needs software?Most software is built in organizations forpeople with specific needs. A stakeholder is a anyone who has an interest (orstake) in the software being completed A user is someone who will need to use thesoftware to perform tasks. Sometimes stakeholders will be users; but oftenthe stakeholder will not use the software. For example, a senior manager (like a CEO or CTO in acompany) will usually have a stake in the software that isbuilt (since it affects the bottom line), even if she won’tever use it.http://www.stellman-greene.com2Andrew Stellman & Jennifer Greene

Applied Software Project ManagementWho builds software?Software is typically built by a team ofsoftware engineers, which includes: Business analysts or requirements analysts whotalk to users and stakeholders, plan the behaviorof software and write software requirements Designers and architects who plan the technicalsolution Programmers who write the code Testers who verify that the software meets itsrequirements and behaves as expectedhttp://www.stellman-greene.com3Andrew Stellman & Jennifer Greene

Applied Software Project ManagementProject ManagementThe project manager plans and guides thesoftware project The project manager is responsible for identifyingthe users and stakeholders and determining theirneeds The project manager coordinates the team,ensuring that each task has an appropriatesoftware engineer assigned and that eachengineer has sufficient knowledge to perform it To do this well, the project manager must befamiliar with every aspect of software engineeringhttp://www.stellman-greene.com4Andrew Stellman & Jennifer Greene

Applied Software Project ManagementIdentifying NeedsThe project manager drives the scopeof the project. The project manager should identify andtalk to the main stakeholder The effective way to show stakeholdersthat their needs are understood and thatthose specific needs will be addressed iswith a vision and scope documenthttp://www.stellman-greene.com5Andrew Stellman & Jennifer Greene

Applied Software Project ManagementVision and Scope DocumentA typical vision and scope document follows anoutline like this one:1. Problem Statementa)b)c)d)e)Project backgroundStakeholdersUsersRisksAssumptions2. Vision of the Solutiona)b)c)d)Vision statementList of featuresScope of phased release (optional)Features that will not be developedhttp://www.stellman-greene.com6Andrew Stellman & Jennifer Greene

Applied Software Project ManagementProject PlanThe project plan defines the work that will be done onthe project and who will do it. It consists of: A statement of work (SOW) that describes all work productsthat will be produced and a list of people who will performthat work A resource list that contains a list of all resources that will beneeded for the product and their availability A work breakdown structure and a set of estimates A project schedule A risk plan that identifies any risks that might be encounteredand indicates how those risks would be handled should theyoccurhttp://www.stellman-greene.com7Andrew Stellman & Jennifer Greene

Applied Software Project ManagementStatement of WorkThe statement of work (SOW) is a detaileddescription of all of the work products whichwill be created over the course of the project.It includes: A list of features that will be developed A description of each intermediate deliverable orwork product that will be built. The estimated effort involved for each workproduct to be deliveredhttp://www.stellman-greene.com8Andrew Stellman & Jennifer Greene

Applied Software Project ManagementResource ListThe project plan should contain a list of allresources that will be used on the project. A resource is a person, hardware, room oranything else that is necessary for the project butlimited in its availability The resource list should give each resource aname, a brief one-line description, and list theavailability and cost (if applicable) of the resourcehttp://www.stellman-greene.com9Andrew Stellman & Jennifer Greene

Applied Software Project ManagementEstimates and Project ScheduleThe project plan should also include estimates and aproject schedule: A work breakdown structure (WBS) is defined. This is a listof tasks which, if performed, will generate all of the workproducts needed to build the software. An estimate of the effort required for each task in the WBS isgenerated. A project schedule is created by assigning resources anddetermining the calendar time required for each task.Estimates and project schedules will be discussed indetail in later slides.http://www.stellman-greene.com10Andrew Stellman & Jennifer Greene

Applied Software Project ManagementRisk PlanA risk plan is a list of all risks that threaten theproject, along with a plan to mitigate some orall of those risks. The project manager selects team members toparticipate in a risk planning session: The team members brainstorm potential risks The probability and impact of each risk is estimated A risk plan is constructedhttp://www.stellman-greene.com11Andrew Stellman & Jennifer Greene

Applied Software Project ManagementRisk Plan Examplehttp://www.stellman-greene.com12Andrew Stellman & Jennifer Greene

Applied Software Project Management Andrew Stellman & Jennifer Greene Risk Plan A risk plan is a list of all risks that threaten the project, along with a plan to mitigate some or all of those risks. The project manager selects team members to participate in a risk planning session: The team members brainstorm potential risks