Guideline: Development Process Workshop
This guidance describes what a Development Process Workshop is, how to prepare for one, and how to conduct one.
Main Description
Purpose
  • To help the members of the project understand the Development Process for the project and the relevant guidelines.
  • To make the project members understand how to work, according to the process using the tools. 
  • To verify the development process and solicit feedback and suggestions to improvements. 
  • To demonstrate that the development process defined for the project works. 

Introduction

Once the process and tools have been tailored, you need to train the members of the project on what the resulting process is, what can be found in the guidelines, the templates, and how to use the new tools.

The purpose of a "kick-start" workshop of this kind is to get people in the project up-to-speed using the new process and new tools as quickly as possible. The workshop does not replace standard training courses. It should be an efficient way to get the members of the project up-to-speed on any new part of their development environment. You should work on material that can be perceived as "real" project material, and follow the new parts of the development process, together with the new templates, guidelines and tools. The main purpose is to get hands-on experience of using the new sections of the development process together with templates, guidelines and tools. The workshop is also a way to verify the development process, templates, guidelines and tools. 

Who Should Attend

A Process Engineer together with a Tool Specialist should prepare and facilitate the workshop. It is essential that they are people with in-depth knowledge of the process and the relevant tools. 

All people in the project that are going to work according to the development process and use the tools, should attend. To be efficient, the workshop should require that the participants have knowledge in process and tools, equivalent to what is taught in standard training courses. If the project team is large, divide up in smaller teams of 10-15 people each and conduct the workshop with each team. Otherwise, there is a value in bringing all members of the project together to walk through the process and the tools in order to make sure you all have a similar understanding and perception of the development environment. 

Before the Workshop

A workshop of this kind does not replace any standard training courses on process and tools, rather, those kind of courses are a pre-requisite for this workshop. But, one of the first things you should put in place is what your audience will look like so that you know what basic knowledge you can assume from the participants of the workshop. Try to understand what level of experience they have, both of the technology to be applied as well as of the problem domain. 

Establish the objectives of the workshop. Typically, they would be: 

  • The primary objective of the workshop is to get the participants up-to-speed on the new process and tools. 
  • The secondary objective is to get feedback on the new process and tools. The participants are expected to provide feedback for improvements. 

In addition, you may have objective such as letting the members of you team meet for the first time and establish how they will work together. 

Determine the duration of the workshop. Unless there are very specific needs, you should try to limit the duration to one day. Remember that standard training courses should be a pre-requisite, and the focus is on understanding specifics of your development environment. 

As a facilitator you need to prepare materials for the workshop. As this is an event that may not be conducted more than a few times, you need to make sure you don't 'over invest' in materials. The materials you use should mainly be materials or work products that you develop anyway for the project. The only additional materials would be:

  • An agenda for the workshop, based on the process you will follow. 
  • An example to work with during the workshop. This can preferably be an example from your environment, maybe even a small part of the application that will be a result of the project. 

In terms of logistics, you need to make sure the following is available: 

  • A conference room where you can tape the walls with the results of your work. 
  • Computers, set up so that you can use your development environment. 
  • The tools that will be used by the development team, including the Rational Unified Process (RUP). 
  • The development process itself, including any organization/project-specific guidelines and templates.   . 

You also need to set the right expectations on the workshop. The stakeholders of the class - its participants as well as any of the managers who decide to invest in the workshop - should be aware that: 

  • The workshop is not a standard training course. There will not be professional quality training materials, nor will there be well-prepared teachers. 
  • There will be some agenda, but it will probably change during the course of the workshop. 
  • The workshop does not replace standard training courses. 
  • The participants must have good knowledge about the process and tools, equivalent to the relevant standard training courses. 
  • The students are expected to be pro-active, the workshop facilitators should not have to lead them each and every step of the way.  

Conduct the Workshop

The facilitator conducts the workshop, which includes:

  • Giving everyone an opportunity to speak.
  • Keeping the session on track. There is a great tendency for these kind of workshops to turn into philosophical elaborations on the general problems of developing software. 
  • Gathering input on the development process presented. Make sure you record any problems discovered, but do not dwell on them if you don't have the right competencies represented to solve them.
  • Gather input on the format and delivery of the development process workshop. 
  • Summarizing the session and working out conclusions.

Concluding the Workshop

After the development process workshop, the facilitator, along with fellow process engineers, needs to spend time to analyze any inputs participants gave on the development process as well as the workshop format.