26
Company LOGO Prof.Dr. Adem Karahoca PRIORITIZATION OF THE CRITICAL SUCCESS FACTORS OF AN AGILE SOFTWARE DEVELOPMENT PROCESS

Prof.Dr. Adem Karahoca PRIORITIZATION OF THE CRITICAL SUCCESS FACTORS OF AN AGILE SOFTWARE DEVELOPMENT PROCESS

Embed Size (px)

Citation preview

Prof.Dr. Adem Karahoca

PRIORITIZATION OF THE CRITICAL SUCCESS FACTORS OF AN AGILE

SOFTWARE DEVELOPMENT PROCESS

2

Agenda

1. Agile Manifesto and Manifesto for Agile Software Development (ASD)

2. Critical Success Factors-CSFs

3. The material and method of the study

4. Results

5. Discussion

3

The Agility

Effective (rapid and adaptive) response to change �

Effective communication among all stakeholders �

Drawing the customer onto the team �

Organizing a team so that it is in control of the work performed

As a result Rapid; incremental delivery of software

4

An Agile Process

Is driven by customer descriptions of what is required (scenarios)

Recognizes that plans are short-lived �Develops software iteratively with a

heavy emphasis on construction activities �

Delivers multiple ‘software increments’ Adapts as changes occur

5

The Manifesto for Agile Software Development

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.” Kent Beck et al

6

Agility Principles - I

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is face–to–face conversation.

7

Agility Principles - II

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10.Simplicity – the art of maximizing the amount of work not done – is essential.

11. The best architectures, requirements, and designs emerge from self–organizing teams.

12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

8

Agile Methodologies

Extreme Programming (XP) by Kent BeckAdaptive Software Development (ASD) by Jim

HighsmithDynamic Systems Development Method (DSDM)

by DSDM consortiumScrum by Schwaber and BeedleCrystal by Cockburn and Highsmith Feature Driven Development by Peter Coad et al.Agile Modeling by Scott Ambler Lean Software Development (LD)

9

Critical Success Factors in Agile Software Development

1. Software development process has some bottlenecks

2. Despite the software engineering methodologies, software development has not been consistently successful

3. As a result; delayed, failed, abandoned, rejected software projects, expensive on-going maintenance and corrective releases or service packs

Measuring organizational, people, process, technical, and project dimensions help to determine Agile Software Project Success Factors.

10

CSF’s in the Agile software development project

1. Failure research (Organizational, People, Process, Technical)

2. Success research (Organizational, People, Process, Technical)

Chow and Cao (2008)

11

CSF’s in Failure and Success-1

1. 1979: Rockhart (Success); Measuring and defining organizational performance,

2. 1981: Bullen & Rockhart (Success); Previous research improved

3. 1984: Rockhart & Crescenzi (Success); Previous research improved

4. 1999: Reel (Success); CSF’s studied with project management techniques

5. 1999: Reel (Failure); Failure dimensions and factors studied

6. 1999: Bytheway (Success); Software engineering and business strategies studied by CSF’s.

12

CSF’s in Failure and Success-2

7. 2001: Fowler & Highsmith (Success) Needs and staff motivation was studied in agile software development projects

8. 2002:Fowler (Success) Local culture importance was studied for software development

9. 2002: Ambler (Success) Local culture importance was studied for software development

10. 2002: Highsmith (Success) Focused on Adaptive Software Development

11. 2002: Lindvall & et al. (Success) Social culture importance was studied in software development

12. 2002: Lindvall & et al. (Success) Addition to culture; people and communication factors was studied as most important factors

13. 2002: Bosghossian (Success) CSF’s are studied in Software development life cylce

13

CSF’s in Failure and Success-3

14.2003: Boehm &Turner (Success) The importance of communication and negotiation was studied in agile methodologies

15.2003: Boehm &Turner (Success) Conventional and agile methodologies was compared

16.2003: Reifer & et al. (Success) Conventional and agile methodologies was compared

17.2003: Cohn & Ford (Failure) Transformation problems was considered to agile processes

18.2004: Lindvall & et al. (Success) Adaptation of Agile Methodologies in enterprise projects

19.2004: Larman (Failure) Failures and misunderstings was studied in agile projects

20.2005: Augustine & et al. (Success) Conventional and agile methodologies was compared

21.2005: Ceschi & et al. (Success) Conventional and agile methodologies was compared

14

CSF’s in Failure and Success-4

22. 2005:Koch (Success) A survey that covers CSF’s in agile adaptation

23. 2005: Ambler (Success) Effective (rapid and adaptive) response to change �and effective communication among all stakeholders was considered in agile methods

24. 2005: Boehm & Turner (Failure) Managerial complications was considered in implementation of the agile projects

25. 2005: Nerur & et al. (Failure) Addition to managerial problems in transition to agile projects also was considered for people, process and technology dimensions

26. 2006: Ambler (Success) Adaptation the agile methods in enterprise projects

27. 2006: Misra & et al. (Success) A Framework was presented in adaptation of agile software development project

28. 2007: Chow & Cao.(Success) In agile software development project, CFS’s was prioritized.

29. 2008: Misra & et al. (Success) A framework study was done for agile software development projects

15

The materials and methods of the study

The 4 indicators, 22 sub criterias, and 93 detailed criteria was selected base on the survey with 5 Likert Scale

Process improvement, organizational improvement, software development enviornment improvement, technical improvement are the base critical success factors

Fuzzy AHP was used for the prioritization of the CSFs 6 + 2 Experts were completed the survey 80% experts from Turkey, 20% experts from Europa All experts has worked more than 5-10 years, They worked in IT, Telecomunication, Banking, as

Software Developer and project manager

16

CSF’s in the Agile software development project

17

Results

Decision CriteriasGeo. Mean

K1-Process improvement 4,57

K2-Organizational improvement 3,77

K3-Software Development Environment improvement 5

K4-Technical improvement 3,77

18

Ordering the indicators

Process/Organizational = 4,57/ 3,77 = 1,12Organizational/Process = 3,77/4,57 = 0,88Process improvement is 2 times important than

Organizational improvement in ASD projects

Main Criteria K1 K2 K3 K4

K1-Process Improvement 1 2 1 1

K2-Organization Improvement 0,5 1 1 1K3-Software Development Environment Improvement 1 1 1 2

K4-Technical Improvement 1 1 0,5 1

19

AFTER the Fuzzy AHP

CSFs in the Agile software development project

20

CFSs’ weights and orders

CriteriaGeneral Weight Order

K3301-Used IDE 0,5 1

K1302-Pre Architecture Model 0,125 2

K1303-Pre requirments model 0,125 2

K1309-Maintainable Design 0,125 2

K1310-Evolutionary Design 0,125 2K3201-Rich, rapid development background usage 0,125 2

K3202-Continous DBMS integration 0,125 2

21

2nd degree factors’ weights and orders- (K1 Process Improvement)

K1104-Iteration planning 0,5 1

K1105- Version Planning 0,5 1

K1201-More simple product development 0,84 1

K1203-Dividing needs into small scenarios and prioritizing and strating from first 0,16 2

K1501-Modelling standards 0,23 1

K1503-Coding standards 0,23 1

K1504-Interface standards 0,23 1

K1506-Version installation standards 0,16 2

K1507-Adaptation standards 0,16 2

22

2nd degree factors’ weights and orders (K2 Organization Improvement)

K2103-Self organized teams 0,5 1K2104-Pair programming 0,5 1

K2301-Determining and sharing the project targets 0,5 1K2302-Focusing main business processes 0,5 1K2501-Making top level requirements analysis with client 0,44 1K2502-Team and client collaboration 0,44 1K2503-Brain storming for problem sloving and determining new improvement opportunities 0,22 2K2601-Providing fully integrated information flow in all processes 0,2 1K2603-Providing face to face communication between all stakeholders 0,2 1K2604-Effective communication providing in client side 0,2 1K2605-Doing dailiy meetings 0,2 1

K2607-Bug Reports 0,2 1

23

2nd degree factors’ weights and orders(K3-Software Development

Environment Improvement)K3503-Monitoring system performance by using system monitoring tools 0,19 1

K3504-Manuel task table 0,27 1

K3506-Using automatize code development tools 0,27 1

K3507-Using automatize interface development tools 0,27 2K3601-Simplifying development steps and eliminating useless one 0,42 1

K3602-Removing repettetive tasks 0,42 1

K3603-Using components again 0,16 2

24

2nd degree factors’ weights and orders(K4-Technical Improvement)K4201-Using Service Oriented Architecture 0,5 1K4202-Using Model driven Architecture 0,5 1K4401-Working at the background via scheduling infrastructure and scheduling attribute 0,167 1K4402-Web service adapted adapter usage 0,167 1K4403-Executing in different languages by customization infrastructure usage 0,167 1K4404-Flexible managebility of task processes by business flow system infrastructure 0,167 1K4405-Having rule based dynamic software developement infrastructure 0,167 1K4406-Data exchange between differents servers by messaging system 0,167 1K4501-Having Ajax support 0,33 1K4502-Having Flexible authorization infrastructure 0,33 1K4503-Using automatic bug fixing mechanisms 0,33 1

25

Conclusion

Priority First CSFs in Agile Software development Integrated Development Environment usage to

provide continuous integrationUsing Software Rack Applications that presents

rich and rapid development infrastructureUsing Software Rack Applications that provides

continuous database integrationPre architecture modellingPre requirements modellingMaintainable designEvolutionary design

26

Thanks

Questions