ESSENCE-POWERED SCRUM - A GENERIC APPROACH TO DESCRIBING PRACTICES USING ESSENCE KERNEL AND LANGUAGE PROFESSOR JUNE SUNG PARK, KAIST / SEMAT ESSENCE KERNEL Alpha Activity Space Competency 2 ALPHA Solution <fulfills Software System <produces Endeavor Stakeholders Work Team <performs and plans Way of Working Support> Requirements scopes and constraints> * Alpha means “Abstract-Level Progress Health Attribute.” <provide focuses> deal with in any software engineering project. <set up to address Alpha represents things to Opportunity use and consume> Customer 3 ALPHA STATE AND CHECKLIST 4 STATE OF SOFTWARE ENGINEERING PROJECT Oh, I guess it’s going OK? How is the project going? 5 STATE OF SOFTWARE ENGINEERING PROJECT Yeah, this is the current state. 6 Really? You’re sure? ALPHA DECOMPOSITION AND EXTENSION 7 An alpha may have lower-level, more granule sub-alphas whose states contribute to and drive the state of the super-alpha. • Alpha Sub-Alpha Alpha Extended Alpha Association between super-alphas and sub-alphas can be many-to-many. An alpha may be Extended (i.e., have the values of its attributes be changed) in the context of a Practice (such as Scrum). ACTIVITY SPACE 8 Activity spaces are containers of activities performed in a project. • An activity may be a part of another activity forming a work breakdown structure. Customer Explore Possibilities Solution Understand the Requirements Endeavor The association between activity spaces and activities can be many-to-many. Prepare to do the Work Ensure Stakeholder Satisfaction Understand Stakeholder Needs Shape the System Coordinate the Activity Implement the System Test the System Support Team Deploy the System Track Progress Use the System Operate the System Stop the Work ACTIVITY SPACE AND ALPHA STATE 9 Explore Possibilities Understand Stakeholder Needs Ensure Stakeholder Satisfaction Use the System Satisfied for Deployment Satisfied in Use In Agreement Represented Benefit Accrued Addressed Viable Stakeholder Recognized Activity Spaces Solution Needed Value Established Identified Pre and post conditions of each activity space are suggested (as a reference) in terms of alpha states in the kernel. Opportunity Involved Alpha States ESSENCE KERNEL EXTENSION Patterns can arrange language elements into arbitrary meaningful structures. Resources can be attached to any language element. Tags add user defined information to any language element. User-Defined Types detail, explain, and constrain the proper usage of particular patterns, resources, or tags. 10 ESSENCE LANGUAGE 11 METHOD DESCRIPTION IN ESSENCE LANGUAGE 12 Methods There are probably hundred thousands of methods applied in SE projects worldwide. There are about 300 well known Custom Method A are defined in terms of Custom Method B Practices are composed of practices reusable across projects. Those practices can be described using Essence kernel and language. A project method can be composed of practices. Essence Kernel OMG Standard Essence Language are described using ESSENCE KERNEL AND METHOD Work defines / produces / updates> targets> Alpha State Task < defines Activity Approach Activity Space < is composed of Competency Practice Method defines one way to accomplish > Work Product <has Alpha 13 PRACTICE DESCRIPTION IN ESSENCE LANGUAGE A software engineering practice can be described in Essence language by mapping: Essence Kernel Practice Alpha Work Product • work products to Alphas, • activities to Activity Spaces 14 Alpha State • roles to Competencies Mapping a practice to Essence produces a mapping from activities to “default” state transitions. Activity Space Activity Competency Role ACTIVITY AND STATE TRANSITION Activities can be assigned target alpha By mapping activities to activity spaces Alpha State targets> states or checkpoints (i.e. criteria of done). Work Product you can get “default” target states of each activity. produces / updates> the software engineering project. Alpha <has Activities may change the alpha states of 15 Activity Activity Space Competency 16 Work Product produces / updates> Alpha organizes> <has Stakeholder Representation Analysis Development Testing Alpha State targets> Leadership Management Activity Is qualified to perform> Endeavor Solution Customer COMPETENCY AND ROLE Activity Space The role can be modeled as a Pattern. Patterns can arrange language elements into arbitrary meaningful structures. profiles> Competency Role PRACTICE DESCRIPTION APPROACH 17 1. Build an Ontology of the Terms used in the Practice Parse the text description of the Practice to build a Glossary. Classify the Terms in the Glossary into Work Products, Activities, Roles, etc. Add missing Terms such as activities for producing or updating work products and vice versa. Build Practice Ontology 2. Map the Terms to Essence Language Elements. Determine alphas, alpha states and checkpoints corresponding to each work product. Determine activity spaces, beginning and target alpha states, target checkpoints corresponding to each activity. Determine competencies required of different roles. 3. Decompose and Extend Essence Kernel Elements to represent detailed concepts, composite constructs and complex relationships. Define sub-alphas, sub-activity spaces, patterns, resources and tags to represent concepts in the practice. Map Terms to Essence Language Elements Decompose and Extend Essence Kernel Elements if necessary SCRUM PRACTICE 18 Development Team Task Breakdown Product Increment Jeff Sutherland and Ken Schwaber, The Scrum Guide, 2013. (http://www.scrumguides.org/) SCRUM GLOSSARY Key Terms Classification 19 Relationship Role Activity Development Team Work Product Daily Scrum Definition of Done Developer Development Team Activity Work Product Role Role Development Work Activity Improvement Plan Work Product Sprint Retrospective Increment Work Product Sprint Review Sprint Plan, Sprint Goal, Sprint Backlog, Definition of Done Product Backlog Work Product Product Backlog Refinement, Sprint Review Product Backlog Item Product Backlog Item Product Backlog Refinement Work Product Activity Product Owner Role Scrum Event Scrum Master Scrum Team Sprint Sprint Backlog Sprint Goal Sprint Plan Sprint Planning Sprint Retrospective Composite Activity Role Work Product Milestone Work Product Work Product Composite Work Product Activity Activity Sprint Review Activity Stakeholders Total Work Remaining Work Unit Role Work Product Work Product Sprint Retrospective Daily Scrum Product Owner Added Terms Sprint Plan, Total Work Remaining Increment, Product Backlog Refinement Sprint Backlog, Development Work, Increment Sprint Backlog, Development Work Plan, Work Unit, Increment Development Work Plan Product Backlog Creation Product Backlog Product Backlog Product Backlog Creation, Product Backlog Refinement, Sprint Review Product Backlog Product Backlog Creation Sprint Retrospective PO, DT, SM Development Team Product Backlog, Sprint Goal, Development Work Sprint Planning Sprint Planning Sprint Plan Sprint Plan, Definition of Done, Increment, Product Backlog, Total Work Remaining, Sprint Plan Scrum Master Stakeholders, Sprint Review Sprint Review, Daily Scrum Sprint Backlog, Development Work SCRUM ONTOLOGY 20 SCRUM TO ESSENCE KERNEL MAPPING Scrum 21 Explore Possibilities Opportunity Product Backlog Product Backlog Item Understand the Requirements Sprint Goal Requirements Understand Stakeholder Needs Product Backlog Creation Product Backlog Refinement Sprint Backlog Shape the System Definition of Done Software System Increment Work Development Work Plan Implement the System Development Work Test the System Coordinate the Activity Sprint Planning Total Work Remaining Track Progress Daily Scrum Team Scrum Team Ensure Stakeholder Satisfaction Sprint Review Way of Working Improvement Plan Support the Team Sprint Retrospective Work Unit COMPOSITE CONSTRUCTS IN SCRUM Sprint Planning Development Work Daily Scrum produces may change Sprint Plan Sprint Goal Product Backlog Item Sprint Backlog Development Work Plan Conducts Scrum Event Sprint 22 Increment Produces Sprint Review Sprint Retrospective Manages Product Backlog Product Owner Performs Scrum Team Development Team Creates Ensures enactment of Scrum Master Scrum provides input to Work Unit WORK PRODUCT TO ALPHA STATE MAPPING Work Product 23 Alpha State Alpha Begin In Target Requirements Bounded Acceptable Opportunity Solution Needed Viable Sprint Goal Requirements Bounded Coherent Sprint Backlog Requirements Coherent Acceptable Definition of Done Requirements Acceptable Fulfilled Development Work Plan Work Initiated Prepared Software System Architecture Selected Ready Work Prepared Concluded Total Work Remaining Work Started Under Control Scrum Team Team Seeded Performing Improvement Plan Way of Working Foundation Established Working Well Product Backlog Increment WORK PRODUCT TO ALPHA STATE MAPPING Increment Product Backlog Sprint Goal Sprint Backlog Definition of Done Dev Work Plan Increment TWR 24 Scrum Team Improve Plan WORK PRODUCT DEFINITION CARD Scrum Practice Sprint Backlog Product Backlog Item 25 Understand Stakeholder Needs Development Work Plan Understand the Requirements Work Unit Sprint Planning Coordinate the Activity Requirements Coherent The stakeholders accept that the requirements describe an acceptable solution. The rate of change to the agreed requirements is relatively low and under control. The value provided by implementing the requirements is clear. The parts of the opportunity satisfied by the requirements are clear. The requirements are testable. Commitment is made. Cost and effort of the work are estimated. Resource availability is understood. Governance policies and procedures are clear. Risk exposure is understood. Acceptance criteria are defined and agreed with client. The work is broken down sufficiently for productive work to start. Tasks have been identified and prioritized by the team and stakeholders. A credible plan is in place. Funding to start the work is in place. The team or at least some of the team members are ready to start the work. Integration and delivery points are defined. Acceptable Work Initiated Prepared ACTIVITY TO ALPHA STATE MAPPING Product Backlog Creation Explore Possibilities Product Backlog Refinement Understand St. Needs Understand Reqts Understand Reqts Understand St. Needs Sprint Planning Understand Reqts Coordinate Activity Development Work Shape the System Daily Scrum Track Progress Sprint Review Ensure St. Satisfaction Sprint Retro. Support the Team Implement / Test Track Progress In Place Working Well Retired Way of Working Closed Principles Established Foundation Established In Use Started Under Control Concluded Prepared Initiated Work Adjourned Formed Collaborating Performing Seeded Team Retired Operational Ready Software System Fulfilled Architecture Selected Demonstrable Usable Addressed Acceptable Coherent Activity Spaces Requirement Bounded Activity Addressed Benefit Accrued Conceived Alpha States Identified Solution Needed Value Established Viable Opportunity 26 ACTIVITY DEFINITION CARD 27 Scrum Practice Sprint Review Ensure Stakeholder Satisfaction Track Progress Product Owner Development Team Sprint Goal Sprint Backlog Scrum Master Increment Stakeholder Product Backlog Opportunity Viable A usable system that demonstrably addresses the opportunity is available. The stakeholders agree that the available solution is worth deploying. The stakeholders are satisfied that the solution produced addresses the opportunity. Addressed Work Under Control Concluded All outstanding tasks are administrative housekeeping or related to preparing the next piece of work. Work results have been achieved. The stakeholders have accepted the resulting software system. SCRUM WORKFLOW 28 METHOD COMPOSITION Scrum Agile Modeling 29 Explore Possibilities Stakeholder Opportunity Opportunity Product Backlog Product Business Backlog Requirements Item Understand the Requirements Sprint Goal Requirements Sprint Backlog Shape the System Definition of Done Software System Understand Stakeholder Needs Implement the System Software Requirement Model Increment Software Architecture Business Analysis Product Backlog Creation Product Backlog Refinement Spike Development Work Model Storming Test the System Coordinate the Activity Sprint Planning Total Work Remaining Track Progress Daily Scrum Team Scrum Team Ensure Stakeholder Satisfaction Sprint Review Way of Working Improvemen t Plan Support the Team Sprint Retrospective Work Development Work Plan Work Unit METHOD COMPOSITION 30 Kernel elements covered by Scrum Kernel elements additionally covered by Agile Modeling Add XP Add SPM Add Dev Ops CONCLUSION You can use Essence kernel to: Describe practices Merge them into a project method Monitor health and progress of the project Adaptively determine project goals and activities based on the current state assessment. We’d better learn and use Essence. I think so, too. It really makes 31 defining and using methods easy.