Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Essence Initiative Ivar Jacobson. Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed.

Similar presentations


Presentation on theme: "The Essence Initiative Ivar Jacobson. Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed."— Presentation transcript:

1 The Essence Initiative Ivar Jacobson

2 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

3 Twenty years ago it was all about OO Fifteen years ago it was about components, UML, Unified Process (RUP) Twelve years ago it was about CMMI Some years ago it was about XP Now it s about Scrum, Lean and Kanban Tomorrow ??? It looks as if we are driven by fashion All are good, but none has everything you need!

4 No Common Ground Everyone of us knows how to develop our own software, but as a community we have no widely accepted common ground

5 A huge number of methods … –They are all unique, so they cannot be compared –We cannot select the best practices from them –We dont know which methods we have in a large company –You have no solid knowledge which you can take from job to job

6 The lack of credible experimental evaluation and validation We throw out our old method and replace it with a new popular one without fully understanding the consequences:

7 Industry Practice A damaging split Academic Research

8 Being in the software development business Everyone of us knows how to develop our software, but as a community we have no widely accepted common ground

9 A CASE FOR ACTION STATEMENT Software engineering is gravely hampered today by immature practices. Specific problems include: –The prevalence of fads more typical of fashion industry than of an engineering discipline. –The lack of a sound, widely accepted theoretical basis. –The huge number of methods and method variants, with differences little understood and artificially magnified. –The lack of credible experimental evaluation and validation. –The split between industry practice and academic research.

10 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

11 The SEMAT initiative Software Engineering Method and Theory www.semat.org Founded by the Troika in September 2009: Ivar Jacobson – Bertrand Meyer – Richard Soley

12 What are we going to do about it? The Grand Vision We support a process to refound software engineering based on a solid theory, proven principles and best practices Defining a solid theoretical basis A Kernel of widely agreed elements The Next Steps

13 Vision 2010: The Semat Architecture in a nutshell Practices Use Case Architecture Component Iteration Software Development Kernel Theory Developers Testers Analysts Leaders Practitioners are the target group Method

14 Desired solution: Method Architecture A method is a composition of Practices. Methods are enactable. A practice is a repeatable approach to doing something with a specific purpose in mind. A practice provides a systematic and verifiable way of addressing a particular aspect of the work at hand. The Kernel is the common ground thus it includes essential elements of software engineering. The Language is the domain-specific language to define methods, practices and the essential elements of the Kernel. Standing on a solid theoretical basis

15 Desired solution: Method Architecture There are probably more than 100,000 methods incl. for instance SADT, Booch, OMT, RUP, CMMI, XP, Scrum, Lean, Kanban There are around 250 identified practices incl for instance use cases, use stories, features, components, The Kernel includes such elements as Requirement, Software system, Work, Team, Way-of- working, etc. Standing on a solid theoretical basis The Language is a scripting language easy to use by practitioners.

16 Standing on a solid theoretical basis Desired solution: Method Architecture The Essence= Kernel+Language

17 Standing on a solid theoretical basis Desired solution: Method Architecture The Essence Kernel+Language Essence will most likely be a standard 2013

18 Signatories Pekka Abrahamsson Scott Ambler Victor Basili Jean Bézivin Robert V. Binder Dines Bjorner Barry Boehm Alan W. Brown Larry Constantine Steve Cook Bill Curtis Donald Firesmith Erich Gamma Carlo Ghezzi Tom Gilb Ellen Gottesdiener Sam Guckenheimer Robert Glass David Harel Brian Henderson-Sellers Martin Griss Capers Jones Ivar Jacobson Philippe Kruchten Harold Lawson Robert Martin Bertrand Meyer James Odell Meilir Page-Jones Dieter Rombach Ken Schwaber Alec Sharp Richard Soley Ian Sommerville Andrey Terekhov Fuqing Yang Ed Yourdon

19 Partners in industry ABB, Switzerland Ericsson, Sweden Fujitsu, UK Huawei, China IBM, USA Microsoft, Spain Munich RE, Germany SAAB, Sweden Samsung SDS, Korea SEI, USA SINTEF, Norway Software Engineering Center, Korea Swedish Institute of Computer Science, Sweden Telecom Italia, Italy City of Toronto, Ontario, Canada Wellpoint, USA a current list of signatories can be found at www.semat.org

20 Partners in academia Chalmers, Sweden Free University of Bozen, Italy Florida Atlantic University, USA Fudan University, China Harbin Institute of Technology, China Joburg Centre for Software Engineering (JCSE) at Wits University KAIST, Korea Nanjing University, China National University of Columbia at Medellin Peking University, China PCS - Universidade de São Paulo Royal Institute of Technology, Sweden Software Engineering Institute of Beihang University, China Shanghai University, China Tsinghua University, China Wuhan University, China a current list of signatories can be found at www.semat.org

21 Chapters of Semat in… China Latin America South Africa Russia Japan Korea announced

22 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

23 Standing on a Solid Theory Examples: –Maxwells equations, –The Big Bang Theory, –The Theory of the Cell, –The Theory of Supply and Demand, –A General Theory of Crime, –General Theory of Action –General Theory of Human Information Processing –Theory of Organizational Structure There is nothing so practical as a good theory! - Kurt Lewin

24 Software Engineering doesnt lack theories There are abundant theories in software engineering: Boehms The Constructive Cost Model – COCOMO, Parnas principle of information hiding, Constantines Cohesion and Coupling, Conways Law, Dijkstras theory of cognitive limits (Go to statement considered harmful), Wirths stepwise refinement, Meyers Design by Contract, Etc., etc., etc.. But none of these theories are foundational

25 Software Engineering doesnt lack theories Boehm Parnas Conway Dijkstra Meyer Wirth Constantine

26 Software Engineering doesnt lack theories SEMAT wants to provide the core theory on which more specialised theories can stand Core Theory – The Essence

27 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

28 A kernel of widely-agreed elements The Kernel includes elements which are universal for all software development efforts The Kernel should be harvested from a large number of methods The Kernel is practice and method independent Kernel

29 Include a kernel of widely-agreed elements The Kernel includes the essence of software engineering I am freeing the statue from the block - Michelangelo (attributed) So to paraphrase Michelangelo: We are freeing the kernel from the methods

30 Inside the Kernel Solution Endeavor provide performs and plans fulfils applies produces focuses guides support use and consume Scopes and constrains demand helps to address set up to address updates and changes software system team stakeholders requirements opportunity work way of working Customer software system Demonstrable Usable Ready Operational Software System demonstrates quality characteristics required accepted for operational deployment in use in an operational environment Architecture Selected Retired addresses the key technical risks and any constraints proves architecture, concept and supports testing no longer supported

31 Inside the Kernel Solution Endeavor Customer Essence Tutorial May 25, 2013. San Francisco CA USA scopes and constrains updates and changes > < performs and plans < fulfils ^ produces Software System Requirements Way of Working ^ < guides < applies < provide Stakeholders Opportunity < helps to address < demand focuses > use and consume > supports > Set up to address > Opportunity Stakeholders TeamWork Demonstrable Usable Ready Operational Software System demonstrates quality characteristics required accepted for operational deployment in use in an operational environment Architecture Selected Retired addresses the key technical risks and any constraints proves architecture, concept and supports testing no longer supported

32 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

33 An example: an extract from the kernel Solution Endeavor provide applies focuses guides support use and consume helps to address set up to address stakeholders opportunity way of working Customer performs and plans fulfils produces Scopes and constrains demand updates and changes software system team requirements work

34 An example: an extract from the kernel performs and plans fulfils produces Scopes and constrains updates and changes software system team requirements work

35 Plan: Determine Current State software system team requirements work

36 Plan: Determine Current State Completed Pending

37 Plan: Determine Next State

38 Plan: Determine How to Achieve Next State

39 The Kernel is Reusable The Kernel Many methods all built on the same kernel. Team A ArchitectureWaterfall Declarative Reqts Team B Use Case ComponentIterative Architecture Team C User Story Architecture Scrum

40 On top of the kernel – practices…methods First simple practices User stories, use cases, features, components, architecture,… Self-organizing teams, pair programming, daily standups,… On top of which more advanced practices Enterprise architecture, product lines, service oriented architecture, systems of systems... and you create your reuse method

41 Most importantly the kernel is result-focused to make it executable......and help you understand progress, targets and project health Each state defines an extensible check list.

42 Re-engineering your software process: Rule Financial assembled into Project: rulebook - a flexible set of lean and agile practices leading to lightweight processes, tuned to meet your needs (see www.rulefinancial.com). Defined Method Exploratory Method

43 Re-engineering your software process: MunichRE Define combinations that occur frequently Method adoption at project launch 1 1 Individual projects can add additional practices to their Way of Working 2 2 Iterative Essentials Architecture Essentials Use-Case Essentials Team Essentials Component Essentials Funding Modeling Essentials UX Essentials PM for Iterative

44 Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed elements Using the Kernel Final Words

45 Key New Principles Being agile when working with methods.

46 Key New Principles Being agile when working with methods. –The full team owns their method, rather than a select few –Focus on method use rather than comprehensive method description –Evolve your teams method, rather than keeping your method fixed

47 Key New Principles Being agile when working with methods. Separation of Concerns

48 Key New Principles Being agile when working with methods. Separation of Concerns, For instance, specify the kernel, and make extensions without changing or complicating the kernel –Separating the kernel from practices –Separating alphas from work products –Separating the essence from the details. –Separating what the least experienced developer needs from what experienced developers need.

49 The approach is practical The common ground is the kernel Kernel

50 The approach is practical The common ground is the kernel –Inside the Kernel are Kernel elements. They have states to measure progress and health. –Focus on method usage rather than method descriptions

51 The approach supports reuse The kernel as the core Practices are defined on top of the kernel –Practices such as Use Cases, Test-Driven Development, Etc Practices ArchitectureIterationComponentUse Case Kernel

52 The approach is practical The kernel as the common ground Practices are defined on top of the kernel Methods are compositions of practices Practices ArchitectureIterationComponentUse Case Method Kernel

53 The approach is scalable: From very small projects to large projects From one product to many products From one method to many methods

54 In a Nut Shell – what we WILL change Executives Big companies have many processes. Challenges: -Reuse practices -Reuse training -Reuse of people -Evolutionary improvement is hard Professionals Want to become experts. Challenges: -Their skills are not easily reusable for a new product. -Their career path follows a zig-zag track from hype to hype. Education -Teaching instances of methods such as Scrum, RUP, instead of common base; doesnt create generalists SEMAT targets the whole software community. Industry Academics Research -The Gap between research and industry -No widely accepted theory

55 Summary – What is new? This (SEMAT) meeting in Zurich (2010) is likely to be an historic occasion much like the 1968 NATO session in Garmish. - Watts Humphrey (CMMI)

56 Workshop in Stockholm Nov 8-9, 2012 Pekka Abrahamsson: I am fully on board on SEMAT and I want to participate in making it a success. I think the current state of work offers a solid starting point for the application in academia and industry. Jan Bosch: Excellent approach. I ask myself if Essence is the only way to achieve these results. [Organizers response: Probably not, but we are not aware of any published approach searching for the same results.] Jorgen Hansson: "I appreciate the wealth of experience that has been going into the design SEMAT, and that it addresses an industrially very relevant problem that is challenging for many companies and the software industry at large. Indeed, the problem also presents numerous scientific challenges that would benefit from the attention of researchers. I would very much like to see a scientific foundation strengthening the case and value of SEMAT. One aspect, e.g, is the issue of scalability, specifically how it can be used when developing large-scale systems involving many subcontractors. " [Organizers comment: The approach has been designed with scalability as a key criteria.] Pontus Jonson: " The first benefit of Semat is the central role that I believe it can play in the development of a general theory of software engineering. I believe that such a theory is very important for the future of the software engineering discipline. The second aspect of Semat that I particularly appreciate is its active stance for a rational and scientific approach to software development, and against the trends, fashions and religions of software engineering methodology. I feel that Semat's rational approach to software engineering is much needed in a young discipline that still has some way to go before reaching the maturity we are used to in many other engineering disciplines.

57 Cont.d Per Runeson: I would state that a generally accepted framework for software engineering would be very much appreciated, to base communication, teaching and research on. In that sense, I am very much in favor of the initiative. I can see that you have managed to combine a lot of good principles and practices, both for the engineering as such, and for the presentation and communication of work practices. I especially appreciate the "light-weight" approach, with the strive to reduce rather than add complexity. The "cards" approach is an outcome of that strive, which I think can be very useful. The story telling approach used in the book may also be useful for teaching purposes; I have thought about using such an approach, but never worked through an example. SEMAT is based on expert knowledge, not scientific research, which is a significant weakness from my point of view. It does not mean it is bad, or less useful, but limits the role it may have in continued scientific research. [Organizers comment: Empirical research is needed.] Kristian Sandahl: The kernel has great practical potential and I would be happy to participate in working out a research agenda to achieve more empirical evidence.

58 What you can do now Become a supporter. Go to www.semat.org and join SEMAT

59 What you can do now Become a supporter. Go to www.semat.org and join SEMAT Read our new book at http://my.safaribooksonline.co m/9780133153156

60 What you can do now Become a supporter. Go to www.semat.org and join SEMAT Read our new book at http://my.safaribooksonline.co m/9780133153156 Join Us!!

61 What YOU can do now Industry: Evaluate the result of SEMAT. Tools are available for free at www.ivarjacobson.com –Training –Get your methods under control –Use in real projects. Education: Use the result in your education in software engineering Research: –Participate in the work on a general theory in software engineering –Empirical evaluation of SEMAT General: Support funding to research and education

62 References 1.Ivar Jacobson and Bertrand Meyer: Methods need theory Dr. Dobb's Journal, August 06, 2009. Online at http://www.drdobbs.com/architecture-and-design/219100242 2.Ivar Jacobson and Ian Spence: Why we need a theory for software engineering Dr. Dobb's Journal, October 02, 2009. Online at http://www.drdobbs.com/architecture-and- design/220300840 3.Ivar Jacobson, Bertrand Meyer, and Richard Soley: Call for Action: The Semat Initiative Dr. Dobb's Journal December 10, 2009. Online at http://www.drdobbs.com/architecture-and- design/222001342 4.Ivar Jacobson, Bertrand Meyer, and Richard Soley: The Semat Vision Statement online at http://blog.paluno.uni-due.de/semat.org/wp-content/uploads/2012/03/SEMAT-vision.pdf 5.Ivar Jacobson, Shihong Huang, Mira Kajko-Mattsson, Paul McMahon, Ed Seymour. Semat - Three Year Vision Programming and Computer Software 38(1): 1-12 (2012), Springer 2012. DOI: 10.1134/S0361768812010021. 6.Essence – Kernel and Language for Software Engineering(OMG Document number: ad/2011-02-04) A proposal submitted to OMG RFP (OMG Document ad/2011-06-26) 7.Jacobson I., Ng P. W., McMahon P., Spence I., Lidman S. 2013. The Essence of Software Engineering – Applying the SEMAT Kernel. Addison-Wesley. Forthcoming in January, 2013, but available now online in a pre-publication version on safaribooksonline.com 8.Re-founding Software Engineering – SEMAT at the Age of Three, Ivar Jacobson, Ian Spence, Pontus Johnsson, Mira Kajko-Mattsson, ASE 2012. a full list of references can be found at www.semat.org

63 Questions Email - ivar@ivarjacobson.com OMG website - www.omg.org SEMAT website - www.semat.org


Download ppt "The Essence Initiative Ivar Jacobson. Agenda Specific Problems A Case for Action - Defining a solid theoretical base - Finding a kernel of widely agreed."

Similar presentations


Ads by Google