Post on 26-Jan-2016
description
April 21, 2023
“Applying agile methodologies for software development in ISO 9001 certified
companies”
Presenter: Penko Ivanov Ivanov
Penko Ivanov April 21, 2023 - Page 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.
Penko Ivanov April 21, 2023 - Page 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.
Penko Ivanov April 21, 2023 - Page 4
Contents of the dissertation
• Basic terms
• Comparative analysis of some existing agile methodlogies
• Applying eXPERT 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
Penko Ivanov April 21, 2023 - Page 5
Agile Methodologies
Traditional Agile
Controlled Process Driven by changes
Linear and sequential process Processes are simultaneous, overlapping
A replicable, universal process
(for different projects)
Occurs in completely unique and idiographic forms
Rational, determined, goal driven process
Negotiated, compromised
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 7
Agile Methodologies
• Positioning the Agile Methodologies in the planning spectrum according to Boem
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 9
Agile Methodologies Analyzed
• eXtreme Programming (XP)• SCRUM• Feature Driven Development• Dynamic Systems Development Method• Adaptive Software Development• eXPERT
Penko Ivanov April 21, 2023 - Page 10
Agile Methodologies – Common Principles
• Produce the first delivery in weeks, to achieve an early win and rapid feedback
• Invent simple solutions, so there is less to change and making those changes is easier
• Improve design quality continually, making the next iteration less costly 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.
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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.
Penko Ivanov April 21, 2023 - Page 20
Experiment Applying eXPERT
Selection of baseline and pilot project
Index Baseline Pilot
Participants 4 4
Developers 2 2
Technology J2EE J2EE
Duration 3 months 3 months
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 22
Experiment – measurable results
• Baseline and Pilot projects
Indexes
41.23%
11.45% 13.33%
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
Increased Productivity Effort Reduction Defects Reduction
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 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
Penko Ivanov April 21, 2023 - Page 26
Discussion