ME2011 Keynote by Marko Bajec

844 views

Published on

Application of Method Engineering Principles in Practice

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

ME2011 Keynote by Marko Bajec

  1. 1. Marko Bajec<br />University of Ljubljana<br />Faculty of Computer & Information Science<br />Slovenia<br />Application of ME principles in practiceLessons Learned and Prospects for the Future<br />IFIP 8.1 Working Conference on ME<br />Paris,France, April20-22, 2011<br />
  2. 2. Agenda<br />- 2 -<br />Intro<br />Application of ME principles to improve software development practice in Slovenian software companies.<br />What we did<br />What we learned<br />What we intend to do next<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  3. 3. Introduction<br />University of Ljubljana<br />The biggest of 5 SLO universities<br />>40.000 students;<br />27 member institutions<br />Faculty of Computer & Information Science<br />>1200 students<br />Undergraduate and postgraduate study programmes<br />Laboratory for Data Technologies<br />One of 20 labs<br />Data Representation<br />Networks, Graphs, Ontologies, Data streams, etc.<br />Data Analysis<br />Data Mining, Knowledge Disc., Information Retrieval<br />Data Visualizationand Soundification<br />Network Visualization and Soundification, Data stream <br />Visualization, Visualisation ofsound.<br />Data Management<br />Data fusion and integration, Business Intelligence, etc.<br />- 3 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  4. 4. Longitudinal Study(1)<br />- 4 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />T i m e l i n e<br />2010<br />2011<br />2006<br />2003<br />2004<br />2005<br />2007<br />2008<br />2009<br />1<br />Survey<br />Unsupervised usage<br />MasterProc<br />Future<br />work<br />Check Point<br />
  5. 5. Survey(1)<br />- 5 -<br />Objectives: to analyse existing practice:<br />To what extent companies employ formalised methods in ISD?<br />What kind of methods companies use in their everyday working?<br />How technically and social sound are the methods companies use in their everyday working?<br />Do companies lack higher levels of formalisation of their ways of working.<br />Participants: Slovenian IT companies and companies with larger IT departments.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />2003-2004<br />
  6. 6. Survey(2)<br />- 6 -<br />Sample:<br />Invitation sent to 200 companies (>3 emp)<br />Respondents: 70 companies<br />Small: 50<br />Medium: 13<br />Large: 7<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Company Size<br />Size of IT Department<br />
  7. 7. Two types of questionnaires: <br />A questioner for IT managers (decision makers), <br />A questioner for developers (individuals).<br />Questions for each discipline:<br />Business modelling, Requirements acquisition, Analysis, Design, Implementation, Testing, Integration, Maintenance, Project management, Change and version management.<br />Survey(3)<br />- 7 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />R<br />D<br />A<br />B<br />In<br />T<br />Technical suitability<br />I<br />P<br />M<br />C<br />Social suitability<br />
  8. 8. Survey - Results<br />8<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />SDM underused in practice<br />In-house SDM<br />Social inappropriateness <br />KeyObstacles<br />Additional formalisation<br />Key Findings<br />Inflexibility<br />Testing<br />SDM not documented<br />Change Mngm<br />Maintenance<br />Design<br />Implementation<br />SDM – Software development method(s)<br />
  9. 9. Longitudinal Study(2)<br />- 9 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />2004-2007<br />T i m e l i n e<br />2010<br />2011<br />2006<br />2003<br />2004<br />2005<br />2007<br />2008<br />2009<br />2<br />Survey<br />Unsupervised usage<br />MasterProc<br />Future<br />work<br />Check Point<br />
  10. 10. Research goals and motivation<br />10<br />Motivation:<br />Low usage of documented SDM in Slovenian companies;<br />Lessons learned on projects not captured; reinventing the wheel.<br />Awareness of their importance for QAin software development;<br />Goal:<br />To help companies to improve their software development practice (and results) by providing a framework and tools for reengineering their SDM, focusing on methods formalisation, their continuous improvement, and their adaptability to characteristics of a particular project or team.…<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  11. 11. The MasterProc research project<br />11<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />MasterProc project:<br />R&D project under the umbrella of the centre of excellence for information and communication technologies;<br />Started in 2004, finished in 2007<br />Participating partners:<br />Faculty of Computer & Information Science – responsible for research and development; <br />Five software companies – interested parties;<br />The Institute for Economic Research – responsible for market research<br />Co-founded by the Slovenian Ministry of Higher Education, Science and Technology, European Commission and the participating Software Companies<br />
  12. 12. Research method<br />12<br />Organised as a collaborative practice research.<br />Interviews and surveys used to evaluate existing ways of working in the participating companies.<br />Complemented by action research. <br />For each of the participating companies a working team was set up comprising two researchers and two practitioners. <br />The responsibility of the team was to take part in real projects to get firsthand information. <br />Literature review used to study state of the art in the field of method construction.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  13. 13. Collaborative practice research<br />13<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Adapted by Mathiassen, 2001<br /><ul><li>Analyse existing processes (quality, technical and social suitability);
  14. 14. Determine required level of flexibility.</li></ul>Interpretation<br />Inreviews and questioners<br />Action research<br /><ul><li>Conduct a research to understand how to improve practice;
  15. 15. Conduct a research to understand how to introduce appropriate level of flexibility.
  16. 16. Conduct a research on improvement strategies;
  17. 17. identify appropriate strategy to make improvements;
  18. 18. Improve practice.</li></ul>Literature review<br />Experiments and field studies<br />Literature review<br />Survey<br />Intervention<br />Design<br />
  19. 19. A Framework for Method Reengineering<br />14<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Project characteristics<br />Method Configuration<br />Documentedmethod<br />Tailoredmethod<br />Existing ways of working<br />Method Use<br />Learning cycle<br />Method Construction<br />Method Evaluation & improvement<br />Suggestions for improvements<br />Experience, new knowledge<br />AMF - Agile Methodology Framework<br />
  20. 20. Method Construction<br />15<br />Aim:<br />To construct/improve a base method that will document the ways of working in the analyzed organization.<br />Approach:<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Analyse the company<br />Discuss <br />and make improvements<br />Create metamodel<br />Populate metamodel<br /><ul><li>Understand how the company works
  21. 21. Analyse characteristics of the company and its development team
  22. 22. Measure socio-technical suitability of the method used
  23. 23. Point out deficiencies of the existing ways of working
  24. 24. Study and suggest changes/improvements…
  25. 25. Select appropriate method weight
  26. 26. Design method structure (metamodel)
  27. 27. Define basic rules…
  28. 28. Elicit and capture method fragments
  29. 29. Define rules for method tailoring</li></li></ul><li>Base Method<br />16<br />Characteristics of a base method<br />Represents basis for method tailoring.<br />Document the ways of working;Captures method fragments for various situations – “project paths”;<br />Defines rules that tell when the use a certain method fragment is compulsory, advisable or discouraged.<br />Is process oriented;<br />Needs several learning cycles to become all-inclusive;<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  30. 30. Rules in base method<br />17<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  31. 31. Process flow rules<br />18<br />Process flow rules <br />define conditional transitions among activities – theconditions that have to be met to perform the transition.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />R1: IF A2 is finished AND C THEN start A3<br />
  32. 32. Structure rules<br />19<br />Structure rules <br />similar to process flow rules;<br />can constrain any link between method elements (not just links between activities).<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />R2: IF A2 AND C THEN OA1<br />
  33. 33. Completeness rules<br />20<br />Completeness rules:<br />help to check whether a project-specific method includes all required components,<br />apply to a metamodel and not to a base method,<br />tell the cardinality of the relationships between metaelements.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Activity<br />Technique<br />1<br />n<br />n<br />1<br />Tool<br />
  34. 34. Consistency rules<br />21<br />Consistency rules <br />similar to completeness rules; <br />aimed to assure consistency of the elements comprising a project-specific method;<br />deal with interdependency between any two elements;<br />help to avoid conflicting situations.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />The deliverable Business Model depends on the activity Business modelling<br />
  35. 35. Facts<br />22<br />Facts <br />Assertions that define the characteristicsof project for which a project-specific method is being created;<br />Can be classified into base facts or derived facts; <br />Base facts define project variables directly;<br />Derived facts are derived from base facts using inferences or calculations. <br />Examples:<br />The project domain is well known. <br />If the project field is telecommunications or healthcare then the project domain is well known.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  36. 36. Method Configuration and Use<br />23<br />Aim:<br />To tailor base method to suite specific project project-specific method.<br />Approach:<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Determine project characteristics<br />Use tailored method on project<br />Tailor base method<br />Definition of base facts: <br /><ul><li>The project domain is healthcare,
  37. 37. The project timeframe is 12 months,
  38. 38. …</li></ul>PCA algorithm<br />
  39. 39. PCA as SME and its characteristics<br />24<br />PCA – Process Configuration Approach<br />Based on ME principles<br />Single point of departure (base method);<br />Works on low layer of granularity (maximal flexibility);<br />Combines the meta-modelling and extension/reduction based SME approaches.<br />PCA advantages:<br />Uses org.-specific method to create project-specific methods;<br />Does not need or allow fragments to be changed during the creation process;<br />Is easy, yet powerful;<br />Focuses on software process improvement.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Bajec M., Vavpotič D., Krisper M. Practice-driven approach for creating project-specific software development methods. Information and Software Technology. 2007, vol. 49, no. 4, pp. 345-365.<br />
  40. 40. Performing PCA<br />25<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Process process flow rules<br />Process structure rules<br />Process completeness rules<br />Process consistency rules<br />
  41. 41. Method evaluation & improvement<br />26<br />Aim:<br />Continuous method evaluation and improvementto retain social and technical suitability of the base method.<br />Approach:<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Evaluate method elements<br />Discuss <br />possible improvements<br />Identify strategies<br />Implement changes<br />
  42. 42. Evaluation method<br />27<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  43. 43. SPI in terms of CMM<br />28<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />Method Configuration<br />Method Configuration<br />Optimized<br />L5<br />Managed<br />After a few <br />learning <br />Cycles<br />L4<br />Method Use<br />Method Construction<br />Learning cycle<br />Method Use<br />Method Construction<br />Defined<br />L3<br />Repeatable<br />Method<br />Construction<br />L2<br />Method Evaluation & improvement<br />Method Evaluation & improvement<br />Initial<br />L1<br />Maturity levels of the CMM<br />
  44. 44. AMT – Agile Methodology Toolset<br />29<br />AMT high-level architecture<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  45. 45. AMT – MethElicit, MethModel<br />30<br />MethElicit: method elicitation<br />Definition of a metamodel. <br />Metamodel population (instances of metamodel elements, instances of relations).<br />MethModel: process modelling<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  46. 46. AMT – MethAdapt<br />31<br />MethAdapt: method adaptation<br />Facilitates method tailoring. <br />Based on rules and project specifics, MethAdapt creates an instance of the method that is tailored to the project characteristics. <br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  47. 47. AMT – MethEval<br />32<br />MethEval: method evaluation<br />Facilitates continuous evaluation of the method. <br />Comprises two sub-modules:<br />S1 allows method engineer to configure survey questionnaires and analyse the survey results. <br />S2 generates survey questionnaires and distributes them among method users according to the context of their role. <br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  48. 48. AMT – MethGen, MethUse<br />33<br />MethGen: method generation<br />MethGen generates a method reference book in PDF format suitable for printing. Can be used as a learning material, given to customers, etc.<br />MethUse: method use<br />Enables dynamic access to the method contentthrough web portal. The main purpose of the module is to make access to the method content as easy and quick as possible. <br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  49. 49. Longitudinal Study(3)<br />- 34 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />2008-2010<br />T i m e l i n e<br />2010<br />2011<br />2006<br />2003<br />2004<br />2005<br />2007<br />2008<br />2009<br />3<br />Survey<br />Unsupervised usage<br />MasterProc<br />Future<br />work<br />Check Point<br />
  50. 50. Check Point(1)<br />35<br />From May, 2007 till September 2010, unsupervised usage. <br />Findings at check point:<br />In four of the five companies, AMF learning cycle (Evaluate, Construct/Improve, Configure, Use) discontinued.<br />In one company, SDM managed, in all other defined (documented) but not up to date.<br />The maturity level raised in one of the companies in others kept at the same level.<br />Companies reported they are managing project better that they used to and are still interested in capturing the knowledge gained at IT development projects (e.g. in a form of a base method) but did not want to spend too much time for that…<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  51. 51. Check Point(2)<br />36<br />Reported obstacles:<br />Software development process rather chaotic– i.e. difficult to describe and capture. <br />Method engineer role not common – project managers like to manage projects by their own ways.<br />The AMF learning cycle time consuming. There is no immediate advantage if decisions are discussed and documented. <br />The AMT good as a prototype but not for professional use.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  52. 52. Longitudinal Study(4)<br />- 37 -<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />2011-<br />T i m e l i n e<br />2010<br />2011<br />2006<br />2003<br />2004<br />2005<br />2007<br />2008<br />2009<br />4<br />Survey<br />Unsupervised usage<br />MasterProc<br />Future<br />work<br />Check Point<br />
  53. 53. Prospects for the future<br />38<br />Making AMF learning cycle moreuser transparent and less time consuming would increase its use in practice!<br />Most prominent future directions:<br />Auto capturing and monitoring of In-action Methods (IM) based on projects’ Revision Control System (RCS) Repositories;<br />Automaticadjustments of the Base Method based on projects’ IMs;<br />Adequate tool-support for project monitoring, management, analysis and execution.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />
  54. 54. Auto Capturing & Monitoring of IM<br />39<br />(Large) software projects typically use a RCS (e.g., Subversion, Visual Source Safe, Rational Team Concert, CVS, etc.)<br />H1:<br />Based on the RCS repository content, project’s IM can be inferred.<br />H2:<br />IMs, inferred from the RCS repository content, can be used to alter and generalize company’s Base Method.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />
  55. 55. Silent Learning cycle<br />40<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />IM<br />MonitoringSystem<br />R C S<br />R e p o s i t o r y<br />Guidance<br />Alterations<br />Existing ways of working<br />Artefacts<br />Method <br />Use<br />Method Construction<br />B a s e M e t h o d<br />
  56. 56. RCS Repository<br />41<br />RCS repository consists of files and directories.<br />Various repository layouts available.<br /> trunkProjectsWidgetsource<br /> trunkProjectsWidgetdoc<br /> trunkProjectsWidgetimages<br /> branches <br />IM artefacts written into repository structure.<br />Majority of RCS support<br />Custom properties<br />Automatic property setting<br />Pre/post-event hooks<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />
  57. 57. IM Auto Capturing<br />42<br />After an artefact is inserted into repository:<br />Custom properties can be used to identify the position in the base method.<br />If the position can not be not found then base method needs alterations.<br />Examples:<br />Insert (d6, A5, R3)  connect (A5, d6), getRule(A5, d6).<br />Insert (d6, A6, R3)  new branch (A3, A6), getRule(A3, A6), connect (A6, d6), connect (A6, R3)<br />Pre/post-event hookscan be used to capture additional information.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />d1<br />A1<br />d2<br />R1<br />R2<br />R3<br />A2<br />A3<br />d3<br />Rule1<br />Rule2<br />Rule3<br />A4<br />A5<br />A6<br />d5<br />d4<br />d6<br />d6<br />
  58. 58. IM Guidance<br />43<br />At any time user may invoke monitoring system and get all available information based on:<br />his role, <br />metamodel of the base method and <br />current position in the base method.<br />E.g.:<br />Next activities,<br />Deliverables of an activity,<br />Examples of deliverables,<br />Deliverables‘ templates… <br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />d1<br />A1<br />d2<br />R1<br />R2<br />R3<br />A2<br />A3<br />d3<br />Rule1<br />Rule2<br />A4<br />A5<br />d5<br />d4<br />
  59. 59. IM Control<br />44<br />Monitoring system can be used to control IM.<br />E.g.:<br />After d1 and d2, d4 is inserted. Monitoring system detects missing artefact d3 and alerts responsible user.<br />User may introduce a new rule under which d3 is not required.<br />Pre/post-event hooks can be used to invoke dialog box for user to add required info.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />d1<br />A1<br />d2<br />R1<br />R2<br />R3<br />A2<br />A3<br />d3<br />Rule1<br />Rule2<br />A4<br />A5<br />d5<br />d4<br />
  60. 60. Auto generation of a Base Method<br />45<br />Base method can be automatically created step-by-step from IMs captured to RCS repository.<br />Repository content represented with labelled multigraphs. Subgraph isomorphism algorithm used to identify an IM or its part in the base method.<br />Constraints (Structure, Process, Consistency, Completeness) and Facts identified using Inductive Logic Programming.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />
  61. 61. Important remarks<br />46<br />Adopted meta-model must be consistent among projects and with the company’s base method;<br />Project parameters, properties and facts need to be captured at the project kick off.<br />When checking RCS repository, only last revisions are considered.<br />IFIP 8.1 Working conference on ME<br />Paris, France, April 20-22, 2011<br />
  62. 62. Conclusions<br />47<br />SDMs underused in practice, which effects negatively the development process and its products. <br />AMF learning cycle useful but too time consuming for everyday practice. <br />Automation of the learning cycle (Silent Learning):<br />IM auto Capturing, Monitoring and Control<br />Base method auto adjustment<br />With an adequate tool support the silent learning cycle would possibly bring positive results.<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />
  63. 63. Questions<br />48<br />IFIP 8.1 Working Conference on ME<br />April 20 - 22, 2011 - Paris, France<br />University of Ljubljana<br />Faculty of Computer & Information Science<br />Tržaška 25, <br />1000 Ljubljana<br />Marko Bajec<br />Laboratory for DatabaseTechnologies<br />Contact:<br />Tel: +386 (1) 4768816<br />e-mail: marko.bajec@fri.uni-lj.si<br />

×