Full Day tutorial
Requirements engineering practitioners face huge challenges. Most of these were articulated quite clearly over 40 years ago. They include:
- Need to accommodate constant change
- Inability for system builders to understand needs of users
- Inability for stakeholders to know what they want until they see it
- Communication chasm between problem owners and solution providers
Yet after 40 years of requirements engineering research, practitioners still face identical challenges. What is it about the “requirements engineering problem” that is so difficult to solve? What are these inherent challenges? Are these challenges so formidable that they will never be overcome? Or is the difficulty of requirements engineering proportional to the complexity of the problems we are trying to solve, and the problems we are trying to solve are growing in complexity at a rate faster than our requirements engineering capability can keep pace with? Why is it that after 6,000+ papers written by 6,000+ researchers, requirements engineering practitioners have basically the same problems today they had 40 years ago?
The purpose of this tutorial is to explore some of industry’s RE challenges. Why only “some”? Well, RE addresses a problem that exists in system development, and there are millions of types of systems. RE challenges are not only a function of the types of systems but also the types of situations (political, human, historical, financial, etc), and one person cannot possibly experience all of these. So, there are an infinite number of situations. I will of course categorize the commonalities among situations and RE challenges so we can learn some common lessons.
I have practiced requirements engineering in the “real world” for thirty years now (hopefully, it has been thirty unique years of experience rather than thirty reoccurrences of the same single year of experience). During this tutorial, I will share these experiences with you, tell you about the RE problems we faced in both small and large companies, and in both custom- and mass-market situations. Via many anecdotes and stories, I will also tell you about how we solved those problems, and why 99.9% of the RE research results and 99.9% of the commercially available RE tools were/are of little use in solving the real problems (Note I do not exclude my own RE research papers from this harsh criticism).
Alan Davis is a professor of business strategy at the University of Colorado at Colorado Springs. He has spent roughly half his career in industry and half in academe. His industrial experience includes:
- President and CEO of Spiral Funds, Inc., a company that enables consumers to donate a percent of their online pur-chases to their favorite charity – at no cost to them.
- Founder, Chairman and CEO of Omni-Vista, Inc., a company that enabled companies to make trade-off decisions between features, time-to-market, development risk, and ROI.
- Founding member of the board of directors of Requisite, Inc., creators or RequisitePro. The company was acquired by Rational Software Corporation in February 1997, and subse-quently acquired by IBM in 2003.
- Vice president of engineering services at BTG, Inc., a Virginia-based Government contractor that went public in 1995, was acquired by Titan in 2001, and was subsequently acquired by L-3 Communications in 2003.
- A director of R&D at GTE Communication Systems in Phoenix, Arizona, acquired by Verizon in 1999.
- Director of the Software Technology Center at GTE Labora-tories in Waltham, Massachusetts, acquired by Verizon in 1999.
- Consultant for many corporations over the past thirty years, including Boeing, Cigna Insurance, Dr. Ed, Federal Express, FrontRange Solutions, GreenGold Lubricants, IBM, Loral, MCI, Rational Software, Rockwell, Samsung Electronics, Schlum-berger, Sharp, Software Productivity Consortium, Storage Tek, Sumitomo, and XAware.
- Current member of the selection committee for High Altitude Investors (HAI), an angel club in Colorado Springs.
- Mentor for many companies in the Colorado Springs Techno-logy Incubator (CSTI).
His academic experience includes:
- University of Colorado at Colorado Springs (Professor of Business Strategy and Entrepreneurship; formerly Professor of Information Systems and Project Management; formerly El Pomar Professor of Software Engineering)
- George Mason University (Professor of Information Systems; Chair & Professor of Computer Science)
- University of Tennessee (Assistant Professor of Computer Science)
- Atma Jaya University in Yogyakarta, Indonesia (Fulbright Scholar)
- University of Jos, Nigeria (Fulbright Scholar)
- Universidad Politécnica de Madrid, Spain (Visiting Professor)
- University of Technology, Sydney, Australia (Visiting Pro-fessor)
- University of the Western Cape, Cape Town, South Africa (Volunteer Professor).
He was Editor-in-Chief of IEEE Software (1994-1998) and a member of the editorial boards of Journal of Systems and Software (1987-2010) and Communications of the ACM (1981-1991). He has been a member of the editorial board of the Requirements Engineering Journal since 2005. Dr. Davis has published 100+ articles in journals, conferences and trade press, and lectured 600+ times in 28 countries (he has had the honor of visiting 66 countries). He is the author of 5 books:
- Software Requirements: Objects, Functions and States (Prentice Hall, 1st ed 1990; 2nd ed 1993),
- the best-selling 201 Principles of Software Development (McGraw Hill, 1995),
- Great Software Debates (Wiley and IEEE CS Press, 2004), and
- Just Enough Requirements Management (Dorset House, 2005), and is currently finishing up a sixth,
- Will Your New Start-Up Make Money? (2011).
He is a co-founder of the IEEE International Conference of Requirements Engineering, and served as general chair in 1994. He has been a fellow of the IEEE since 1994. He earned his Ph.D. and masters in computer science from the University of Illinois at Urbana-Champaign, and bachelors in mathematics from the State University of New York at Albany. Find out more about Al Davis at www.reqbib.com/adavis
Full Day tutorial
A rich model for RE provides a comprehensive structure for what needs to be elicited, evaluated, specified, consolidated, and modified. It can be used for analysis, explanation, negotiation with stakeholders, and making decisions among options. The requirements document can be semi-automatically generated from it. Such model should capture the system-as-is and the system-to-be through complementary views, integrating goals and their associated risks; agents, their responsibilities, interfaces and behaviors; interaction scenarios; conceptual objects and their links; and goal operationalizations through requirements on software operations and assumptions on environment tasks.
Beyond the mere use of modeling notations, what really matters is the quality and usefulness of the elaborated models, and the process according to which such models are built. Our experience in teaching modeling for more than 20 years to students and practitioners has convinced us that effective guidance in model building is what people need the most.
This tutorial presents a blend of complementary techniques for constructing multi-view models for RE. The techniques, taken from , are of different types. Heuristic rules help identify, refine, or abstract model items within a view. Semi-formal derivation rules allow items in a view to be obtained systematically from items in another view. Model building patterns can be reused through instantiation in matching situations. Bad smells allow modellers to avoid common pitfalls.
Axel van Lamsweerdeis Full Professor at the Department of Computing Science of the Universite catholique de Louvain, Belgium. He was formerly research associate at Philips Research Labs and professor at the universities of Namur and Bruxelles. He was also research fellow at the University of Oregon and the Computer Science Lab of Stanford Research Institute (Menlo Park, CA). He was co-founder of two software technology transfer centers supported by the European Union.
His research interests are in precise techniques for requirements engineering, system modeling, high assurance systems, lightweight formal methods, process modeling and analysis, medical safety, and knowledge-based software development environments. Since 1990 he has been instrumental in the development of the KAOS goal-oriented modeling language, method, and toolset. The method and toolset have been used worldwide in more than 25 industrial projects. He is author of the book "Requirements engineering: From System Goals to UML Models to Software Specifications" (Wiley).
*** W I T H D R A W N ***
Complex embedded systems consist of software and hardware components that operate autonomous devices interacting with the physical environment. The complexity of such systems makes the design very challenging and demands for advanced validation techniques. In safety critical applications such as aerospace, avionics and railways, the use of formal methods is of paramount importance both for requirements and or design validation. Hybrid automata are a clean and consolidated formal language for modeling embedded systems which include discrete and continuous dynamics. They are based on a finite-state automaton structure enriched with invariant and flow conditions to model the continuous dynamics. Their requirements are typically formalized in particular temporal logics. The tutorial aims at giving an overview of typical requirements of complex embedded systems and the issue of their validation. We will give a general view of the state-of-the-art in the area and of the problems that are still open. In particular, we will ponder on the difficulties of formalizing the requirements in logics for hybrid automata, on the complexity of analyzing such languages, and on the challenges of presenting the results as executions with discrete and continuous dynamics. We will present a methodology and a series of techniques for the formalization and validation of high-level requirements for complex embedded systems. During the tutorial the methodology will be used to formalize some examples of requirements specifications from real industrial projects.
Alessandro Cimatti is the head the Embedded Systems Unit of the Fondazione Bruno Kessler, Trento, Italy. Cimatti received a M.S. degree in Electronic Engineering from the University of Genova in 1988. He joined the Institute for Scientific and Technological Research in Trento, Italy, in 1990. Cimatti has been participating in and leading several technology transfer projects in the design and verification of safety critical systems. His research interests include formal verification methods, satisfiability modulo theories, and their application to requirements engineering, automated planning, monitoring, and diagnosis.
Marco Roveri is a senior researcher in the Embedded Systems Unit of the Fondazione Bruno Kessler, Trento, Italy. He received a M.S. degree in Computer Science Engineering from the University of Genova, Italy, in 1998. He received the Ph.D. degree in Computer Science from the University of Milano, Italy in 2002. He joined the Automated Reasoning Division of the Istituto Trentino di Cultura, Trento, Italy, in 1998, First as a consultant, and in 2002 as a full time researcher. In 2008 he was appointed as senior researcher in the Embedded Systems Unit of the Fondazione Bruno Kessler, Trento, Italy. His research interests include automated formal verification of hardware and software systems, formal requirements validation of embedded systems, and automated model based planning.
Angelo Susi is a researcher in the Software Engineering Unit of the Fondazione Bruno Kessler, Trento, Italy. He received a M.S. degree in Computer Science Engineering from the University of Roma La Sapienza", Italy. He joined the Institute for Scientific and Technological Research in Trento, Italy, in 2000, as a full time researcher. His research interests include requirements engineering, requirements validation, agent/goal-oriented software engineering methodologies, software testing, case-based reasoning and Machine Learning.
Stefano Tonetta is a Post-Doctoral researcher in the Embedded Systems Unit of the Fondazione Bruno Kessler, Trento, Italy. He received a M.S. degree in Mathematics in 2001 and a Ph.D. degree in Informatics and Telecommunications in 2006 from the University of Trento. From 2006 to 2007, he was a Post-Doctoral scholar at the Faculty of Informatics of the University of Lugano, Switzerland. In 2007, he won a Post-Doctoral fellowship funded by the Provincia di Trento for a project on requirement analysis and verification. His research interests include software and hardware formal specification and verification, in particular, temporal logic and model checking.
Half Day tutorial
When the requirements and the interaction design of a system are separated, they will most likely not fit together, and the resulting system will be less than optimal. Even if all the real needs are covered in the requirements and also implemented, errors may be induced by human-computer interaction through a bad interaction design and its resulting user interface. Such a system may even not be used at all. Alternatively, a great user interface of a system with features that are not required will not be very useful as well.
So, the main topics of this tutorial are requirements and interaction design, as well as their joint modeling through discourse models and ontologies. Our discourse models are derived from results of human communication theories, cognitive science and sociology (even without employing speech or natural language). While these models were originally devised for capturing interaction design, it turned out that they can be also viewed as specifying classes of scenarios, i.e., use cases. In this sense, they can also be utilized for specifying requirements. Ontologies are used to define domain models and the domains of discourse for the interactions with software systems. User interfaces for these software systems can be generated semi-automatically from our discourse models, domain of discourse models and specifications of the requirements. This is especially useful when user interfaces for different devices are needed. So, requirements meet interaction design to make applications both more useful and usable.
Hermann Kaindl is the director of the Institute of Computer Technology at the Vienna University of Technology. He joined this institute in early 2003 as a full professor.
Prior to moving to academia, he was a senior consultant with the division of program and systems engineering at Siemens AG Austria. There he has gained more than 24 years of industrial experience in software development and human-computer interaction. He has published four books and more than a hundred papers in refereed journals, books and conference proceedings. He is a Senior Member of the IEEE and a Distinguished Scientist Member of the ACM, and he is on the executive board of the Austrian Society for Artificial Intelligence. He has previously held tutorials at CAiSE’00, RE’01, RE’02, HICSS-36, INCOSE’03, RE’03, CADUI-IUI’04, INCOSE’04, RE’04, HICSS-38, IRMA’05, INCOSE’05, AAAI’06, HCI’06, OOPSLA’06, HICSS-40, ICONS’07, INCOSE’07, AAAI’07, IFIP Interact’07, OOPSLA’07, HICSS-41, ICCGI’08, RE’08, ICSEA’08, ICIW ’09, IFIP Interact’09, SMC’09, HICSS-43, ACHI’10, ACM EICS’10, ICSEA’10, TdSE’10 and HICSS-44.
Diagrams form an important part of the “language” of requirements engineering (RE) practice: most RE approaches use diagrams as the primary basis for documenting, communicating and validating business requirements. Diagrams play a critical role in communicating with business stakeholders as they are widely believed to convey information more effectively to non-technical people than text. Yet surprisingly, RE practitioners typically receive no training in how to produce “good” diagrams. There is a lack of theory about what makes diagrams effective and a lack of sound principles for constructing them. In the absence of this, practitioners are forced to rely on their intuition and experience (which is often wrong), and often make layout decisions that undermine communication. As a result, most RE diagrams produced in practice today do not communicate effectively, as parodied in the cartoon below: although they are intended as a way of communicating with business users and management, they more often act as a barrier than an aid to communication.
Both field and laboratory studies show that business stakeholders understand RE diagrams very poorly and that most analysts don’t even show diagrams to end users. Ironically, diagrams are often translated into text for verification with users, which seems to contradict the widely held assumption that diagrams are more effective than text for this purpose: it also addresses the symptoms rather than the cause of the problem. The goal of this tutorial is to teach participants how to produce cognitively effective diagrams: diagrams that are optimised for human understanding and problem solving. It defines 7 principles for producing effective diagrams.
Daniel Moody is Director of Ozemantics, a Sydney based information management consultancy firm and an Adjunct Professor in the Faculty of Business at the University of Twente (The Netherlands). He is recognized as one of Australia’s leading experts in data modeling and data management and has an international reputation in these fields. He holds a PhD in Information Systems from the University of Melbourne (Australia’s top ranked university) and has held senior positions in some of Australia’s leading corporations and consultancy firms. He has conducted consulting assignments in 12 different countries, covering a broad range of industries. He has also published over 100 scientific papers, been a keynote speaker 9 times and chaired national and international conferences. He was the inaugural President of the Australian Data Management Association (DAMA), former Vice-President on the DAMA International Board and is listed in Who's Who in Science and Engineering.
The User Requirements Notation (URN) is the first standard (ITU-T Recommendation Z.151) that combines modeling concepts and notations for goals, intentions, and scenarios. The two complementary notations of URN are GRL used mainly for non-functional requirements, quality attributes, and reasoning about alternatives and UCM used mainly for operational requirements, functional requirements, and performance and architectural reasoning. This technical briefing first gives a high-level overview of the basic concepts and notations of URN, together with the main requirements analysis, transformation, and management techniques relevant to URN.
A major challenge for business process modeling and compliance is the constantly changing business environment, which may quickly lead to outdated and non-compliant processes. This technical briefing describes in detail a) the advantages of modeling business processes and their impact on the overall goals of business stakeholders with URN, b) how to model compliance to legal requirements, c) how information may be captured for monitoring purposes of the modeled business process, and d) how advanced URN techniques may be used to adapt underperforming and non-compliant business processes at run-time. Consequently, the URN-based technique allows for business processes to remain aligned longer with the business goals of stakeholders and legal compliance requirements.
Gunter Mussbacher is a postdoctoral fellow at Carleton University, Canada. For more than a decade, he has been involved in the standardization of URN at ITU-T, initially as a research engineer for the Strategic Technology department of Mitel Networks and later on during his PhD at the University of Ottawa. He has published extensively on the topic of URN, e.g., in REJ and TAOSD, co-edited the first official version of URN (2008/11), and taught software/requirements engineering courses during his MSc and PhD. His PhD focused on AoURN, a framework that combines goal-oriented, scenario-based, and aspect-oriented modeling for requirements. Since 2008, Gunter has served as a PC member or co-organizer for EA, AOM, SAM, MoDRE, and URN Workshops as well as SDL 2011 and the RE track at ACM-SAC 2012.
Gunter has taught URN-related tutorials numerous times at venues such as
RE, AOSD, ICSE, UML, the SDL Forum, and various universities. For details
Sepideh Ghanavati is a PhD candidate in Computer Science at the University of Ottawa, Canada. She has been working on business process compliance with the User Requirements Notation for about 6 years during her MSc and PhD. She contributed to the first official version of URN (2008/11) mainly in the area of goal modeling analysis algorithms. She taught many software/requirements engineering courses during her PhD, and her work has been published in journals (IJEB, IJIS, and Electronic Commerce Research) as well as at conferences and workshops such as RE, CAiSE, and RELAW. For more information see: http://sites.google.com/site/sepidehghanavati/.
Alireza Pourshahid received his MSc degree in E-Business Technologies from the University of Ottawa in 2008 and is now working at IBM. He is also a PhD student at the University of Ottawa. His main research interests are business process and performance management, process modeling, trust modeling, and software development methodologies. His work has been published in journals (IJEB and Electronic Commerce Research) and he received the best paper award at MCETECH 2008. Alireza has been co-chair and speaker in several workshops, tutorials, and conferences including CASCON, WER, and MCETECH. For more information see: http://www.alirezapourshahid.com/.
Azalia Shamsaei received her MSc degree in Advanced Method in Computer Science from Queen Mary University of London in 2005. After working for two years in industry as a Software Engineer, she joined the University of Ottawa as a PhD candidate in Computer Science in 2008 in computer science department. Her research interests include requirements engineering, business process modeling and compliance, and Business Intelligence (BI). She publishes her work in different conferences. In 2010, Azalia joined the Ottawa Hospital as a BI analyst to improve the hospital’s BI reporting system. For details see: https://sites.google.com/site/azaliashamsaei/.
*** W I T H D R A W N ***
The OMG Systems Modeling Language (OMG SysML™) is a general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems.
SysML includes a graphical construct to represent text based requirements and relate them to other model elements. The requirements diagram captures requirements hierarchies and requirements derivation, and the satisfy and verify relationships allow a modeler to relate a requirement to a model element that satisfies or verifies the requirements. The requirement diagram provides a bridge between the typical requirements management tools and the system models.
During thistechnical briefing, we will explore in depth the additional constructs proposed by SysML (compared to UML) to model requirements and traceability. We will also present industrial feedback on this topic and highlight the pros and cons of having the requirements stored in a modeling tool.
Pascal Roques is a senior consultant and trainer, specialized in modeling topics. Pascal has been modeling for more than twenty years in various domains and companies. He began with SADT and OMT, then moved to UML (OCUP Advanced Certification) and RUP in Valtech, where he was in charge of the Modeling part of the Training catalog. Pascal is now working on his own at PRFC, mainly in the field of Systems Modeling with SysML. He is also Chairman and co-founder of SysML France, and published the first book about SysML in French (Eyrolles, 2009).
*** W I T H D R A W N ***
New product development is usually a compromise between customer requirements, existing product line architectural constraints and commercial needs. Many product innovations are cost-effective extensions of a product line, and draw on a deep knowledge of existing processes, products or services. Success emanates from the technology used to capture the deep knowledge and manage its reuse. In this tutorial we describe how requirements for a product line can be captured, managed and reused to generate the requirements for innovative new products. We will discuss how selections of requirements for new products are often constrained by the design of the existing product line architecture. A key technical issue is the efficient management of the commonality and variability of requirements between products. One approach is to establish a pool of reusable requirements and to construct the requirements for a new product by making a selection from the pool.
Mike Mannion is Vice-Principal (Learning & Teaching) and Professor of Computing at Glasgow Caledonian University, Glasgow, Scotland, UK. He has a BSc in Computer Science from Brunel University and a PhD in Artificial Intelligence from Bristol University. He has several years’ SW engineering industrial experience, is a former Chairman of the British Computer Society Special Interest Group in SW Reuse, served as a member of the British National Space Centre’s SW Steering Group. His research interests include product-line engineering, SW engineering and engineering education.
Hermann Kaindl is the director of the Institute of Computer Technology at the Vienna University of Technology. He joined this institute in early 2003 as a full professor. Prior to moving to academia, he was a senior consultant with the division of program and systems engineering at Siemens AG Austria. here he gained more than 24 years of industrial experience in SW development. His current research interests include SW and systems engineering with a focus on RE, and human-computer interaction as it relates to interaction design and automated generation of user interfaces. He has published 4 books and more than 100 refereed papers in journals, books and conference proceedings.