III Conferência CMMI Portugal, Presentation 4: Make the Software Process Visible - Lessons learnt while preparing a future MOOC, Fernando Brito e Abreu, DCTI/ISCTE-IUL & CITI/FCT/UNL
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

III Conferência CMMI Portugal, Presentation 4: Make the Software Process Visible - Lessons learnt while preparing a future MOOC, Fernando Brito e Abreu, DCTI/ISCTE-IUL & CITI/FCT/UNL

  • 518 views
Uploaded on

Checking the validity of BPMN process models to indentify typical model smells and reduce students' learning curve.

Checking the validity of BPMN process models to indentify typical model smells and reduce students' learning curve.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
518
On Slideshare
518
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Portugal Make the Software Process Visible: Lessons learnt while preparing a future MOOC Fernando Brito e Abreu Associate Professor / Researcher DCTI/ISCTE-IUL & CITI/FCT/UNL 2013-10-18 My business has mostly been …
  • 2. SWEBOK 2014: the 15 Knowledge Areas • Software Engineering Economics • Software Requirements • Software Testing • Software Construction • Software Configuration Management • Computing Foundations • Software Engineering Models and Methods • Software Maintenance • Mathematical Foundations • Software Design • Software Engineering Management • Software Engineering Professional Practice • Engineering Foundations • Software Engineering Process • Software Quality CMMI is about the process! Capability Maturity Model Integration (CMMI) is a process improvement training and appraisal program and service administered and marketed by Carnegie Mellon University and required by many DOD and U.S. Government contracts, especially software development. Under the CMMI methodology, processes are rated according to their maturity levels, which are defined as: Initial, Repeatable, Defined, Quantitatively Managed, Optimizing.
  • 3. Let’s get our hands on it! • Let us … … discuss the process! … tailor the process! … assess the process! … grade the process! … improve the process! • but … … where is the process?
  • 4. Find the process!
  • 5. A process is … … a series of actions, changes, or functions bringing about a result … a coherent set of activities carried out by a collaborating group to achieve a goal [Business Process Management: A Rigorous Approach, Martyn Ould, BCS, 2005] A process is a coherent set of activities
  • 6. Waterfall process model Requirements Analysis Design Implementation Test Maintenance V process model Requirements Acceptance Analysis Release Design Integration Implementation
  • 7. W process model Requirements Requirements Review Analysis Acceptance Analysis Review Design Release Acceptance Testing System Testing Design Integration Integration Review Testing Implementation Code Review Spiral process model Determine Objectives, Alternatives and Constraints Evaluate Alternatives: Identify and Reduce Risk Plan Next Phases Develop and Verify Next-Level Product
  • 8. RUP process model © Fernando Brito e Abreu XP process model
  • 9. Scrum process model Scrum process model (detailed)
  • 10. Why is process modeling important? • Process models o describe how we do things o make the process visible! o facilitate discussing and improving the process o allow to automate tools (e.g. ASE) o allow checking process correctness Goals of a process model (1/3) • Descriptive (as is) o Track what actually happens during a process o Allows discussing the improvements that must be made to make it perform more effectively or efficiently
  • 11. Goals of a process model (2/3) • Prescriptive (to be) o Define the desired processes and how they should/could/might be performed o Establish rules, guidelines, and behavior patterns which, if followed, would lead to the desired process performance • They can range from strict enforcement to flexible guidance Goals of a process model (3/3) • Explanatory (why) o Provide explanations about the rationale of processes o Explore and evaluate the several possible courses of action based on rational arguments o Establish an explicit link between processes and the requirements that the model needs to fulfill o Pre-defines points at which data can be extracted for reporting purposes
  • 12. Why is process modeling important in IT? • software development process (e.g. CMMI-DEV) • web services orchestration (e.g. Oracle BPEL Process Manager, TIBCO BusinessWorks) • ERP workflows (e.g. SAP NetWeaver) • ITSM (IT Service Management) processes (e.g. ITIL and ISO/IEC 20000 processes) • IT Governance processes (e.g. COBIT) • Quality Management System processes (e.g. ISO/IEC 9000) Many ways for expressing IT processes • UML2’s Activity Diagrams • SysML Activity Diagrams • SPEM2 based diagrams • Event-driven Process Chain (EPC) • Colored Petri Nets • PSL (Process Specification Language) • Business Process Modeling and Notation (BPMN)
  • 13. Business Process Modeling and Notation • BPMN is a UML profile published by A UML profile is a a generic extension mechanism for customizing UML models for particular domains (e.g., aerospace, healthcare, financial) or platform (J2EE, .NET) Object Management Group (OMG) is an international, open membership, notfor-profit computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a wide range of technologies, namely model-based standards. • OMG’s BPMN versions: – – – – 1.1 – January 2008 1.2 – January 2009 2.0 – January 2011 2.0.1 – September 2013 BPMN: basic constructs • 3 kinds of flow objects – Activity – Gateway – Event • 3 ways of connecting – Sequence flow – Message flow – Association • Two types of container – Pools – Lanes (swimlanes)
  • 14. BPMN: activities An activity is work that is performed within a process Non-atomic (compound) activities Atomic activities BPMN: connections To show the order that activities will be performed in a process To show the flow of messages between two entities To associate artifacts and information with flow objects.
  • 15. BPMN: gateways Gateways are used to control how Sequence Flows interact as they converge and diverge within a process BPMN: events (63!) An Event is something that “happens” during the course of a business process. These Events affect the flow of the Process and usually have a trigger or a result. They can start, interrupt, or end the flow.
  • 16. BPMN: expanded subprocesses Gartner’s Magic Quadrant for BPM tools
  • 17. Bizagi Process Modeler (freeware) Modeling software processes with BPMN2 • • • • Software Engineering course (3rd year BSc) 150 to 200 students every year BPMN2 tutorial (around 3 hours in class) Assignment (around 2 weeks, in groups of 3 or 4) o 2011/2012 – Scrum instantiation o 2012/2013 – OpenUp instantiation o 2013/2014 – XP instantiation
  • 18. Title: Why MOOCs? Massive Open Online Courses
  • 19. MOOC Players • https://www.udacity.com/ • https://www.coursera.org/ • http://www.edxonline.org/ • More info o http://www.mooc-list.com
  • 20. MOOC Assessments • Assessment can be the most difficult activity to conduct online, and online assessments can be quite different from the bricks-and-mortar version. • The two most common methods of MOOC assessment are machine-graded multiple-choice quizzes or tests and peer-reviewed written assignments. Machine grading of written assignments is also underway.
  • 21. BPMN learning curve problem 100% 50 # Cases • Coverage of BPMN constructs 80% 40 60% 30 40% 20 20% 10 0% 0 BPMN elements used BPMN model checking problem • OMG’s BPMN standard syntactic rules – 300+ pages of well-formedness textual rules – Only partly enforced by modelling tools • BPMN modelling best-practices rules – May be defined at company level – No support by current modelling tools
  • 22. Results validation • Model checking upon a sample of 56 industry models # Errors 0 1 2 3 4 5 6 7 8 9 BPMN Standard Violation 53,6% 26,8% 12,5% 3,6% 1,8% 1,8% Best-Practices Violation 3,6% 7,1% 10,7% 19,6% 16,1% 25,0% 7,1% 5,4% 3,6% 1,8%
  • 23. Motivation • Contribute to attain better quality in process modelling using BPMN – Conforming to the BPMN 2.0 OMG standard – Incorporating process BPMN modelling bestpractices provided by experts in the field • Contribute to ease the learning curve in BPMN2 Proposed solution • Compile a catalogue of BPMN2 model smells • Formalize those smells upon the BPMN2 metamodel using the OCL constraints language • Develop an environment to perform BPMN 2 model checks Anacleto Cortez e Correia, PhD thesis, FCT/UNL, 2013
  • 24. From code smells to model smells BPMN metamodel grants unambiguity • The notation used in process modeling must be unambiguous o That unambiguity is granted by its grammar • The grammar of OMG’s languages such as BPMN are defined as a metamodel (M2) o The metamodel is expressed as a set of class diagrams where modeling constructs are defined (meta-classes), along with their acceptable relationships (meta-associations) The BPMN metamodel specification can be found at: http://www.omg.org/spec/BPMN/2.0/
  • 25. OMG’s Model Driven Architecture • BPMN models (M1 level) must be conformant to the BPMN metamodel (M2 level) BPMN metamodel BPMN process model BPMN process model instances BPMN2 metamodel - Large number of modelling constructs: - 151 metaclasses - 200 associations - Well-formedness rules are only stated in plain text This is a very small subset ;)
  • 26. BPMN model checking • Verification of well-formedness rules e.g. Catch Error Event must trigger an exception flow context CatchEvent inv catchErrorEventTriggerExceptionFlow: self.isErrorEvent() implies (self.oclAsType(BoundaryEvent). attachedToRef.isDefined() and self.outgoing_a.targetRef ->notEmpty()) BPMN model checking • Verification of best-practices rules – E. g. use explicitly Start Events and End Events context FlowElementsContainer inv bp_useExplicitStartAndEndEvents: existsExplicitStartAndEndEvents()
  • 27. BPMN model checker prototype OCL rule checker (Bremen Univ.) used for model smells detection BPMN model is saved in XPDL or XMI format BPMN metamodel instantiation BPMN model checking UML conformsTo conformsTo MM BPMN MM USE conformsTo XPDL/XMI Concrete Syntax conformsTo Transformation DOM, SAX, ATL USE Concrete Syntax
  • 28. Conclusions • BPMN2 is a good choice to make the process visible • BPMN2 allows quick adoption, but has a steep learning curve for mastering the richness of modeling constructs • BPMN2 tools have very limited model checking facilities • We developed a catalog of BPMN model smells • Our metamodel based model checker allows detecting all smells in that catalog, thus improving the quality of BPMN2 process models • We expect that our process model checker will improve the learning curve as well (still an hypothesis) Ongoing / Future work • Integrate model checking with two BPMN tools (Bizagi and Eclipse BPMN2 Modeler) • Compare the learning curves and model flaws with and without model checking (academic experiments in Portugal and Brazil) • “Real-world” process model assessments at FioCruz, UFRJ and Portuguese Air Force Headquarters during 2014 • Deploy our Test-Driven Modelling framework (J-Unit) • Semantic checking of BPMN process models – Similar to Mooshak for programming contests – Define process inputs and outputs and run the process
  • 29. © 2013 CMMI Portugal Conference Series – All Rights reserved. Make the Software Process Visible: Lessons learnt while preparing a future MOOC Thank you for your attention ;) For further info see the QUASAR research group website: https://sites.google.com/site/quasarresearchgroup/ Or contact me at: fba@iscte-iul.pt fba@fct.unl.pt 63