Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand.

Similar presentations


Presentation on theme: "Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand."— Presentation transcript:

1 Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand

2 Agenda What it means to be ‘agile’ The ‘agile hour’ workshop Aspects and agile Collaborative development in virtual worlds

3 Agile Methods and Techniques Analysis of Scott Ambler’s 2006 survey Do agile methods have a positive effect? Do agile methods work better in combinations? What are the most effective methods, individually and in combination What are the most effective techniques?

4 Our Observations Many organisations are using more than one method Is there any point? Techniques and methods don’t seem to be used as one might expect What is the underlying relationship?

5 The Data is Deceptive Because Lots of ‘don’t knows’ Large variations in sample sizes DSDM used by only a handful, Crystal Clear also not a large sample, misunderstandings of Feature Driven Development and Test Driven Development Lots of overlap between methods Lack of clarity about the relationship between techniques and methods For example ‘we are doing XP’…

6 How Many Methods? 4,232 respondents No agile methods: 2,541 One agile method: 1,019 Two agile methods: 500 Three or more methods: 175 Does this make any difference?

7 Result 1: Number of Methods Cost no difference Productivity significant difference between using no method or using one Quality and Satisfaction significant difference between using no method or using one AND between using one method and using two! So: Use at least one, preferably two No point using three or more

8 Result 2: If I Use One, Which One? Productivity: There is a significant different between both Crystal Clear and Scrum, (0.02) and Crystal Clear and XP (0.02) Quality There is a significant difference between Crystal Clear and XP (0.03) Cost There is a significant difference in cost between Crystal Clear and Scrum (0.02) Satisfaction There is a significant difference between Crystal Clear and Scrum (0.023) So: Maybe use XP or Scrum?

9 Which Pairs are Used Most?

10 Result 3: If I Use Two, Which Two Quality There is a significant difference between the XP/Scrum combination and all other pairs of methods. Only 6 pairs were considered in the sample because the sample sizes were too small for other combinations. Productivity There is a significant difference between the top pair (XP and Scrum) and the lowest three pairs There was no significant difference in cost between any pairs of methods So: Mix XP and Scrum together?

11 Agile Techniques TechniquesNumber of respondents Percentage of respondents Active stakeholder participation93822.15% Agile model driven development2606.14% Code refactoring1,46734.64% Code regression testing1,38332.66% Co-location44710.55% Common coding guidelines1,59537.66% Continuous integration1,11326.28% Database refactoring4169.82% Database regression testing4079.61% Pair programming58713.86% Single sourcing2415.69% Test driven design95922.64%

12 What About Techniques? Not using any agile techniques is significantly worse in terms of productivity, satisfaction and quality Only DB regression testing is significantly more expensive Best techniques for Productivity Co-location, continuous integration, pair programming, test driven design Best techniques for Quality Test driven design, pair programming, continuous integration, Best techniques for Satisfaction Active stakeholder participation, agile model driven development, test driven design

13 Are We Doing XP? Agile Technique used with XPNumberPercentage of Sample Active stakeholder participation 11427.14% Code refactoring26964.05% Code regression testing21050.00% Co-location6615.71% Continuous integration17641.90% Pair programming18343.57% Test Driven Design (TDD)18042.86%

14 Does it matter? ProductivityQualityCostSatisfaction Full XP 4.254.392.704.07 Partial XP 3.623.772.633.55

15 Best Practices? In the XP context, the most effective techniques appear to be Test driven design Code refactoring Collaborative working Stakeholder involvement Co-location

16 How Many Techniques?

17 Tentative Conclusions Using agile methods and techniques does appear to be beneficial It may be useful to combine aspects of XP and Scrum These techniques appear to consistently contribute to better results Co-location, test driven design More techniques = better?

18 The Agile Hour Workshop Explores some of the techniques used within agile methods To try to assess their relative usefulness within a simulated agile process In the spirit of : Process Miniatures, eXtreme Hour, XP Hour, XP Game, Planning Game

19 What Can We Try Out? The ‘technique’ subset of agile practices Not so much focus on planning and estimating More about what techniques are used within agile methods

20 Some Agile Techniques Active stakeholder participation Pair programming Co-location Refactoring Regression testing Common coding guidelines Continuous integration Access controlled by game rules

21 The Idea To design a human powered vehicle To do a process miniature that uses subsets of the available techniques To try to assess which techniques may be the most helpful

22 The Agile Technique Hour 0 - 5 Minutes - planning User Stories, estimates, prioritize stories 5 -15 Minutes - developing QA writes acceptance tests Developers build using subset of techniques Includes mid-term review 15 - 20 Minutes - reviewing Acceptance testing and review Three twenty minute iterations:

23 Spot the Professionals…

24 Aspects and Agile There may be some synergy between aspect oriented development and agile methods Late arising requirements changes can be cross cutting concerns AOD has an ontology Agile methods have an (Implied) ontology Maybe we can map them together?

25 Aspect Ontology Software System …Base Code «by means of» Weaving Weaver Static Weaving …Implementatio n 0..* is woven in is enhanced by 0..* Dynamic Weaving 1..* realizes is realized by 1..* 11 makes is made by Concern is a feature of 0..* is composed of 1..* «by means of» Composition Scheme Composability is tangled with 0..* 11 allowsis based on SpatialLingualSocial Aspect

26 Agile Ontology «is guided by» Practice Phase Technique Activity Agile method Development Process * «is guided by» Principle * is dictated by 1..* may consist of is carried out using 1..* is used in 1..* is part of 1..* consists of 1..* is carried out using 1..* Engineering technique Management technique Feature addresses 1..* Software System builds comprises * LingualSocialSpatial

27 Unified Ontology …Implementation Concern is tangled with 0..* Aspect / Feature Technique Activity is carried out using 1..* is used in 1..* Engineering technique Management technique addresses 1..* Software System comprises * LingualSocialSpatial Relates to *

28 Initial Thoughts A few more iterations required! The ontology mapping has helped to clarify the main issues The semantic challenge is the relationship between aspects, features and concerns There is a cognitive leap between aspects as orthogonal cross cutting concerns and aspects as core business features

29 Second Life One feature of agile methods is collaborative development Not easy in a globally distributed team There is potential to build collaborative tools in a Multi User Virtual Environment (MUVE) such as Second Life

30 Second Life on YouTube

31 MUVE Model Driven Engineering Lancaster based project to include Second Life as a model driven engineering and testing environment First step is to explore collaborative software tools that might support distributed agile teams.

32 Useful Links www.massey.ac.nz/~dpparson Links to agile paper and workshop materials http://www.youtube.com/watch?v=xlZIDWH Jz1c http://www.youtube.com/watch?v=xlZIDWH Jz1c YouTube video

33 Journals International Journal of Principles and Applications in Information Science and Technology (PAIST) http://www.paist.orghttp://www.paist.org International Journal of Mobile and Blended Learning http://www.igi-global.com/ijmblhttp://www.igi-global.com/ijmbl


Download ppt "Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand."

Similar presentations


Ads by Google