EuroSPI 2000 
Practical and innovation based software process improvement to prepare for the new millenium.
European Software Process Improvement
Danish Experience in SPI
Category Index
Rated Newspaper Supported by EU Project 

 
 
 
 
 

RAMSES - Rapid Application Development in Military Software Systems
 
 

Peter Gungaard Nielsen
Bruhn Newtech A/S, Herlev Denmark

Svend Skafte
Bruhn Newtech A/S, Herlev Denmark


 
 
 

Abstract

Bruhn NewTech is a small company with 35 employees focused on software development for external customers. We have during the RAMSES project gained useful experience with software process improvement (SPI) and obtained results which documents that there are great benefits in SPI also for small companies.

Our process improvement experiment provided some key lessons learned especially applicable to small software development organisations. Standard process frameworks (e.g. DSDM) must be tailored and detailed to the specific needs of the organisation. SPI management is a difficult discipline, and internal and external communication is very important. SPI does require resources, but the benefits exceed the costs and payback starts immediately.

We have implemented a DSDM (Dynamic Systems Development Method) inspired, RAD (Rapid Application Development) based process involving close interaction with the customer throughout the development process. We developed the process and the necessary document templates to support the project team through a RAD project. We also improved our requirements analysis process and developed requirements specification documents supported by visual elements such as user interface designs in order to facilitate the discussions with the users before starting the programming.

The resulting development process showed significant improvements with increased customer satisfaction, reduction of the often very large workload peaks at delivery milestones by 50%, and elimination of the need for overtime payments through a general reduction of 30% in the number of hours exceeding normal working hours.
 
 

Introduction

Bruhn NewTech is a small company with 35 employees located in USA, England and Denmark (headquarter). The major part of the software development is carried out from the Danish office having 10-12 SW Engineers working on all kinds of software projects, being standalone product, components and process improvements projects.

Bruhn NewTech has developed professional software for mission critical operations since 1987. Main products are various NBC (Nuclear, Biological and Chemical) warning and reporting systems marketed and sold internationally to military organisations within NATO.
Currently USA, England and Denmark are using our NBC warning and reporting system within all services nation wide.
 

This Software Process Improvement (SPI) experiment is part of the ESSI programme (ESSI PIE No. 27599). It was carried out in the periods from AUG 1998 to JAN 2000.
 
 

Starting scenario

Our software development has been structured around the classical "Water Fall" method. This development method lead to a number of shortcomings in product quality, however. Especially on the "soft" aspects of the software such as user friendliness and user support in terms of implementing the right functionality. And since user friendliness and user support are essential to Bruhn NewTech systems, which are often used in situations where the user is under heavy stress, Bruhn NewTech started experimenting using iterative aspects and user involvement in the development process.
 
 

The plans and the expected outcome

The plan for the experiment was to improve the software development process by adopting a DSDM (Dynamic Systems Development Method) [5] inspired RAD (Rapid Application Development) process, and customise it for our use.

Implementation of RAD, to the software process should ensure close co-operation with the users ensuring immediate feedback and thereby correct functionality of the released products, an essential element in the development of competitive products.

The expected improvements compared to previous reference projects were as follows:

Due to the fact that RAD most likely would shift the focus towards user friendliness and usability, it must be evaluated whether or not the RAD method can coexist with the formal specification language VDM (Vienna Development Method) [2], to ensure the correctness and reliability of algorithms and mission critical components.
 

1.1 Limitations

A RAD process covers all disciplines in software engineering and management, meaning that developing and implementing a RAD based process involve changing all the employed software process elements: We decided to focus our main experiment effort on the project management and the requirements management aspects of RAD projects although we had to adapt the other elements as well over the course of the baseline projects in order to maintain consistence with the RAD process.
 

1.2 Baseline projects

The experiments was carried out on three different baseline project, those are briefly described below.
Baseline Project 1 (BP1)
Content : Adding minor customer specific requirements to an existing COTS Product
Team : 1 Project Manager & 5 Software developers
Duration : 5 Months

Baseline Project 2 (BP2)
Content : Developing a component to be embedded within a larger system
Team : 1 Project Manager & 2 Software developers
Duration : 5 Months

Baseline Project 3 (BP3)
Content : Adding a specialised module to an existing COTS Product
Team : 1 Project Manager & 6 Software developers
Duration : 4 Months


 

Implementation

1.3 Project organisation: Roles and Responsibilities

Although the main focus of the RAD process is the relationship between the development team and the user, the internal organisation of the project team needed to support the RAD principles as well.
To ensure the empowerment of the project team, and the support of the surrounding organisation, a new project management document was initiated: "Roles and Responsibilities", which defines the person/role responsible for all major tasks and project deliverables during the project period.
 

1.4 Timebox

Inspired by DSDM, the "Time box" concept was introduced as illustrated in Fig. PGN.1. The main purpose of this concept was to ensure that deadlines were kept, due to everybody keeping focus on what is most important in a given timebox. An essential element in the timebox concept is priorities, meaning that all tasks (e.g. implementation of requirements) in a given timebox must be prioritised. It must be possible to complete all tasks with the highest priority within a comfortable margin, but the timebox will most likely not be long enough to complete all tasks, this means that the most important tasks are completed and the lowest prioritised tasks are skipped. Because everybody has agreed upon this concept, and the right persons prioritise the tasks, everybody is satisfied with the outcome.

In our baseline projects, the length of the time boxes varies from 4 hours to 6 weeks depending of the task. The various requirements was usually time boxed with a duration between a few hours and up to a maximum of 2 weeks, however the project phases covering a prototype cycle was also handled as a timebox, and the duration for these was up to 6 weeks.

In the first baseline project the priorities of the requirements was not documented in writing but agreed upon between the developer and the customer directly whenever needed. In the second and third baseline project the requirements were all prioritised and this was documented as part of the requirement specification.

Fig. PGN.1: Iterative Development Process

1.5 Requirement management

The requirement management was enhanced in four different manners during the experiment.

Visual elements in the Software Requirement Specification
The Requirement management process was enhanced, due to the drawings of screen layouts in the SRS (Software Requirement Specification). These simple drawings (see: Fig. PGN.2) in the SRS have shown tremendous benefit when discussing new functionality with the customer, especially in cases where it was not possible to meet face to face.

Fig. PGN.2 : Example of screen layout used in Software Requirement Specification.

Priorities
Another improvement of the Requirement management process was the implementation of documented prioritisation in the SRS. The following priorities were used:

Essential :                 System could not be accepted without having these requirements included
Highly desirable :      System would most likely be accepted, but it will have a considerably reduced value to the user.
Desirable :                "Nice to have" features which can be omitted if not enough time is available in the timebox.
Requirement study
An important part of the Requirement management is the "Requirement Study" illustrated as the first timebox in Fig. PGN.1 above. This study is carried out as a workshop, with both the user and the developers, and the idea is to ensure that the developers having a solid understanding of the requirements at a very early stage of the project. The outcome of the workshop is documented in the SRS, including the first draft versions of screen layouts.

User involvement & Prototype meetings
The user involvement was done through a continuous dialog between the development team and the user representative. It was not possible to have the user integrated in the development team, however when new functionality was implemented to a certain "prototype" level, the program was demonstrated for the user, and the comments from these prototype meetings where documented and then evaluated and prioritised together with the remaining requirements.

These prototype meetings ensure that problems regarding unclear or inconsistent requirements are resolved up front rather than late in the project.
 

1.6 VDM

The VDM experiment was carried out on baseline project 2 (BP2). The aim was to introduce VDM, and evaluate the method for use in a small organisation like ours.

The work with VDM to supplement the requirements was not an immediate success. Although VDM is a strong tool, we observed little benefit in this particular experiment. The reason for this was primarily that BP2 turned out not to be well-suited for VDM-specification integration, but also, that we do not possess the critical mass of VDM expertise to implement and sustain VDM use within our organisation at this stage. Based on this we decided not to pursue VDM further in this experiment.
 
 

Result

1.7 Quantitative measurements

Objective: 30% reduction in change request in a period of 3 months after release, and 30% reduction of requirements related errors encountered in the final system tests
We have not been able to verify the effect of our improvements with respect to the objectives of reduction in the number of change requests and the number of requirements related errors. We have made an initial analysis of the reference data in order to set up the necessary criteria, but lack of effective metrics and post-experiment data prevents us from drawing any conclusions.
We did not have the necessary skills and experience required for developing the means of measuring and tracking the effect of the experiment on our main quantitative goals. We learned too late of more rigorous formal methods for error type categories (such as Beizer's categorisation scheme [1]), to apply this to our error registration and produce meaningful analysis of comparable data.

Objective: 20% reduction in the costs of producing project documentation
We can see now that the initial objective of reducing the documentation effort with 20% can not be achieved. We are developing more documents in order to support both the project management and the requirements management processes for our software development projects. We have developed new document types and significantly changed others in order to support the RAD principles employed in the resulting process. It is however the general feeling that the documentation produced now is necessary and adds value to the process, whereas it used to be regarded as a necessary evil with no particular purpose.

Objective: All in all a substantially lower development effort and costs is expected
Over the course of the development projects using the RAD principles implemented through RAMSES, we developed the feeling that we were more in control of the projects and of the development process, but when we examined the time registration data (see: Fig. PGN.3 below), we were quite surprised by the results.

Fig. PGN.3 : Total development hours relative to normal working hours (37h/week)
spent over the past two years (01-Jan-98 to 31-Jan-00).

We have reduced the workload peaks exceeding normal working hours at delivery milestones from 31% to 16 %, and the yearly average workload exceeding normal working hours from 18% to 12%.
As a very tangible benefit of the changes in overall workload, we have eliminated the need for overtime payments formerly used to manage the excessive peak workloads. We have previously needed overtime payment as compensation for peak working hours in conjunction with project deadlines. In 1998 we had an overtime payment comparable to the salary of 1½ software engineer, in 1999 we had no overtime payments at all.
We believe that the increased focus on user involvement, prioritised requirements and the timebox concept leads to better management of the customer expectations, and a better control over the entire project.
 

1.8 VDM

We conducted a workshop together with a consultant from IFAD (Institut For Anvendt Datateknik, Odense, DK) working on integrating VDM [2] and the VDM tools into the requirements process. We found that VDM is a demanding tool with great potential. At the time of the experiment we did not have sufficient in-house experience with VDM, and further use of the tool would require a significant training and implementation effort in the organisation, which was outside the scope of this experiment.
 

1.9 Qualitative measurements

Objective: Better management of customer expectations
The user representative participated in prioritising the requirements, which enabled a more qualified discussion with the customer regarding the consequences of making changes to requirements, and helps us to prevent requirements creep. Additionally the user involvement in the requirements elicitation and the use of prototype meetings has improved our ability to manage the customer expectations and improved their perception of the delivered product. We do not have a great deal of data to support this, but as part of one of the completed projects we sent a questionnaire to the customer to evaluate the conduct of the project and the customer satisfaction with the process and the end product. The customer was also asked to compare with former projects delivered under the old process. The results were very favourable to our new process. A further indication of the customer's expectations being met by the product is, that we have been asked to add new functions and make modifications, for which the customer is willing to pay. Whereas before, the customer may have been inclined to say that they had expected these functions to be part of the initial delivery and they should be included without additional cost.
 
 

Lessons learned


 

Problems encountered during the experiment

Bruhn NewTech did not have a formal process improvement program in place before starting this ESSI PIE. That did cause us some severe problems in the early phases of the project, because we lacked the process and necessary methods to manage and track our software process improvement experiments. Key skills that we lacked were development of software measurements, tracking of results, and error analysis. Managing and conducting software process improvement activities requires a wide variety of skills and substantial in-house resources to support it.

As other projects, SPI projects are vulnerable to the loss of key personnel. We suffered the loss of two key persons early in the project, and thereby lost a lot of project continuity and SPI experience. One was the intended project manager, and the other an experienced consultant at our main subcontractor. As replacement for the intended project manager, we decided to break down the overall project responsibility and divide it between three persons. One with technical responsibility, one with administrative and EU responsibility, and one with dissemination responsibility. All three were at the same time responsible for other projects or areas and at times heavily overloaded. The result was lack of focus on the tracking of the experiment, so it was not a good solution to the resource problem.

With the lack of experienced SPI management within the organisation, we found it difficult to take the conceptual ideas of our original project proposal and converting them into a proper SPI experiment plan with the proper means of tracking, documenting and reporting of the results of the experiment.

We did not have the necessary skills and experience required for developing the means of measuring and tracking the effect of the experiment on our quantitative goals of reduction in requirements related errors and change requests. We should have drawn more on external experience from subcontractors, EU, or ESSI peers in resolving some of our problems early on in the project. We should have used early dissemination activities to share our problems and learn from others.

We failed to properly communicate the effort and the plans for the process improvement experiments throughout the organisation in the start of the project, which left parts of the organisation with the feeling that there was no progress.
 
 

Summary

We have during the RAMSES project (ESSI PIE No. 27599) gained useful experience with SPI (Software Process Improvement) and obtained results which documents that there are great benefits in SPI also for small companies.

The objective of the proposed experiment was to improve the software development process by adopting a formal RAD (Rapid Application Development) method.

We expected a reduction in requirements related errors and change requests of 30%, we expected a reduction in documentation costs of 20% and anticipated a substantially lower development effort and cost.

We have implemented a DSDM (Dynamic System Development Method) [5] inspired, RAD based process involving close interaction with the customer throughout the development process. We customised and developed the process and the necessary document templates to support the project team through a RAD project. We also improved our requirement analysis process and developed requirements specification documents supported by visual elements such as user interface designs in order to facilitate the discussions with the users before starting the programming.

The resulting overall process improvements have led to a more controlled development process and verifiably to the achievement of one of our original goals. The improvements have reduced the often very large workload peaks at delivery milestones by 50%, and thereby eliminated the need for overtime payments.

The involvement of the customers has resulted in realistic expectations to the final product and consequently more satisfied customers. We have not been able to verify the effect of our improvements with respect to the objectives of reduction in the number of requirements related errors and change requests. We have made an initial analysis of the reference data in order to set up the necessary criteria, but lack of effective metrics and post-experiment data prevents us from drawing any conclusions.

Our process improvement experiment provided some key lessons learned especially applicable to small software development organisations.

In conclusion, we have achieved software process improvement with factual real value benefits internally and to our customers through conducting the process improvement experiments, and gained useful insights in the workings of software process improvement. We have encountered a number of problems during the experiment, mainly due to our lack of SPI experience. We have reduced both the average workload and especially the workload in conjunction with deadlines considerably without compromising the efficiency and the customer satisfaction. This is mainly archived by improved requirement management (User involvement and prioritised requirements), and by introducing the timebox concept.

The improvements archived during the RAMSES project are now included in our development process and used on all development projects when applicable.
 
 

References

[1] BEIZER, B. Software Testing Techniques. Second Edition.Van Nostrand Reinhold, New York 1990

[2] FITZGERALD, J and LARSEN, P.G., Designing Software: a model based approach, Cambridge University Press 1997

[3] KRUCHTEN, P., The Ration Unified Process, An introduction, Addison-Wesley Pub Co. 2000

[4] MSF (Microsoft Solution Framework), http://www.microsoft.com/technet/Analpln/process.asp

[5] STAPLETON, J., DSDM the method in practice, DSDM Consortium 1997
 
 

Recommended reading

This experiment is especially applicable to smaller companies, having problems in controlling the development process due to creeping/unclear requirements, and consequently delayed deliveries or increased workload in conjunction with releases or deadlines.
The experiment is completely independent of specific tools and platforms, due to the described enhancements are only related to the development process.

The following book is recommended for inspiration:


 

Bruhn NewTech - Company profile

Bruhn NewTech is an international company that excels in software and systems integration. We specialise in the development and maintenance of management information systems for operations in both the NBC battlefield and civil emergency response environments. NBC is an acronym for Nuclear, Biological and Chemical.

An NBC environment exists if Weapons of Mass Destruction (WMD) have been used or there has been a release, accidental or otherwise, of toxic material. Bruhn NewTech develops and supports NBC information systems that provide military commanders and emergency planners with rapid and accurate information to enhance vital decision-making.

Bruhn NewTech has 15 years of experience in the development and use of information technologies for Nuclear, Biological and Chemical defence purposes and emergency response. This has lead to a range of products, projects and training support activities for military forces, civil defence and emergency response planners.

For more information: http://www.newtech.dk/

Peter Gungaard Nielsen
Project Manager
Bruhn NewTech A/S

Education:
 

DEGREE
SCHOOL
DATES
B. Sc. Electronic Engineering The Engineering College of Copenhagen
1991
Skilled Electronic Engineer from Nokia Data A/S Copenhagen. -
1988

Professional Summary:
More than 8 years of experience in software development including requirement specification, design, implementation and test.
Responsibilities include resource management, project management of development projects and co-ordination and implementation of process improvements.

Work Experience:
 

1998 - Bruhn NewTech, Project Manager
Responsible for product development and process improvement projects.]
1992 - 1998 Bruhn NewTech, System Engineer
Participated in software development projects. Tasks including all aspects of software development from requirement specification to final implementation and test.
1994 - Engineering College of Copenhagen, External examiner
External examiner within the area of OOA, OOD and C++
1992 - 1992 Engineering College of Ballerup, Teacher
Teaching in design and implementation of minor SW application and analysis of analog electronic circuits.
1991 - 1992  Engineering College of Copenhagen, Teacher
Teaching in design and analysis of discrete and integrated electronic devices

 

Svend Skafte
Systems Engineering Manager
Bruhn NewTech A/S

Education:
 

DEGREE
SCHOOL
DATES
B. Com. Bachelor of Commerce Copenhagen Business College
1995
M. Sc. Software Engineering Technical University of Denmark
1991

Professional Summary:
Mr. Svend Skafte has 10+ years of experience in software development, software integration, communication interfaces, software quality management and project management.
Responsibilities include requirements analysis, system design, programming, and program management (proposals, planning, organization, control and customer interface).

Work Experience:
 

1994 - Bruhn NewTech, Systems Engineering
Participated in major software development projects. Project manager for product development, and program manager for systems integration projects. 
Since July 1998 Systems Engineering Manager, head of the systems engineering department in Bruhn NewTech A/S. Overall responsibility for the software development organization, personnel, development processes and software quality.
1991 - 1994  A/S MODULEX. Software Engineer. 
Participating in the development of turnkey passenger information systems for airports, railways, bus terminals, etc. Project manager for a large passenger information system for British Rail.
1990 - 1991 Institute of Systems Science, National University of Singapore. Visiting Scholar. 
Teaching and research in knowledge engineering and artificial intelligence.
1989 - 1990  Soudronic AG (Switzerland). Knowledge Engineer. 
Development of an expert system for real-time inspection of glass bottles.
1987 - 1989 Electromagnetics Institute, Technical University of Denmark (DTU). Software Engineer. 
R&D in Expert Systems and Artificial Intelligence. Development of knowledge based system for assessment of thermal indoor climate in office buildings.



 
Partners in EuroSPI

Editors
ISCN LTD, ISCN GesmbH, Schieszstattgasse 4/24, 8010 Graz, and Coordination Office, Florence House, 1 Florence Villas, Bray, Ireland, office@iscn.at, office@iscn.com, office@iscn.ie, Editing Done: 19.7.2002