Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method...

9
Martin Cryer Software Development

Transcript of Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method...

Page 1: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

Martin Cryer

Software Development

Page 2: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

2

Development Processes

• Traditional e.g. Waterfall Method

• Agile– Design Build (Quick to Market)– Combines Engineering, Business, QA etc

into teams– Iterative Development– Complex to Manage

Requirements

Design

Implementation

Verification

Maintenance

Page 3: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

3

Development Importance

• Scope Containment– Agree the product requirements– Agree the exit criteria– Agree the budget– Agree the timescales– ALL UP FRONT

• Project Planning– Comprehensive network timeline for

design, development, test and delivery– Include all documentation– Use ISO9000 Certified Methods

Page 4: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

4

Documentation Overview, Initial

• Up Front Documentation– Project Overview (describes 5,000m

view of project)– Business Plan (costs, timescales,

functionality)– Project Requirements Specification

(business view of what the product must do)

– Organization Responsibilities Plan (who owns what)

– Project Plan (incorporates timeline and milestone tracking for all the above)

Page 5: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

5

Documentation Overview, Dev

Answers all Initial Phase Documents• Development Documentation

– Product Functional Specification– Product Design Specification– Product Unit Test Specifications– Product Integration Test Specification– Product Field Test Specifications (Alpha and

Beta Test)

• Project Plan (Update at start and throughout)

• Business Plan (Update financials throughout)

Page 6: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

6

Documentation Overview, Ship

• Product Roll-Out Plan– Packaging– Installation– Training

• Product Customer Support Plan– Bug Fixes / Bug Tracking– Patches and Emergency Fixes– Patch Bundles

• Product End of Life Plan– How do we end the product life cycle?

Page 7: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

7

Design Specification

(Answers all items in the Functional Specification)• Executive Summary• Functional Definition

– Detailed Product Overview (Algorithmic and Diagrammatic)• Product Architecture

– Overview– Modularization Architecture and Per Module Architecture (1..n)

• Detailed Product Design– Overview– Data Design– Per Module Design (1..n)

• Design Considerations Goals H/W & S/W requirements Risks / Costs Languages, Protocols Marketing / Sales goals

• Product Administration• Installation and Upgrade• Performance• Error Handling• Standards Compliance

Page 8: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

8

Documentation Issues

• The “if in doubt, ship it out, let support scream and shout” attitude

• No Functional Specification, No Design Specification– Create all the answers to unknown questions

• Documents must be team written:– Engineering, sales, marketing, support

• Design Docs, Projects Plans, Financial Plans - update changes daily (or even more frequently)

• Use ISO9000 master document concepts with viable change management

Page 9: Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,

9

Project Issues

• The Project Manager has dictatorial powers over all others

• The Project Manager is easily determined: they are the person on the project that looks twice their actual age, twitches a lot, never goes home and has all the social graces of a rabid badger

• If you maintain intelligent, up to date documentation the project manager can understand, you will be on their good side through thick or thin