Quality & Evolution: some relationships

1,951 views

Published on

The slides of my keynote at the 7th Int'l Conf. on Quality of ICT (QUATIC 2010).

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,951
On SlideShare
0
From Embeds
0
Number of Embeds
1,127
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Quality & Evolution: some relationships

  1. 1. Quality & Evolution: some relationships Michel Wermelinger Computing Department The Open University, UK http://michel.wermelinger.ws
  2. 2. Product Evolution Bennett & Rajlich. Software maintenance and evolution: a roadmap. ICSE 2000
  3. 3. Quality
  4. 4. Principle of Software Uncertainty The real-world outcome of any E-type software execution is inherently uncertain with the precise area of uncertainty also not knowable Madhavji, Ramil and Perry (eds.) Software Evolution and Feedback. Wiley 2006
  5. 5. Declining Quality Unless rigorously adapted and evolved to take into account changes in the operational environment, the quality of an E-type system will appear to be declining 7th law of software evolution * * * * * * * * * * * * * * context internal external product change quality
  6. 6. Continuing change An E-type system must be continually adapted or else it becomes progressively less satisfactory in use 1st law of software evolution * * * * * * * * * * * * * * * perfective adaptive
  7. 7. Continuing growth The functional capability of E-type systems must be continually enhanced to maintain user satisfaction over the system lifetime 6th law of software evolution * * * * * * * * * * * * * * * perfective adaptive
  8. 8. Punctuated Equilibrium Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
  9. 9. Increasing complexity As an E-type system is changed its complexity increases and becomes more difficult to evolve unless work is done to maintain or reduce the complexity 2nd law of software evolution * * * * * * * perfective adaptive preventive corrective* * * * * * * * * * * *
  10. 10. Maintenance April. Studying Supply and Demand of Maintenance Services. QUATIC 2010
  11. 11. Maintainability Luijter & Visser. Faster defect resolution with higher quality of software. SQM 2010
  12. 12. Stable Dependencies Principle Dependencies should be in the direction of stability Martin. Large-scale stability. C++ Report 1997 Wermelinger et al. Design principles in architectural evolution: a case study. ICSM 2008
  13. 13. Open/Closed Principle Entities should be open for extension but closed for modification. Meyer. Object-Oriented Software Construction. Prentice Hall 1988
  14. 14. Cloning considered harmful Hordijk et al. Harmfulness of Code Duplication - A Review of the Evidence, EASE 2009
  15. 15. -100% 100% 300% 500% 700% 900% 0% 20% 40% 60% 80% 100% % of methods workincrease ganttProject jEdit freecol jboss Maintainability of clones Lozano & Wermelinger. Assessing the effect of clones on changeability. ICSM 2008
  16. 16. Evolution of quality cost after Fairley, Software Engineering Concepts, McGraw-Hill 1985
  17. 17. Evolution for quality prediction Nagappan et al. Change Bursts as Defect Predictors. ISSRE 2010
  18. 18. Process evolution Processes and applications are both executed, they both address requirements that need to be understood, both benefit from being modeled by a variety of sorts of models, both must evolve guided by measurement, and so forth. Osterweil. Software processes are software too, revisited. ICSE 1997 * * * * * * * * * * * * * * * * * * * * * * * *
  19. 19. Process Improvement from cmmilevels.com
  20. 20. Quality management Plösch et al. A method for continuous code quality management. QUATIC 2010
  21. 21. Bettin et al. A PMO Installation for IT Project Management. QUATIC 2010 Process Quality Evolution
  22. 22. Education Holistic view Human / Social Legal / Ethical Economic
  23. 23. Conclusions E-type evolution processes are multi-level, multi-loop, multi-agent feedback systems 8th law of software evolution

×