1 / 26

“ Applying agile methodologies for software development in ISO 9001 certified companies ”

“ Applying agile methodologies for software development in ISO 9001 certified companies ”. Presenter : Penko Ivanov Ivanov. Goals. Define a model for selecting and applying an agile methodology in ISO9001 certified software development company .

kineks
Download Presentation

“ Applying agile methodologies for software development in ISO 9001 certified companies ”

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. “Applying agile methodologies for software development in ISO 9001 certified companies” Presenter: Penko Ivanov Ivanov

  2. Goals Define a model for selecting and applying an agile methodology in ISO9001 certified software development company. Apply the selected methodology in a real life company project and present the achieved results, analyzing the implementation details.

  3. Tasks • Comparative analysis of some of the most popular agile methodologies – defining common elements with structured description of the methodologies. • Selection of the most useful methodology for applying in a certain organization. • Defining the process of implementation of an agile methodology in ISO9001 certified company. • Identify the differences between the existing company process model and the new agile methodology. • Applying the agile methodology in real life software development project. • Defining a methodology and guidelines for applying an agile methodology in other software development companies.

  4. Contents of the dissertation • Basic terms • Comparative analysis of some existing agile methodlogies • ApplyingeXPERT in ISO:9001 certified company • Reasons • Gap Analysis • Experiment using eXPERT • Results • Lessons Learned • Conclusions • Methodology for applying agile methodology in companies with existing process model

  5. Agile Methodologies

  6. Agile Methodologies • Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

  7. Agile Methodologies • Positioning the Agile Methodologies in the planning spectrum according to Boem

  8. Analysis of existing agile methodologies • The analysis is created according to the following characteristics: • Process – brief description of the defined process model • Roles and responsibilities • Defined practices • Areas of application

  9. Agile Methodologies Analyzed • eXtreme Programming (XP) • SCRUM • Feature Driven Development • Dynamic Systems Development Method • Adaptive Software Development • eXPERT

  10. Agile Methodologies – Common Principles • Produce the first delivery in weeks, to achieve an early win andrapid feedback • Invent simple solutions, so there is less to change and making thosechanges is easier • Improve design quality continually, making the next iteration lesscostly to implement • Тest constantly, for earlier, less expensive, defect detection. • People matter • Less documentation is possible • Communication is a critical issue • Modeling tools are not as useful as usually thought • Big up-front design is not required.

  11. Applying eXPERT • Analyzing company week aspects • Project with very short timeframe • Projects for clients who are not sure about the project goals at the beginning of the project. • Projects that introduce a lot of changes during the development. • Selecting appropriate methodology

  12. Applying eXPERT - Steps • Analyze and identify the differences between the existing company process and the selected agile methodology – GAP Analysis • Define the changes that have to be implemented in the company process • Apply the new methodology within the company Quality Management System (QMS) • Create tailoring guides for the team about the new company process • Train the stuff – training in XP, PSP and the new company process • Using the new methodology in a real project • Present comparable results to the company management for the effect of applying a new agile methodology

  13. Applying eXPERT – GAP Analysis • Goals • Define the differences and the impact of the required changes between the current process and eXPERT • Identify the necessary changes • Provide input for creating the tailoring guides about the new company process • Analyzing Aspects • Purpose – the purpose of the process • Levels of details • Input/Output – describes the required input for the process and the outputs that are produced at the end each process • Documents and deliverables produced during the process • Flow of events – the normal flow of the events in the process • Control, status reporting • Related processes – outlines the other related to the current process processes

  14. Applying eXPERT – GAP Analysis - Results • Existing Process • Certified Processes • Non-certified Processes • Elements for the analysis • Changes in the documentation • Changes in the company process • Changes in the environment • Changes in the project activities • Changes in roles

  15. GAP Analysis - Documents • Analyze the differences starting with the supported documents • Defining the differences • Remaining Documents • Modified Documents • Removed Documents • Benefits • Reduced number of developed and maintained documents • Reduced expensive effort spent on the development of the Detailed Solution and Technical Specification • Shorter time to development and project completion

  16. GAP Analysis – Process • Changes in Project Management and Project Planning • planning by iteration • Estimation based on PSP measures and Client Stories • Changes in Requirements Management • Detailed Solution Specification is simplified to project scope • Changes in Analysis and Design • Detailed Technical Specification is not prepared • Changes in Test Planning and Quality Assurance • Unit test developed by developers • Test Planning for each release

  17. GAP Analysis - Environment • As a result of the extended tracking for the purposes of the PSP and personal prediction changes were implemented in the company wide used tools. • Development Environment • Staging system • Testing System • Development Environment • Changes in the Bug Tracking System (Bugzilla) • Changes in Time Tracking System (Ivan) • eXPERT Methodology Manuals (New) • XP Manuals • PSP manuals • Tailoring Guide

  18. GAP Analysis – Activities • Changes in the project management and project planning • Planning by iterations • Estimations based on PSP (PROBE estimations) • Changes in customer requirements management • The detailed solution specification describes only the project scope • Changes in Analysis and Design • Detailed Technical Specification is not created at the beginning of the project • Changes in the testing, test planning and quality assurance • Unit tests • Time estimations for the unit tests should be included in the estimations for the unit development • Testing at the end of each iteration

  19. GAP Analysis - Roles • Client – participating in all project phases • Sales – should inform the customer on the used methodology • PM – acting as a coach in the XP terms • QM – test plans for each iteration. • Developers – most infected of the XP practices. Changes include pair programming, Unit test development, using detailed time sheets and bug reports • System Architect – XP practices “Collective Code Ownership” and “System Metaphor” move this role in the development team.

  20. Experiment Applying eXPERT Selection of baseline and pilot project

  21. Experiment - benefits • Better Discipline • Improved team culture • Knowledge exchange among team members • Simplification of analysis and design • Increased productivity • Reduced Effort Spent • Reduced number of supported documents • Reduced defect rate • Approved Estimation on Customer Requirements

  22. Experiment – measurable results • Baseline and Pilot projects

  23. Applying eXPERT in other organizations • Start gathering historical data ASAP • Analyze available Agile Methodologies • Analyze possible Chaos • Predict and manage the chaos • Conduct a Gap Analysis • Produce a “Tailoring Guide” • Train the staff • Apply and measure • Select baseline to measure • Track, measure and compare

  24. Contributions • Comparative analysis of some of the most popular agile methodologies – defining common elements with a structured analysis • Detailing the differences between an agile methodology and a traditional ISO9001 certified process • Defining a procedure for implementation of an agile process in a software development company • Applying the selected methodology in a real life software project and presenting the results • Summarizing the problems and difficulties met during the real agile process model implementation within the organization • Defining a model and recommendations for applying agile methodologies in other IT companies

  25. Publications • I. Mihaylov, P. Ivanov, E. Stefanova, A. Eskenazi, S. Ilieva, “The eXPERT approach - a case study”, Proceedings of the International Conference on Computer Systems and Technologies - CompSysTech, Sofia 19-29 June, 2003 • S. Ilieva, P. Ivanov, I. Mihaylov, E. Stefanova, A. Eskenazi, “eXPERT approach implementation in software SME”, Proceedings of the International Conference EuroSPI’2003, pp. VIII.1 - VIII.10, Graz, Austria, 10-12 December 2003 • S. Ilieva, P. Ivanov, E. Stefanova, “Analyses of an agile methodology implementation”, Proceedings of the 30th EUROMICRO Conference, pp. 326-333, Rennes, France, August 31-September 3, 2004 • P. Ivanov, S. Ilieva, “Gap analyses between certified SME's process and an agile approach”, International conference IASTED Software Engineering’2005, pp 220-225, Innsbruck, Austria, February, 2005 • P. Ivanov, S. Ilieva, "Agile Software Development - Two Industry Companies Experience", IJAM International Journal of Agile Manufacturing, vol. 8, issue 2, 2005, pp. 113-124

  26. Discussion

More Related