Chapter 6. Development and Quality Plans. Development plan and quality plan objectives The elements of the development plan Elements of the quality plan Development and quality plans for small and for internal projects Software development risks and software risk management .
Development and Quality Plans
Planning is meant to prepare adequate foundations for successful and timely completion of the project. The planning process includes:
1. Scheduling development activities and estimating the required manpower resources and budget
2. Recruiting team members and allocating development resources
3. Resolving development risks
4. Implementing required SQA activities
5. Providing management with data needed for project control
Each of the following 10 components of a development plan are appropriate to different parts of a project.
1. Project Products, specifying “deliverables”
Must decide on deliverables!
dates and items
installation site – local or physical install
training – customer service
dates, participants, and sites
(much is done on line now…)
2. Project Interfaces
3. Project methodology and development tools for various phases during development, maintenance.
Must be conventions!! Standards and Integration!!
5. Laying out the Development Process
Define the project’s phases
Planning: inputs/outputs/activities/activity duration/sequence and dependencies/resources needed for each activity/ design reviews/ testing/ training for customer support/ more…
GANTTT Charts / CPM , PERT all include sequence dependencies and duration.
Microsoft Project and Rational Conductor
completion dates, products clearly define.
Must synchronize with Overall Plan.
More detailed than Overall Plan
More detailed than iteration plans
7. Project Staff Organization
Organizational structure – teams, tasks, sub contractors, temporary workers. Pecking order…
Professional requirements of teams / leadership
Numbers for periods of time
team size varies from beginning to fully staffed, to...
Designate team leaders and members
team composition will change throughout a long development effort.
staff evaporation; reassignments; illness, …..
8. Development Facilities
Hardware, software, tools, development environments, training on these, space
Many very nice facilities nowadays – break rooms, ping pong; nice coffee / beverage facilities; day care.
How to control the monitoring process / reporting process with respect to plans, test reports, reviews, howgoesit, and more
An art in itself based on many models and experience.
COCOMO and COCOM II Models (Barry Boehm)
human resource estimates,
contracts with suppliers,
internal development and unavailability,
travel first go go
training second to go…
Risk: “a state or property of a development task or environment, which, if ignored, will increased the likelihood of project failure.”
Technology risks – experience of team members
Personnel shortages – can arise during project
Interdependence on others (hardware; subcontractors, etc.)
Risk Management: identification, evaluation, planning actions, implementation, monitoring…
Calculation of Risk
Monitoring of risk throughout development cycle!!
The Spiral Model – specifically incorporating risk to every cycle (next chapter)
Top 10 software risk items
1. Developing wrong software functions *
2. Unrealistic schedules and budgets *
3. Developing wrong user interface
4. Gold plating *
5. Continuing stream of requirement changes *
6. Shortfalls in externally furnished components
7. Shortfalls in externally performed tasks
8. Personnel shortfalls *
9. Real-time performance shortfalls *
10. Straining computer science capabilities
Planning and updating risk
risk management actions
assessing new software
Monitoring software risk
The software risk
1.List of quality goals
These refer to the quality requirements in the developed software system.
Quantitative measures usually preferred to qualitative measures when choosing goals because they are usually easier to assess objectively during testing.
Quality goals should reflect the major acceptance criteria found in the requirement’s document (an RFP)
correctness, reliability, robustness, maintainability….
RFP is often used to measure successful achievement of the customer’s quality requirements.
2.Planned Review Activities
The planned reviews should include a listing of all reviews.
Pros and Cons……………………
All reviews need to include:
Scope – what does it cover
Type – emphasis – managerial, technical, super detailed…
Schedule – often based on previous reviews and outcomes
Procedures – action lists; present and discuss; …
Who is to attend? Collateral interest?? *****
Responsibilities for review; documents needed, by when…
3. Planned Software Tests
Must include a completelist of planned tests
Each test must include the following:
coverage of test: unit, integration, system, subsystem….
typeoftest: may include computer-generated tests and their application via test suites, and more
Planned test schedule – prioritized and follow up
Exact procedures (for different types of tests…)
Who is responsible for carrying out tests
notification, time, date, materials, facilities, etc…
Different people responsible at different times!! **
4.Planned Acceptance Tests for ExternallyDeveloped Software
A complete set of acceptance tests to be run for externally developed software must be provided within the quality plan!
(Complete set must be run for our own developed software!)
Especially critical for purchased software, contracted software, customer-supplied software.
These tests can be run in parallel with internally-developed software tests (tests that internally are developed to supplement other tests)
The quality plan MUST include configuration management tools and procedures for managing the software configurations, versions, etc.
Must be an intrinsic part of the entire project!
The Quality Plan may be included within the Development Plan or as an independent document.
The document, however compiled, must be reviewed and approved by the organization’s standard approval process.
Small and Internal Projects
Natural for many to try to avoid hassle of preparing all these plans.
In fact, heavy-weight methodologies are often called plan-centric; Agile methods try to avoid much planning and documentation
The question is simply does a short, small project (likw 30-60 days; two or three individuals) deserve the time spent on planning a development and quality plan?
Answer: No, not exactly.
Development / Quality Plans for Small Projects
Lots of issues here…
Sometimes not done due to short duration / manpower
Sometimes planning is left up to the project leader’s discretion.
Perhaps a critically-important and high risk but short duration effort with high-penalty shouts for a plan…
Sometimes, via contract, both development and quality plans are simply required.
Development / Quality Plans for Small Projects
Development / Quality Plans for Internal Projects
Lots of projects done for the internal use of organization.
Here, normally no external body is a customer
Can be medium or large scale.
Tendency to avoid adequate development / quality plans
avoiding plans is fraught with errors.
cost overruns, finger pointing, missed dates, internal friction among cooperating shops, …
Often put on back burner!!
Internal Customers ‘can’ enjoy advantages.
smaller deviations from planned completion dates
smaller budget overruns
better control over development process – problems can be addressed locally,
reduced risk of market loss (done for internal use)
reduced risk of litigation (late arrival; non-compliance)
reduced risk of impairing a firm’s reputation
reduced risk of requesting a budget supplement.