26
June 28, 2022 Applying agile methodologies for software development in ISO 9001 certified companiesPresenter: Penko Ivanov Ivanov

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

  • Upload
    kineks

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

“ 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 . - PowerPoint PPT Presentation

Citation preview

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

April 21, 2023

“Applying agile methodologies for software development in ISO 9001 certified

companies”

Presenter: Penko Ivanov Ivanov

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

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.

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

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.

Page 4: “ Applying agile methodologies for software development in ISO 9001 certified 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

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

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

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

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

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

Penko Ivanov April 21, 2023 - Page 7

Agile Methodologies

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

Page 25: “ Applying agile methodologies for software development in ISO 9001 certified 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

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

Penko Ivanov April 21, 2023 - Page 26

Discussion