Difference between revisions of "Development Plan"

From EUDP
Jump to: navigation, search
(New page: == What == Development plan == How == '''The dish''' Development plan '''Ingredients''' * All artifacts produced in the Launch Phase so far. * Experiences and metrics fro...)
 
(Example)
 
(12 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
== What ==
 
== What ==
  
Development plan
+
Development Plan
  
 
== How ==
 
== How ==
Line 8: Line 8:
 
'''The dish'''
 
'''The dish'''
  
Development plan
+
Development Plan
  
 
'''Ingredients'''
 
'''Ingredients'''
  
*    All artifacts produced in the Launch Phase so far.
+
*    All artefacts produced in the Launch Phase so far.
 
*    Experiences and metrics from previously performed projects.  
 
*    Experiences and metrics from previously performed projects.  
  
 
'''Process'''  
 
'''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 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 cost required (purchase of components, external testing or verification, etc). Eventually, 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.
+
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 which have predecessors, have estimates and possibly prerequisites filled, it is time to look at the few left open. Apparently, there has not previously in the company's history been objects alike and therefore some extra effort is needed to get a relative estimate.
+
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 that have no previous predecessor in the company's history, you typically examine the object description thoroughly and decompose the object into smaller pieces describing each piece more detailed. Redo this work until the object has been decomposed into satisfactory small pieces that can be estimated with the necessary precision.
+
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 found 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.
+
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.
 
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 timeboxes length each loop in the realisation phase should have. Typically, the length of the period should be in the time frame of 3 to 6 weeks. Shorter periods tend to give too little and longer periods tend to defocus the developer´s awareness of the deadline.
+
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. Do not enter exact dates - the customer has not accepted yet - use relative time spans.
+
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.
 
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 frightened about that. 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.  
+
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 ==
 
== Why ==
  
The Development Plan expresses the expectations the developer has to the realisation of the project.
+
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 cost, resource planning and project progress follow-up.
+
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 the estimation of the cost realising the project.
+
The first use of the Development Plan is when estimating the costs to realise the project.
  
Secondly, when the customer accepts the quote, development can start when all necessary resources are available. Resources are typically staff, but can also include other types of resources like development equipment, test facilities, prototype production facilities, etc.
+
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.  
+
During development, the Development Plan is the basis for the project management.
  
 
== Example ==
 
== Example ==
  
Name
+
                      Name     Estimated cost           Prerequisites
+
Embedded computer  
 
+
Platform - configuration           45 h                   Platform available from supplier
Estimated cost
+
User Interface - graphs           65 h                   MRTG available in the stripped down version  
+
                                                          aimed for embedded platforms
 
+
User Interface - configuration     35 h
Prerequisites
+
  User Interface - download data     40 h
 
+
  User Interface - security         15 h  
Embedded computer platform - configuration
+
  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  
45 h
+
  Data model                       135 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:
 
Timebox length:
  
3 weeks.
+
''3 weeks.''
  
 
Resources:
 
Resources:
  
Staff:
+
''Staff:''
  
 
Al is the SW developer.
 
Al is the SW developer.
Line 145: Line 76:
 
Ben is assigned to do the hardware development.
 
Ben is assigned to do the hardware development.
  
Charlie is the project leader.
+
Charlie is the project manager.
  
Other:
+
''Other:''
  
 
Logic analyser model 1105 available during HW development.
 
Logic analyser model 1105 available during HW development.
  
EMC test site reserved for final test no later than 4 weeks before end of 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
 
Estimated number of hours on project per week: 30h
  
Plan:  
+
''Plan:''
  
 
[[Image:Plan.gif]]
 
[[Image: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.

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.