Upload
della-white
View
225
Download
0
Tags:
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
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
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