Difference between revisions of "Development Plan"

From EUDP
Jump to: navigation, search
(Why)
(Example)
 
Line 54: Line 54:
 
  Embedded computer  
 
  Embedded computer  
 
  Platform - configuration          45 h                  Platform available from supplier
 
  Platform - configuration          45 h                  Platform available from supplier
  User Interface - graphs            65 h                  MRTG available in the stripped down version aimed for embedded platforms
+
  User Interface - graphs            65 h                  MRTG available in the stripped down version  
 +
                                                          aimed for embedded platforms
 
  User Interface - configuration    35 h
 
  User Interface - configuration    35 h
 
  User Interface - download data    40 h
 
  User Interface - download data    40 h

Latest revision as of 20:37, 26 September 2016

What

Development Plan

How

The dish

Development Plan

Ingredients

  • All artefacts produced in the Launch Phase so far.
  • Experiences and metrics from previously performed projects.

Process

From the specifications produced during the Launch Phase, extract all software components, hardware blocks and mechanical items that should be developed. Compile the found objects-to-implement into a table with three columns. Name the first column 'Name', the second 'Estimated cost' and the third 'Prerequisites'.

From the description of the objects-to-implement, examine previous projects to obtain experience about the time needed to implement an object alike; include any other costs required (purchase of components, external testing or verification, etc.). If possible, do this work in cooperation with a more experienced colleague or the project management. While taking this journey in the past, also note what prerequisites (tools, testing facilities, etc.) were necessary to develop the object and note those found in the 'Prerequisites' column.

When all objects-to-implement that have predecessors have been completed in terms of 'Estimated costs' and 'Prerequisites' (if any), it is time to look at the few left open. Apparently, there have not been objects alike in the company's history previously, and, therefore, some extra effort is needed to get a relative estimate.

To estimate on objects without previous predecessor in the company's history, you typically examine the object description thoroughly and decompose the object into smaller pieces, describing each piece in more detail. Redo this work until the object has been decomposed into satisfactory small pieces that can be estimated with the necessary precision.

With the completed table, it is time to compile the results into a plan. Use any kind of project management tool or just a spreadsheet (which can do for smaller projects) and create all the objects-to-implement as individual items.

In cooperation with the project management, determine the number of developers needed to complete the project. Also ensure that any other resources can be available for the development.

Decide the length of the timeboxes that each loop in the realisation phase should have. Typically, the length of the period should be in the time frame of three to six weeks. Shorter periods tend to give too little and longer periods tend to defocus the developer's awareness of the deadline.

Use the project management tool to compile a development plan with the assigned resources and with the decided timebox length. Try to select the objects-to-implement in a natural development order, i.e. basic platform development comes before user interface, or CPU circuitry before interfaces to other systems, etc. Since the customer has not accepted yet, do not enter exact dates; use relative time spans.

While planning, remember that the verification and deployment activities also require time.

Sometimes it can be difficult to establish the dependencies, especially for objects with little previous experience, but do not be put off by this. After completion of each timebox, the development plan should be revised, if necessary. It is better to reschedule the plan rather than stick to an impossible plan to complete.

Why

The Development Plan expresses the expectations of the developer as to the realisation of the project.

The plan is necessary for several reasons, including estimation of costs, resource planning and project progress follow-up.

The first use of the Development Plan is when estimating the costs to realise the project.

Once the customer has accepted the quote, development can start if all necessary resources are available. Resources are typically staff, but may also include other types of resources such as development equipment, test facilities, prototype production facilities, etc.

During development, the Development Plan is the basis for the project management.

Example

                      Name      Estimated cost            Prerequisites
Embedded computer 
Platform - configuration           45 h                   Platform available from supplier
User Interface - graphs            65 h                   MRTG available in the stripped down version 
                                                          aimed for embedded platforms
User Interface - configuration     35 h
User Interface - download data     40 h
User Interface - security          15 h 
Interface to temperature sensors   65 h + E100 components  EMC test site available
Interface to motor                 40 h + E25 relays       EMC test site available
Database                           35 h 
Data model                        135 h 

Timebox length:

3 weeks.

Resources:

Staff:

Al is the SW developer.

Ben is assigned to do the hardware development.

Charlie is the project manager.

Other:

Logic analyser model 1105 available during HW development.

EMC test site reserved for final test no later than four weeks before end of development.

Estimated number of hours on project per week: 30h

Plan:

Plan.gif

Used In

The Development Plan is used during development to ensure the correct manning as well as progress in the development.

The customer expects a Quotation in order to determine if s/he should order the development.