| Code | Title | Category | Language |
| T1 | An Introduction to Project Management & Software Process Improvement | Full day tutorial | English |
| T2 | A Feature-Oriented Method for Product Line Software Engineering | Half day tutorial | English |
| T3 | Mathematical Methods in Verification | Half day tutorial | Japanese |
| T4 | Introduction of human-centered design process improvement | Full day tutorial | Japanese |
| T5 | System Dynamics Simulation - A Tool ... | Half day tutorial | English |
| T6 | Balancing Agility and Discipline: A Guide for the Perplexed | Half day tutorial | English |
| W1 | Workshop on Software Product Archiving and Retrieving System | Half day workshop | English |
This workshop introduces the basics of project management planning by focusing on a specific type of project, the change project for software process improvement. We will look at some approaches to defining the SPI project, and basic approaches to planning the project. Participants will be expected to "try out" the techniques discussed through short exercises.
This course is aimed at beginning project managers, and those who participate in projects and would like to understand how they are structured.
Dr. Michael Barker has over 25 years of experience in projects in the software development and computer networking fields. His cross-cultural experience includes eight years work in Japan, with five years as the only foreigner in a Japanese company. During his business career, he has managed projects, built business units, and acted as an internal consultant to a wide variety of projects. He was at MIT for nine years working in Information Systems. During this time, he led the effort to develop an enterprise-wide web-based system to support education at MIT. He is also a certified trainer for Oak Associates. He became PMP certified in 1999, and was re-qualified in 2002.
During the last 4 years, he has taught a two-day introduction to project management several times to a broad range of MIT personnel. He has also taught an introductory course for the Massachusetts Bay PMI chapter, and for companies in Massachusetts.
He is currently a Visiting Scholar at NAIST, focusing on empirical approaches to software engineering, project management, and web-based support for education.
To be able to engineer application software for a product line, the application domain of the product line must first be understood in terms of application family's commonality and variability. Since the feature-oriented approach to domain analysis (FODA) was introduced in 1990 by the Software Engineering Institute, many domain engineering methods for software reuse have adopted the technique to support the domain commonality and variability analysis. FORM (Feature-Oriented Reuse Method), for instance, extended FODA to include architecture design and object-oriented component development. This method has been applied to several industry application domains, including elevator control systems, electronic bulletin board systems, yard automation systems, and PBX, to create product line software engineering environments and software packages. This tutorial will introduce the FORM method using these industry applications as example.
The goals of this tutorial are to introduce the feature analysis method and to provide a method for deriving architecture models and reusable component. Many industry application examples will be provided to help participants understand the method and apply it to their application domain when they return.
The product line software engineering paradigm requires understanding of the domain of a product family and application of this understanding, i.e., the domain knowledge, in the development reusable, evolvable components and flexible architectures from which a family of products can be integrated under specific application contexts. Since the feature-oriented domain analysis method was first introduced about a decade ago, there have been industrial applications of the method and, now, there is a body of experiential knowledge, lesson learned, and guidelines that a wider community can benefit from. This tutorial is intended to disseminate such experiences.
The course will be delivered in a lecture style. After a concept/technique is introduced, many examples will be explained to reinforce the understanding and enough time will be allocated for discussion. Although hands-on practice can be beneficial, modeling usually requires a long time to think about various issues and it is often the case that a short course based on hands-on practice does not fulfill its intended goals. We will select examples from which participants can learn various issues and points to consider in their modeling.
The tutorial will be prepared primarily for those who are interested in adopting the product line software development in their organization and those who want to develop reusable packages. Researchers who are working on software reuse will also benefit from this course greatly.
Prof. Kang's experience with software engineering started in mid-70s when he was involved with the development of PSL/PSA, the first requirements analysis tool system, at the University of Michigan. After completing his Ph.D. work, he taught requirements engineering and database courses at the university for two years before joining Bellcore. At Bellcore, he was assigned to the task of improving productivity of a large-scale software development project. He moved to Bell Labs in 1985 and started my research on software reuse, which continued through the years at the Software Engineering Institute (SEI), Carnegie Mellon University, from 1987 to 1992, and still continues to be his major research area to the present time. He performed researches on product line requirements engineering at SEI as a visiting scientist from 2000 to 2001. While he was at SEI, he was involved with the domain analysis project and participated in the development of the FODA method. Since he took a teaching position at the Pohang University of Science and Technology, he continued his software reuse research focusing on applying the FODA method to industrial application domains to improve and expand the method to cover the entire spectrum of product line software engineering. Based on their experience, the FODA method has been expanded and a method called FORM (Feature-Oriented Reuse Method) has been developed.
Aiming at leaders of software development team, we shall give introductory lectures on model checking and theorem proving, two pricipal techniques in verification. As for model checking, we also lecture on case study, which is a result of collaborative project of AIST and industry, as well as usages of main stream model checkers.
The tutorial will consist of the followings:
Expected audience consists of leaders of software development team. Nothing is required, other than general knowledge on software. Experience in design of large scale systems and basic knowledge in (propositional) logic, however, would help understanding the content of the lectures.
Koichi Takahashi is Vice director, Laboratory for Verification and Semantics, AIST
Daichi Mizuguchi is Research staff, Laboratory for Verification and Semantics, AIST
Makoto Takeyama is Principal research scientist, Laboratory for Verification and Semantics, AIST
Usability is one of the most important software quality characteristics. In order to improve software usability, it is necessary to suitably manage human-centered design processes. On the other hand, human-centered design processes have been well-known as "ISO13407(JIS Z 8530) - human-centered design processes for interactive system". However, it has not been established how to implement and manage them to actual software development processes. This tutorial will explain how to incorporate the human-centered design into software development processes and also successively improve the usability of software through constructing the capability maturity model of usability.
The tutorial will consist of the followings:
Practitioners of software process improvement, usability, project manager. Advance knowledge which is not necessarily but helpful is: software quality, usability engineering, process capability maturity model.
*=Presenter
Software development takes place in complex environments determined by products, processes, methods, techniques, technologies, tools, and people (customers, managers, project leaders, developers, etc.). All these entities interrelate through a complex network of dependencies, thus forming the software development system. One way of adequately analysing the complex behaviour of a software development system and the associated risks is to build formal (mathematical) models that:
The method System Dynamics provides the adequate means for this kind of analysis. A major strength of the modelling and simulation method System Dynamics is that it allows for an integrated view on product, process and people. Due to its high flexibility (hard data as well as soft data are useful input for modelling!), simulation with System Dynamics models can be applied to:
The purpose of the tutorial is to explain why and how simulation with System Dynamics models helps to analyse (and overcome) persistent problems in software development. Special focus is put on the application of System Dynamics models in support of software process improvement and risk management.
The participants in the tutorial will learn:
The tutorial gives an introduction into the basic principles of System Dynamics, and provides guidance on how to develop System Dynamics models allowing participants to apply this approach in their own environments. The tutorial consists of five parts:
The materials covered by the tutorial are based on own experience from industrial projects and work done by others.
Software developers, project, process, QA, and risk managers, and everybody who is interested in learning more about development and application of System Dynamics simulation models in software organisations.
Dr. Dietmar Pfahl received a M.Sc. degree in applied mathematics and economics (Diplom-Wirtschaftsmathematik) from Ulm University, Germany, and a doctorate in computer science from Kaiserslautern University, Germany. Between 1987 and 1996 he was a research staff member with the German Aerospace Research Establishment (DLR), and a software engineering consultant with Siemens Corporate Research. Since 1996, he is with the Fraunhofer Institute for Experimental Software Engineering where he managed several national and international research and transfer projects with software industry. His past and current research interests include quantitative software project management, software process analysis and improvement, and simulation-based learning. He has extensive experience with developing System Dynamics models for software organisations. In collaboration with Siemens Corporate Research, he developed simulation models for project planning (PSIM) and for analysing the impact of requirements volatility on SPI effectiveness (RESIM). For DaimlerChrysler Research and Technology he developed a simulation model in support of analysing strategic SPI programs. He is a member of the IEEE Computer Society, the ACM, The Institute of Mathematics and its Application (IMA), and the German Computer Society.
Rapid change and increasing software criticality are driving successful development and acquisition organizations to balance the agility and discipline of their key processes. The emergence of agile methods in the software community is raising the expectations of customers and management, but the methods have shortfalls and their compatibility with traditional plan-driven methods such as those represented by CMMI, ISO-15288, and EIA-632 is questionable. True believers from all sides are hawking solutions - Perplexity abounds! This tutorial pragmatically examines the aspects of agile and plan-driven methods through examples and case studies. We characterize home grounds where the approaches are most likely to succeed, identifying five critical dimensions that describe the agile/plan-driven spectrum. We present a risk-based method for developing balanced strategies that take advantage of the strengths and mitigate the weaknesses of both agile and plan-driven approaches and are tailored to your project and organization. Step-by-step walkthroughs of several example projects show how the method is applied. Finally, we lead you through a hands-on evaluation of your current organizational balance that helps you identify how it may change in the future and steps you may take to meet these new challenges. The tutorial is based on our new book, Balancing Agility and Discipline: A Guide for the Perplexed.
Prof. Richard Turner is a research professor in engineering management and systems engineering at the George Washington University. In support of the U.S. Department of Defense, he is responsible for identifying and transitioning new software technology into software-intensive defense systems. He is a co-author of CMMIŽ Distilled.
Many software engineers have been developed a large volume of program codes for more than 30 years. Very similar codes might have been independently developed at various places in the world or various situations in the history, without knowing other developers activities. There are a lot of technologies proposed for efficient reuse of program codes and components, but those technologies are scarcely used in current development environment. This workshop focus on the technologies that can be used to develp a kind of software archiving and retrieving system, which includes the followings: Collection engine of various source codes, Repository of source codes, Fast classification and clustering engine of source code components, Ranking engine of the components based on Component Rank method and Query engine for the code searcher.
The workshop will consist of a set of invited presentations and discussion session. All registered participants of Profes 2004 can attend the workshop without additional fee (Participants of workshop only have to pay workshop registration fee).
Workshop program is at http://sel.ist.osaka-u.ac.jp/~kusumoto/ACTJST/wsp.html.
| What's new | Program | Organi-zation | Program Comittee | Important Dates | Registration | Venue& Local Information | Hotels& Excursions | Previous Conferences |