10.1.1.75.7307
-
Upload
ahmed-raza -
Category
Documents
-
view
223 -
download
0
Transcript of 10.1.1.75.7307
-
8/2/2019 10.1.1.75.7307
1/8
An open model for tailoring software processes
Ebba Thora Hvannberg, Helgi Thorbergsson, University of Iceland, Iceland
Summary:
While supporting companies in defining or improving software processes we have
observed that co-operation between companies is very valuable to quality managersand developers. Although software process improvement results in many benefits inthe long term to a company, it also requires an investment in time and resources. With
frequent migration of personnel between companies, there is both increased need for
defining software processes but also more implicit sharing of knowledge betweencompanies because technical people move knowledge with them from one company to
another. In this paper we present an open model for tailoring software processes. It isinspired by the open source model and in the paper we compare our model for tailoringsoftware processes to the open source model. Furthermore, we present ways in which
the open model could be implemented and describe possible gains and pitfalls.
Ebba Thora Hvannberg, Dr.,UNIVERSITY OF ICELANDHjardarhaga 2-6, IS-107 Reykjavik, Iceland
tel.: +354-525-4702, fax.:+354-525-4937, email: [email protected]
Helgi Thorbergsson, Dr., UNIVERSITY OF ICELANDHjardarhaga 2-6, IS-107 Reykjavik, Iceland
tel.: +354-525-4945, fax.:+354-552-8801, email: [email protected]
1. Introduction
Increasingly we are using the Internet to communicate and search for knowledge and information. Wereview each others work more extensively, creating repositories of experiences and form variousknowledge networks. For the past few years, open source software development has attracted people's
attention. Open source software development has been successful in giving us many good products,
including compilers, editors and operating systems.
Software engineering practitioners and researchers have been trying to develop and incorporate formalsoftware life cycle practices for several decades now, and the results are in some ways a bit disappointing.
Although software life cycle standards from other bodies have been used, notably ANSI/IEEE, ISOstandards are relatively new. Among landmark standards that have been published are the ISO/IEC 12207
Software Life Cycle Processes and ISO/IEC 15504 Technical Report for Software Process Assessment, orSPICE. A 1997 survey showed that only 10-15% of US companies has adopted ISO 9001 and equivalent
standards [1]. A benchmark of European Software Management Practices has been published [5]. Only 3software companies in Iceland have adopted ISO 9001. In a 1995 survey of nineteen Icelandic companies
[2], 20% of the companies had ISO 9001 in planning, it was under consideration by 45% and certificationwas not considered relevant by 30%. Of the companies surveyed, 25% claimed to be implementing
software process improvement (SPI), 45% were considering it and 18% had SPI actions in planning. Theremaining 12% considered SPI actions not relevant for their quality control.
In 1999 another survey revealed that of 21 Icelandic companies, 16 said they were implementing softwareprocess improvement but only 3 of them are adhering to international standards. The other 13 companies
are using in house methods.
-
8/2/2019 10.1.1.75.7307
2/8
In this paper we present an idea that is based on similar principles as open source software development.
We call it open process for software development. Its objective is to encourage companies to adoptstandard software processes by suggesting that companies share their experiences with tailoring their
processes. It is based on three principles:
People share their experiences by reviewing each other's software processes documentation.
People share software metrics that result from using tailored processes. Communication occurs mostly over the Internet but also in person if possible.
In this paper we define the open process, relate it to open source software, present an implementation plan
for it and finally suggest pitfalls and gains that we may encounter. It should be noted that although wepresent the open process as an analogy to the open source software, it can be used for all types of softwaredevelopment, both open and proprietary. Tailoring of the software process has direct links to the software
lifecycle standards, assessment standards and quality standards. Our goal of writing this paper is to
encourage discussion of this topic. We hope that the reader will actively participate and comment on thissubject. In the spirit of the open model, readers are welcome to send e-mail to the authors to agree or
disagree on the statements made in the paper as well as adding new opinions.
2. Relationship with Open Source Software DevelopmentBefore presenting an anology between open source software and our proposed open process for softwaredevelopment, it is necessary to list the main characteristics of open source software development. In [3]free or open source software is characterised as giving the users the freedom to:
Use the software as they wish, for whatever they wish.
Have the software at their disposal to fit it to their needs. This includes improving it by fixing bugs,
adding functionality and reviewing it.
Redistribute the software to other users free or at a charge.
Users of a piece of software must have access to its source code.
In the examination of the open source software movement, several issues have been studied: software
development models, economical models, legal rights, and motivation for its existence. One can also studythe impact of open source software on quality of the software, e.g. bugs, functionality, usability andsecurity.
In the following, we further characterise the development models that have been used for open source
software. We dwell less on legal matter although we recognise that the ownership of the defined processmay be an important issue. The development model of open source software is always a group model, i.e. it
is a social activity. Sometimes there is a master that controls the development and acts as a projectmanager or an editor. The other users, that is the slaves, send in comments, bug fixes etc. The product israther carefully designed bottom-down. This model has been called the cathedral-model [4]. The other
model is more of a peer-to-peer model and there is no master. Changes are not screened and there is less
control. If you want to add something you are free to do so. This model has been called the bazaar-model
[4].
-
8/2/2019 10.1.1.75.7307
3/8
Developer
(Master)
Developer/User
Developer/User
Developer/User
Source
Bug-fixesAddedfunctionality
Sourc
e
Source
Figure 1 shows how open source software development works. The actors are either developers or users.
The actors communicate on the Internet via e-mail, web, and co-operating systems. Their subject ofcommunication comes from all phases of software development. The primary subject is often the source
code. The actors can send reports on errors, requests for added functionality or non-functionalityrequirements, or comments on design.
We shall next look at the development model for the open process. If it follows the cathedral-model there isone person, company or institution that starts tailoring the process carefully according to his own needs. Heor she may then release it and subsequently he or others can test the process. In the meantime, the master
gets responses, war stories and experience reports. In addition, if a slave has other requirements he may
ask the master to add them. If the master doesn't agree on the revision, the slave may go off and fork off hisown version and continue with the project, thus becoming his own master and try to gather other slaves
around. Perhaps the characteristics of his company's needs are so different from others that he his forced tostart on his own. If the company is mature enough, the process is tested and metrics on its usefulness are
produced and released. Figure 2 shows a peer model where one of the developers has forked off his own
open project.
Figure 1 Master model
-
8/2/2019 10.1.1.75.7307
4/8
Baseline
version
Start
another
project
to fit different
needs
Peers
Following the bazaar model, the software process should be used very early and then incrementallyenhanced as we get comments on its usage. This follows the rule that is often used in open source
development: "release early, release often".
In the open process model, the actors are software developers, quality managers or members of a softwareprocess engineering group (SPEG) from different companies. As with the open source software
development, they communicate over the Internet. Their primary subject of communication is the tailored
process. Other subjects of communication are process defects reported while using the process,methodologies and technologies related to the process, metrics that result from using the process, andsuggestions for additions or changes to the process.
Little by little we may have several tailored instances of standard software life cycle processes and we
can characterise them by maturity of companies, size, domain etc. Thus we create a repository of tailoredinstances. All the while we need to be careful that the tailored processes are without a guarantee regarding
their capability level.
3. Premises of the open process
Our experience of giving courses and workshops on software process improvement has been that peopleask for concrete examples. The start-up time of incorporating defined processes may take quite some time
and the companies are not always willing to invest in development of the definition of a softwaredevelopment model. We find that it can take a long time to convince companies to get started, that is from
the time we introduce the subject until people start process definitions or process improvementexperiments.
There are several ways to encourage people to improve the maturity of their software processes. Among themotivations that are usually presented are increased satisfaction of employees, faster development, lowermaintenance cost, less re-work, fewer defects and better agreement on requirements. What deters people
from incorporating software processes is the need for added investment. Adopting software processes hasto be planned, and you need resources and training. It is not something that occurs overnight. One of the
reasons for this is that each company has to tailor the software development process to their needs.
Process Improvement Experiments (PIE), that have been supported by European Systems and SoftwareInitiative (ESSI) [5], take a practical and focused road to software process improvement. In the experiments
companies do not renovate the house all at once, they take it room by room[6]. A general framework has
Figure 2 Peer model
-
8/2/2019 10.1.1.75.7307
5/8
been developed for how to do such experiments and participants share results of the experiments. However,
you have little or no chance in being a co-participant in the experiment. Furthermore, one company carriesout each PIE.
With the open process we aim to remedy the following:
Lack of tailoring examples of software processes. The incorporation of quality management systems takes too long and is too rigid.
Low management commitment because of lack of resources.
Usability of standards.
The reason we think that the open process will work now is:
People change jobs frequently and there is thus more implicit sharing of knowledge between
companies.
Quality work is often introduced in companies bottom-up. People are more satisfied with working in
well defined environments, where you know what to do next.
Technical people like to share experiences - people get fulfilment from telling others about their
experiences.
The open process works on the following premises that are in step with the open model methodology:
Individuals from a group of companies are willing to work together on improving each other's software
life cycle processes.
The tailored processes are free, that is they are not sold for any fee.
The tailored processes or quality handbooks are not licensed to individual companies; they have an
open licence.
The defined processes are not guaranteed, but you can present metrics (analogous to test data fromsoftware testing) that shows how well they work.
If a tailored process is open, anyone can read it, use it, comment on it, change it, or adapt it to their
needs. Adoption of international standards should be encouraged.
A tailored software life cycle process is neither guaranteed to conform to ISO 12207 nor can it be
assessed out of the context of a company environment.
4. Implementation plan
In the previous sections, we presented the idea of an open process. It is presented here to encourage
discussion, to receive criticism and to further new ideas for modification. Since the open process concepthas not been tested or verified in any way, we would like to give a few ideas on how it could be tested.
4.1 Companies
Any task under the open model, whether it is software development or tailoring of a process, is usuallystarted in the grass-root. A pioneer company begins the work and after a while publishes it and hopes to
find some companies that are interested in sharing the work-load or comment on it. It is not something thatcan be steered or controlled - someone has to be willing to start. Although open source software
development, for instance, is an egalitarian task, it is seldom a true peer model; there is always someone
that is the editor. The editor, however, does not own the results. Therefore all the others can use the tailoredprocess. The motivation for a company to start an open process would be that it needed help and saw theadvantage of getting comments from others. We have examples of when one company adopts another
company's quality handbook.
4.2 Individuals
Individual developers could also start or participate in the open process. We separate them here fromcompanies since we assume that they are not working in the name of any company. They could still
practice the process in their individual projects or even in their companies. We have seen in the past that
-
8/2/2019 10.1.1.75.7307
6/8
open source software projects are often started by individual champions and therefore expect this to happen
for open processes.
4.3 Institutions
A university, a software industry association, or a professional organisation could encourage companies or
individuals to develop an open process. We believe that they can set a framework or provide the
environment to encourage it, but they can not be the initiators since they are not the ones that are tailoringthe process for their own use. They can not verify the process in a software development house or adepartment. The above institutions can however start an initiative with the following support actions:
Provide a platform:Maintain a CSCW (Computer-Supported Co-operated Work) site where people can discuss the
processes and store documents. There could be several such on-going projects with different visibility.For example, there could be three companies working on the Requirements Specification Process and
another team of five companies working on the Testing Process.
Methodologies, technologies, best practices and tools:
Maintain a public information web-site on methodologies, technologies and best practices on the
different processes. This is a reference site for the participants. The ESPINODE network created aweb that was structured around methodologies or issues such as formal methods, object-orienteddevelopment and testing. Because of the emphasis on process definition, it may be appropriate to
organise the same resources around the software lifecycle processes.
Database of metrics:A database of metrics collected for software processes. We said earlier that in order to convince others
to use the tailored process, we needed to provide evidence of success. Grady [7] points out that data onmetrics needs to be divided into private and public data. This classification applies especially for small
and medium companies that may be reluctant to release data on their own company. They mayhowever be willing to put their data into an aggregated set from three or more companies.
Process guidelines:Resources on process guidelines, e.g. [8,9,10] and frameworks for processes such as the RationalUnified Process.
The above list is by no means exhaustive but gives an idea of the type of support that may be valuable.
4.4 Consultants
Companies sometimes seek advice from consultants or consulting firms on quality management.Consultants could therefore initiate an open process, and participate in it as long as they do not charge for
their work.
4.5 Student involvement
Several students at the University of Iceland have carried out process improvement experiments within acompany as B.S. thesis projects. Since the theses are public, they can be used as a basis for someone else to
adopt and start their own open process project. In general, we have successful experiences of involvingstudents in software process improvement project. It is common that they work in the software industryduring the latter part of their study and can be a good link between the university and the industry.
4.6 Funded initiatives
The 5th
framework programme of the European Commission and national funds has supported software
improvement process projects for several years. The projects have often been in forms of ProcessImprovement Experiments. We suggest that one form of project could be co-operative software quality,
where two or more companies decide to tailor the same process together.
-
8/2/2019 10.1.1.75.7307
7/8
5. Gains and pitfalls
This section on gains and pitfalls of our suggested approach will be short since we do not have any basis to
support our findings. We try, though, to foresee some of the gains and pitfalls. We hope that experiencegained in the future with the open process will provide us with evidence of success or failure.
5.1 Pitfalls
We feel that the initial implementation of the open process idea might be difficult for several reasons.
Many companies have spent years in developing their quality manual and will not be eager to let othercompanies or competitors get what they might feel is a free-ride. This is so despite the fact that
companies that have developed an initial version of a quality manual are stuck with software processes thatneed improving.
When companies start to co-operate on the tailoring, they need to be careful to adhere to the ISO 12207
standard. Tailoring of the standard to the companys needs and workflows is necessary in order for the
procedures to be fully usable within the company.
Smaller companies will not be eager to share their metrics, deviation-reports etc. in fear that competitors
will use these facts against them in the competition. Another reason for a difficult implementation of an
open process is that the employees of a company that adopts a framework will not have the feeling that thequality manual is their own work and thus not as willing to adhere to the processes suggested. We feel,though, that this is a minor issue since with rapid movement of personnel in this field, employees are
getting more used to adhering to processes that they did not participate in creating from scratch.
Furthermore, such movement of personnel is in vein with the open process, employees adhering to newprocesses will get fulfilment out of giving input to the new process based on their own experience.
5.2 Gains
The long term gains of the open process are definitely financial. It is expensive for small companies toimplement a quality handbook and most often the most difficult and expensive part is the initial phase, i.e.
educating the employees on what a quality handbook is and how it should be organised. An open processmight get rid of this initial hurdle. Many companies have already gone through the basic steps of
developing a quality handbook and employees are more willing to work on tailoring the framework thanwriting a handbook from scratch. It is difficult to say beforehand whether the instantiation of a quality
handbook will be quicker this way. The tailoring of processes is a time-consuming task and without aflexible framework this part can though be a painstaking one.
Experience in Iceland shows that employee satisfaction increases with the adoption of a quality manual and
employees prefer to work in such an environment leading to easier employee recruitment. With the open
process giving a common framework adaptation of employees to a new work environment will be madeeasier, increasing both productivity and job satisfaction.
We have said that one of the goals of this model was to promote standards. We could view a tailoredprocess as one reference implementation of the software life cycle standard. It may not fit everyone's need,
but still gives an example.
We feel that start-up companies that are willing to adhere to standards will benefit the most from such an
undertaking. Those companies can adopt the open process from the start and tailor it to their needs as theirjob-focus matures.
Finally, we wonder who will benefit the most from the open model of tailoring processes. Is it the leastmature companies that have no defined process that need to see examples of tailoring? Alternatively, is it
perhaps too difficult for them to be in a team with other companies? Do more mature companies benefit
more since they are likely to be working on improvements of their processes? These questions are open for
debate and answers to them will only be received when the model is implemented.
-
8/2/2019 10.1.1.75.7307
8/8
6. Conclusion
In this paper we have presented the idea of an open process which goal is to promote process standards and
improvement of software processes. It is intended to shorten the start-up time of process tailoring withcompanies by asking companies to share each other's quality handbooks and thus make the process
definitions open.
The open process is not the only way to reach the above goal. We may also start an open source project ontools to use for best practices such as review, configuration control, project management for software
development and assessment tools. Already, such tools are available for some best practices. We can also
speculate that an open process will encourage an open source software development of such tools.
Fortunately, we have many texts [11] to guide software developers in their process definition work. Thereare many case studies that give testimonies on software process improvement experiments. What is
different with the approach suggested in this paper is that the developer or the quality manager actively co-operates with each other on the tailoring the software processes.
References
1. Yourdon, Edward, Millennial megatrends, Software in Focus, Issue 9, December 1999
2. Lund, Anita Bjork and Hvannberg, Ebba Thora, Survey of software best practice experience for smallcompanies, 1999
3. Free Software / Open Source: Information Society Opportunities for Europe?,
Working group on Libre Software, April 2000, Version 1.2 (work in progress),
http://eu.conecta.it/4. Raymond, Eric S., Cathedral and the Bazaar, 1999, ISBN: 1-56592-724-9
5. Dutta, S., Van Wassenhove, L.N., Kulandaiswamy, S., Benchmarking European Software ManagementPractices, Communications of the ACM, June 1998/Vol. 41, No. 6
6. O'Day, Dan, This old house, IEEE Software, March/April 1998
7. Grady, Practical Software Metrics for Project Management and Process Improvement. Hewlett-
Packard Professional Books, Prentice-Hall, 1992, ISBN 0-13-720384-58. Humphrey, Watts S., Managing the Software Process, Addison-Wesley, 1989, ISBN 0-201-18095-2
9. Zahran, Sami, Software Process Improvement, Addison-Wesley, 1997, ISBN 0-201-17782-X10. Sanders, Marty, editor, The SPIRE handbook, 1998 The European Community, ISBN 1-874303-02-9
11. Sanders, Joc and Curran, Eugene, Software Quality: A Framework for Success in SoftwareDevelopment and Support. Addison-Wesley, 1994, ISBN: 0201631989