1 / 47

Capturing the Essence of Software Engineering – A Reflection on Semat Initiative

Capturing the Essence of Software Engineering – A Reflection on Semat Initiative. Software Engineering Method and Theory. Florida Atlantic University on the Map. Florida Atlantic University. Florida: A Different Map. Outline. Motivation of Semat – the Grant Vision The basis for Semat

thetis
Télécharger la présentation

Capturing the Essence of Software Engineering – A Reflection on Semat Initiative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capturing the Essence of Software Engineering– A Reflection on Semat Initiative Software Engineering Method and Theory

  2. Florida Atlantic University on the Map Florida Atlantic University Florida Atlantic University

  3. Florida: A Different Map Florida Atlantic University

  4. Outline • Motivation of Semat – the Grant Vision • The basis for Semat • The concept of method, practices and kernel • Current status • Get involved Florida Atlantic University

  5. Motivation • Software community has developed software for over five the past five decades • Applications of software has generated enormous impact on both our society and our lives • However, have we advanced our own discipline over these years? •  improve the way we develop software Florida Atlantic University

  6. The buzz words of software development • OO development – 50 years ago • Components, UML, Unified Process – 10 years ago • RUP and CMMI – 5 years ago • XP – a few years ago • Scrum – recent years • Kanban – now “the talk in town” • And more … Florida Atlantic University

  7. SPEM Web Services SOA What will be the next silver bullet? Coud Computering EDA CMMI Florida Atlantic University

  8. The concerns and challenges • 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. Source: Semat Call for Action Florida Atlantic University

  9. The men from the future … Ivar Jacobson Bertrand Meyer Richard Soley Software Engineering Method and Theory Jacobson, Meyer, & Soley “Call for Action: The Semat Initiative” Dr. Dobb’s Journal, December 10, 2009 Florida Atlantic University

  10. The Grant Vision • Semat supports a process to refound software engineering based on a solid theory, proven principles and best practices that: • Include a kernel of widely-agreed elements, extensible for specific uses • Addresses both technology and people issues • Are supported by industry, academia, researchers and users • Support extension in the face of changing requirements and technology At its hear is a kernel of widely agreed elements. The kernel would provides the common ground help practitioners to compare methods and make better decisions of their practices. Source: Semat Vision Statement Florida Atlantic University

  11. Semat one-line goal The goal is to create a kernel and a language that are scalable, extensible, and easy to use, and that allow people to describe the essentials of their existing and future methods and practices so that they can be composed, compared, evaluated, tailored, used, adapted, simulated and measured by practitioners as well as taught and researched by academics and researchers. Being able to design a method from a set of relevant practices, all described using a kernel of essential elements are key requirements of Semat. Florida Atlantic University

  12. Software primary users Pragmatic, seeking available methods that are easy to use Concerned about getting software better, faster cheaper & happier Software engineering Teach and research Software Engineering

  13. Signatories as May 13, 2011 • PekkaAbrahamsson • Scott Ambler • Victor Basili • Jean Bézivin • Dines Bjorner • Barry Boehm • Alan W. Brow • Larry Constantine • Steve Cook • Bill Curtis • Donald Firesmith • Erich Gamma • Carlo Ghezzi • Tom Gilb • Robert L. Glass • Ellen Gottesdiener • Martin Griss • Sam Guckenheimer • David Harel • Brian Henderson-Sellers • Ivar Jacobson • Capers Jones • Philippe Kruchten • Harold "Bud" Lawson • Robert Martin • Bertrand Meyer • James Odell • Meilir Page-Jones • Dieter Rombach • Ken Schwaber • Alec Sharp • Richard Soley • AndreyTerekhov • Fuqing Yang • Edward Yourdon Represent different camps: agile, Iterative, RUP, computer science, Metrics, CMMI, academia … Florida Atlantic University

  14. Corporate signatories as May 13, 2011 • ABB • Chalmers University of Technology • Ericsson • Fujitsu UK • IBM • KAIST • Microsoft • Peking University • SAAB • Samsung SDS • SINTEF • SW Engineering Center • Telecom Italia • Toronto, Ontario • WellPoint Florida Atlantic University

  15. Semat events • 1st Workshop on March 17-18, 2010, Zurich • 2nd Workshop on July 13– 14, 2010, Washington D.C. • 3rd Workshop on September 29 - October 1, 2010   in   Milan • RPF draft presented at OMG meeting March 14-18, 2011 • Next RFP presentation at OMG June 2011 Florida Atlantic University

  16. Semat key concepts • Method • Practice • Kernel • Kernel language Florida Atlantic University

  17. Method in a traditional sense • As being instantiated • The activities -- created from the definition -- are executed by practitioners in some order to get result, specified by the definition • This view – “the team is the computer, the process is the program” - is not suitable for creative work like software engineering • which requires support for work, which is agile, trial-and-error based and collaboration intensive Florida Atlantic University

  18. The concept of method • A method is a composition of practices • as opposed to an interconnection of process/method components, disciplines, or similar • Methods are dynamic and used • Methods are not just descriptions for developers to read, they are dynamic, supporting their day-to-day activities • This changes the conventional definition of a method • A method is not just a description of what is expected to be done, but a description of what is actually done Florida Atlantic University

  19. Semat key concepts • Method • Practice • Kernel • Kernel language Florida Atlantic University

  20. The concept of practice • A practice is an approach to doing something with a specific purpose in mind • There are several kinds of practices • but the basic and most important kind of practices are the concrete practices • A concretepracticeis a complete end-to-end activity with a clear beginning and end supporting software practitioners in getting their job done • These practices give value one-by-one • They are what users want to make lean • They are what you want to measure and provide metrics for Source: Semat Three Year Vision Florida Atlantic University

  21. Method and practice • Basically every software development team, with some exceptions, has its own method • There to be probably over 100,000 methods in existence, with many of them never being described • but the number of relevant separate practices in use should be much smaller Being able to design a method from a set of relevant practices, all described using a kernel of essential elements are key requirements of Semat. Florida Atlantic University

  22. From the Essential Unified Process to The Essentials up up Iteration Use Case $ Component Team The Essentials • Many more practices: • Scrum • User Stories • Test-Driven Design • Continuous Integration • Self-Organizing Teams • Pair Programming • PLA • EA TechnicalPractices Architecture Product Cross-Cutting Practices Unified ProcessLifecycle Modeling Process The Kernel Source: EssWork

  23. Method evolution Change starts by harvesting your best practices from your own method New Method + Existing Method Kernel Your Own Best Practices You get a method structured for the future Source: EssWork

  24. Semat key concepts • Method • Practice • Kernel • Kernel language Florida Atlantic University

  25. What is in the Kernel • The Kernel we harvested is very small, extracted from a large number of methods • The Kernel is practice and method agnostic Kernel The Kernel includes the essence of software engineering

  26. Improve your method by adding other, proven practices Use Case PLA + + +++ Iterative Architecture Component Team Kernel Your Own Best Practices Other Practices From Many Sources OK, there is a kernel! Maybe there are many? But none is widely-accepted! That needs to be changed! Source: EssWork

  27. To establish the common ground Source: mopo.ca Florida Atlantic University

  28. The Kernel – the essence of software engineering • The common ground • Identify and specify a kernel including the essential elements in software engineering – key requirement • Irrespective of code, software system, solution, methods, organization • A kernel of elements: pervasive concepts and qualities – the common ground • Always prevalent in any software endeavors • Separate of concerns: separating kernel from specifics of different methods Florida Atlantic University

  29. The nature of the kernel • Finding the constituents of the kernel is critical • Uncover universal, significant and relevant elements • Need to be widely agreed upon • The kernel is defined using a domain-specific language • The kernel and the language are small and light at their base • But extensible to cover advanced uses (e.g., safety-critical systems) The domain being practices for software development Florida Atlantic University

  30. What the kernel is not: • A new unified methodology • A new software process meta-model • A new body of knowledge • A new modeling language • A trick to get people to build or buy more tools Florida Atlantic University

  31. The concept of kernel The kernel should be as simple as a map of when we develop software: • what we already have (e.g. teams and projects) • what we already do (e.g. specify and implement) • what we already produce (e.g. software systems) • Irrespective of • the way we work • whether we write documentation, or • even if the result is good or bad • The kernel should be concrete, focused and light Florida Atlantic University

  32. Finding the kernel “You have achieved perfection not when there is nothing left to add, but when there is nothing left to take away” -- Antoine de Saint-Exupéry • Example of essential elements: • Work • Team • Requirements • Software system • Opportunity • Stakeholder Florida Atlantic University

  33. Realizing the kernel Customer Solution Area of concerns Endeavor Source: Spence, S.: “On the area of concern”

  34. Kernel: “Things to Produce” diagram Alpha Area of concern Source: Spece, S.: “On the area of concern”

  35. Kernel: “Things to Do” diagram Activity space Area of concern Source: Spece, S.: “On the area of concern”

  36. Kernel: “Competencies” diagram Competency Competency level Colors denote area of concern Source: Spece, S.: “On the area of concern”

  37. Current set of suggested kernel elements (WIP) Opportunity < provide External Stakeholders Use and consume > focuses > < helps to address support > Software System Set up to address > Requirements < fulfils Scope and constrain > produces a working > Work Team < performs < applies < guides Way of Working 1..* Practice Source: Semat working group document

  38. The governance of the kernel • The responsibility for this work has been moved to the Object Management Group (OMG) • Provide proper governance • To ensure the openness and fairness of the selection process • Ensures the results benefit the entire community • A RFP entitled “A Domain-Specific Language and a Kernel of Essentials For Software Engineering (ESSENSE) has been prepared by a group of people at OMG and presented • Next meeting will be in June 2011 Florida Atlantic University

  39. Semat key concepts • Method • Practice • Kernel • Kernel language Florida Atlantic University

  40. The language definition • The Language shall have an abstract syntax model defined in a formal modeling language • The Language shall have formal static and operational semantics defined in terms of the abstract syntax • The Language shall have a graphical concrete syntax that formally maps to the abstract syntax • The Language shall also have a textual concrete syntax that formally maps to the abstract syntax Source: OMG RFP draft Florida Atlantic University

  41. The language features • Description: The Language shall support the description of practices and methods in terms of the essential elements of the Kernel. • Composition: The Language shall support the composition of practices to describe existing and new methods. • Work Progress: The Language shall allow the representation of work progress. (For example, describing a practice that involves iterative development requires describing the starting and ending states of every iteration.) • Enactment: The Language shall support the enactment of methods, both as used to help plan endeavors and as applied (or executed) as part of the day-to-day activities in real projects. Source: OMG RFP draft Florida Atlantic University

  42. The kernel and language • The kernel is defined using a domain-specific language • which has a static base (syntax and well-formed-ness rules) to let us define methods effectively, and • with an additional dynamic concern (operational semantics) to let us use, adapt and simulate them The domain being practices for software development Florida Atlantic University

  43. Putting together Source: Semat Three Year Vision Florida Atlantic University

  44. Semat products • The Kernel and the Language • Tools (including open source) • The Practice Market Place • Curricula • Text Books and Papers • Research Florida Atlantic University

  45. Welcome to the world of Semat • Sign up to become a supporter • To get involved with group activities www.semat.org.cn www.semat.org Florida Atlantic University

  46. 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://www.semat.org/pub/Main/WebHome/SEMAT-vision.pdf 5. Shihong Huang, the 1st Semat Workshop report, online at: http://www.semat.org/pub/Main/SematZurichMarch2010/Zurich_meeting_report.pdf 6. Shihong Huang, the 2nd Semat Workshop Report, online at: http://www.semat.org/pub/Main/WebHome/2nd_Semat_Workshop_Report.pdf 7 Shihong Huang and Paul McMahon, the 3rd Semat Workshop Report, online at: http://www.semat.org/pub/Main/WebHome/3rd_Semat_Workshop_Report.pdf 8. Ivar Jacobson, Shihong Huang, Mira Kajko-Mattsson, Paul McMahon, Ed Seymour, “Semat – Three Year Vision” in the Proceedings of the Spring/Summer Young Researchers' Colloquium on Software Engineering by Institute for Systems Programming, Russia Academy of Sciences (SYRCoSE 2011: May 12 – 13, 2011, Yekateringburg, Russia). Florida Atlantic University

  47. From Russia with Love 谢谢(Xie Xie) Спасибо Shihong Huangshihong@fau.edu Florida Atlantic University

More Related