® IBM Software Group Timeboxes in a New Paradigm of Behavior Modeling Barclay Brown, ESEP IBM barclayb@us.ibm.com Innovation for a smarter planet © 2013 IBM Corporation IBM Software Group | Rational software Behavior Behavior of organizations and systems is modeled in various ways Behavior refers to the activities of organizations and technological systems, and their interactions What is referred to as behavior here has also been described as: Organizational behavior Business processes System functional flow Organization System Activity Flow Task procedures Organization Use case flow of events Operational scenarios Concept of Operations (CONOPS) Innovation for a smarter planet System IBM Software Group | Rational software Two Paradigms Two primary paradigms, the process paradigm and the systems paradigm. Process paradigm: behavior is described in processes, which consist of sequences of activities. Systems paradigm, behavior is described as sequences of activities and interactions between systems, sub-systems and users, in order to achieve a user goal. New Energy Policy Process Claim Form Detect Target Order a Book Online Brighten Screen in Sunlight Levels of Abstraction Innovation for a smarter planet IBM Software Group | Rational software A Personal Example A complex system Complex system interaction How to model a life? Processes? A day in the life Career, family, hobby processes? Use Cases? Innovation for a smarter planet Complex systems using technology “The unexamined [unmodeled?] life is not worth living” - Socrates IBM Software Group | Rational software Key Concept: Time and Sequence The key to untangling and understanding complex processes is the representation of time. Time = Past + Present + Future The past looks linear, like a timeline The present looks simultaneous, like a process The future looks timeboxed, like a plan Innovation for a smarter planet IBM Software Group | Rational software Past, Present and Future PRESENT TIMELINE Past events are easy to see on a linear timeline (we know when they happened) A process can be seen as happening now, in the present (but of course this isn’t really true—the present is of infinitesimally short duration, so nothing actually happens in the present) The future really contains processes contained in timeboxes Innovation for a smarter planet IBM Software Group | Rational software An Example: he Heart’s Past, Present and Future PAST FUTURE PRESENT Innovation for a smarter planet IBM Software Group | Rational software Timelines: A natural view of time http://www.scientificamerican.com/article/space-shuttle-retirement-timeline/ Innovation for a smarter planet IBM Software Group | Rational software Timeboxes • Boxes of time • Have start time, end time and duration – Any or all of these may be unknown • All start/end dates/times are ranges – 11/11/13 means the 24 hour period starting at midnight – 3:05pm means the 60 second period starting 3:05:00 (or 3:04:31?) – Q2 means the 90 day period beginning April 1. • Durations ideally also include uncertainty – – – – Best case: 2 hours Worst case: 5 hours Most likely case: 3 hours Triangular distribution used to express estimates • Actual outcome has skewed distribution (more often late then early) • Timeboxes “connect” to each other only in time Innovation for a smarter planet IBM Software Group | Rational software Timebox Examples Implement Interface by Friday RFP Response Q2-Q3 2-4 hours Q2 July 1, 00:00:00 Sep 30, 23:59:59 Q3 ? Friday Timeboxes on a timeline Innovation for a smarter planet IBM Software Group | Rational software Timeboxes with Timelines Examples (cont’d) Innovation for a smarter planet IBM Software Group | Rational software Ongoing Processes ABSTRACT TIMELINE Indeterminate start, end and duration Shows relative time positioning Allows for zooming in and out in modeling tools Innovation for a smarter planet IBM Software Group | Rational software Nesting/Recursion in Timeboxes A timebox may contain other timeboxes A timebox may contain a timeline or not. If a timebox does contain a timeline, the timeline must synchronize with all other timelines If it does not, then contained timeboxes are simply grouped and assumed to all occur within the interval of the containing timebox. Innovation for a smarter planet IBM Software Group | Rational software Benefits of Timeboxes in Behaviour modelling Processes can be shown in relation to the passage of time, without committing individual process elements to specific points in time. Iterative and conditional process flows can be shown where they are planned to occur in time, without reducing them to a series of specific events and activities. Processes can be shown as related to each other in time without implying causal relationships and direct connections. The difference between past, present and future events and activities, is incorporated in a single model. Planned (future) activities flow seamlessly into the past as uncertainty is eliminated. Enough information about the uncertainty of timing is included that overall behavioural models can be constructed and simulated using Monte Carlo and other simulation techniques. Variable precision--start, end and duration times can be expressed in scales of seconds, minutes, days, months or years. (Zooming in and out in time can be automated in graphical tools.) Innovation for a smarter planet Software and Systems Engineering | Rational Learn more at: IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management Rational trial downloads Leading Innovation Web site developerWorks Rational IBM Rational TV IBM Business Partners IBM Rational Case Studies © Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. © 2011 IBM Corporation Software and Systems Engineering | Rational Copyright information © Copyright IBM Corporation 2011 IBM Corporation Software Group Route 100 Somers, NY 10589 Produced in the United States of America 03-07 All Rights Reserved. Build Forge, ClearCase, ClearQuest, IBM, the IBM logo, PurifyPlus, Rational, Rational Rose, Rational Test RealTime, Rational Unified Process, RUP, SoDA, XDE and WebSphere are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft is a trademark of Microsoft Corporation in the United States, other countries, or both. Other company, product and service names may be trademarks or registered trademarks or service marks of others. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided “as is” without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software. 16 © 2011 IBM Corporation