1 / 18

Shifting the Focus from Methodologies to Techniques

Andrew D. H. Chow and Mike Joy. Shifting the Focus from Methodologies to Techniques. A Brief Overview. Academic group projects have constraints on the use of methodologies Difficult to deploy subsets of Extreme Programming due to interdependencies

hanley
Download Presentation

Shifting the Focus from Methodologies to Techniques

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. Andrew D. H. Chow and Mike Joy Shifting the Focus from Methodologies to Techniques

  2. A Brief Overview Academic group projects have constraints on the use of methodologies Difficult to deploy subsets of Extreme Programming due to interdependencies Experiments to determine which agile practices remain effective in academia Need to focus on teaching software engineering techniques

  3. Introduction Extreme Programming (XP) has become popular in recent years Agile practices used in a 2002-3 pilot study were successful Further research undertaken to determine which practices are effective Findings compared to industrial experience of XP deployment

  4. Methodologies Software is expensive – need for development methodology Methodologies evolved from engineering practices Classical methodologies can be inflexible and costly

  5. Classical Methodologies (1) Examples: the Waterfall model (below) and the Rational Unified Process Requirements Specification Design Implementation Testing

  6. Classical Methodologies (2) Developers often fail to follow all the rules of the methodology Can be due to budget and time constraints or lack of discipline New paradigm – Agile Methods

  7. Agile Methods Aim to leverage the adaptability of software whilst ensuring integrity Provide a flexible framework Concentrate on producing and delivering visible results Allow change, even late in the development process

  8. The 12 XP Practices XP consists of 12 simple yet interdependent agile practices • Continuous Integration • Test-first Development • Pair Programming • Emergent Design • Refactoring • Coding Standards • Simple Design • Collective Code Ownership • Small Releases and Iterations • Sustainable Pace • Metaphor • On-Site Customer

  9. Agile Practices Agile methodologies depend on interdependent practices to work effectively: “any one practice doesn’t stand well on its own (with the possible exception of testing). They require the other practices to keep them in balance” – Kent Beck, author of Extreme Programming Explained: Embrace Change

  10. Academic Group Projects Constraints on the teaching and use of agile practices to undergraduates Aim to equip students with knowledge to make informed decisions on techniques Context of experiments – Introduction to Software Engineering at Warwick Project to be completed within a 10-week period, including software and documentation

  11. 2002-3 Pilot Study One group of six students used agile practices for the same group project Academic staff acted as customers No advantage given to these students Project achieved 89%, best in the year No significant modifications to the teaching structure or assessment

  12. The Experiments Four teams of volunteers used agile practices for their second year projects Questionnaires throughout the project Interviews with each member of teams towards the end of the project Obtained student feedback and experience of using agile practices

  13. The Results Pilot study in 2002-3 indicated that no substantial modifications were needed Evidence of successful deployment of certain agile practices Some practices were less successful Students had to learn new set of skills

  14. Some Student Feedback Continuous Integration most popular Mixed reaction on pair programming Need for more planning upfront Students were unfamiliar with new tools necessary for some agile practices “Useful” practices not implemented for various reasons

  15. Professional Opinions Extreme Programming is “a circle of snakes” – Matt Stephens and Doug Rosenberg “Fix XP when it breaks” – Kent Beck “A methodology per project” – Alistair Cockburn

  16. Conclusions Sample was too small for meaningful statistical analysis Qualitative feedback echoes opinions of Stephens and Rosenberg Teaching another methodology is not what is needed More beneficial to introduce alternatives to students for different problems

  17. Further Conclusions The study suggested that There is a need for students to be equipped with knowledge to tailor a methodology to a particular project There is a need to focus on the “human” elements of software development There is a need shift the focus to teaching software engineering techniques

  18. Any Questions?

More Related