Design for change: one step at a time

Field: Computer Science (Physical Sciences)

Dear Reader, Welcome to the first issue of 2007. Last year, it proved to be tremendous in terms of the number of good quality articles submitted to SPIP. This New Year, we expect it to be even better and hope to continue to build on our success. We have received excellent feedback from readers. To improve further, we need more feedback from readers. We have excellent articles the scheduled to be published this year, and a healthy, continuous stream of new articles means that the future of SPIP is looking to be very promising. This issue, once again, contains a mixture of regular and themed articles. The themed articles represent a selection of reworked and extended articles submitted to the 6th Workshop on Business Process Modelling, Design and Support. The underlying theme of the articles is ‘Design for Flexibility’: The need to ensure that systems are flexible enough to reflect and accommodate changes in business processes. Change pervades all aspects of life. With advances in technology, we seem to have become accustomed to the acceleration in terms of the demands and expectations for change. Such trends include more competitive environments, more demanding time-to-market, delivery on demand and various lean processes. The trends have resulted in more dynamic development patterns that are responsive to change, thereby placing similar demands on software process improvement. The regular articles in this issue are also concerned with the development of new ways of dealing with and implementing change. One response to change is to implement it in small and controlled increments that enable subsequent adjustments. Agile software development enables developers to respond to opportunities and challenges in incremental steps. Agile teams are encouraged to reflect and improve regularly. The results of this reflection can be used to improve processes. Salo and Abrahamsson explore the implications of conducting Software Process Improvement in agile environments. Given the challenge of shifting control from the organisational level to the individual teams, the authors focus on the need for an iterative improvement process. Indeed, conducting SPI within agile software teams requires recognition of the continuous nature of knowledge discovery and management. Agile methods support iterative improvement, thus enabling teams to improve performance efficiency because of the accumulating knowledge. The process of iterative improvement was used in five agile projects. Developers proved to be happy and willing to participate in process improvement. The implementation of the improvements contributed to enhanced satisfaction (in addition to the more tangible benefits of improved practice and greater efficiency). Smaller improvements can build up in an iterative fashion. The results may also provide clues to new methods for fostering improvement (while enhancing satisfaction) even in more traditional environments. Generating new developmental processes is a complex task. Most existing models are generic, offering little guidance on how they can be customised to specific contexts or environments. Eberlein and Jiang contend that instantiating a model and drilling down into lower levels of definition to develop models with finer granularity requires clear guidance. The authors make use of a specially developed methodology and tool that support the iterative definition of fine-grained process steps. The initial process model is derived using mathematical definitions. The model is then refined in an iterative fashion using the feedback from the process designer to adjust the constraints, until the desired output is achieved. A prototype version of this approach has been used to iteratively refine and optimise the domain-specific requirements of an engineering process model. The intention of the authors is to develop a repository of the best-practice process models that will store models accompanied by a description of the domain for which they were optimised, enabling further adaptation within defined contexts. Iterative and incremental practices have a long and successful track record in software development. They provide a potent method for tackling change and evolving and adapting in small, measured steps. Both approaches offer the flexibility required to respond to new opportunities and challenges, while addressing organisational needs and priorities in a controlled way. It is interesting to notice how the approaches can be added to the repertoire of SPI practitioners with an aim to make process improvement even more strategic and responsive. From the SPI perspective, it is very encouraging to note the development of new practices for dealing with the challenges faced by practitioners. The articles in this issue advocate new ideas and perspectives that can be adopted in developing a more responsive approach to change. SPI continues to develop and grow with many new disciplines, seeking to import the ideas and concepts embedded in process improvement. As researchers and practitioners continue to investigate new methods, ideas and practices, our field can only become richer through the dialogue that ensues. The field of software process remains exciting, not least so because of the rapid transitions that currently typify it. We hope that you have found the new insights and experiences offered in this issue inspiring. We are always looking for good-quality articles and would love to hear from you. If you have any thoughts or experiences to share with the wider community, please get in touch with us. Feedback, ideas, comments or questions are also always welcome. Articles, reviews and new materials should be submitted to Darren Dalcher. With best wishes for the New Year.