In this blog, we are going to propose an approach for evaluating the adherence of the success factors in agile projects. We are going to propose an adapted questionnaire that describes that the data analysis should be used to get results of the questionnaire.
The data analysis of the questionnaire includes analysis of one success factor or all success factors. An algorithm and a flow chart were provided for implementing the proposed approach and evaluating the success factors in an agile project.
- Questionnaire Structure
A survey method should be used to gather data. The target population should be agile approach projects. The questionnaire is inspired and adapted from the previous studies There are three sections in the questionnaire:
- SECTION A on the project demographic data and agile project information. This section sought data on the age or longevity of existence of the organizations, form of organization, nature of ownership, organizational structure, respondents’ function, name of the project, size of the project in terms of time, budget and number of team members, staff strength, and agile method used. Estimated number of questions in this section is 10.
- SECTION B on success factors existence in the project environment. In this part, we have five dimensions of the success factors (organization, people, process, project, and technical) and under each dimension, we have the main success factors and their sub factors. A 5-point Likert scale is used to reflect the level of existence of the sub factors and the main factors. Estimated number of questions in this section is 33 (note: we would consider the main factor to be an independent question for the sake of double checking the answers of the respondent).
- SECTION C on respondents’ feedback. Respondents are invited to enter any feedback or thought on a free text area.
2. Data Analysis
After distributing the questionnaire over the organizations that adopt agile methods projects and collect the data, data analysis should be applied in order to get the results of the degree in which each success factor exists in each project under survey.
To calculate the degree of existence of one factor we calculate the summation of corresponding value of each sub-factor and then obtain the results as follows:
– Zero – (1* no of sub-factors) the result is very poor,
– (1* no of sub-factors) – (2* no of sub-factors) the result is poor
– (2* no of sub-factors) – (3* no of sub-factors) the result is good
– (3* no of sub-factors) – (4* no of sub-factors) the result is very good
To calculate the degree to which all success factors exist in the project, we calculate the summation of the corresponding values for all of the success factors and then obtain the results as follows:
– Zero – (1* no of success factors) the result is very poor,
– (1* no of success factors) – (2* no of success factors) the result is poor
– (2* no of success factors) – (3* no of success factors) the result is good
– (3* no of success factors) – (4* no of success factors) the result is very good
To get the average existence of the success factors in the project, we calculate the summation of the corresponding values for all of the success factors and divide it over the number of questions in section-B and also obtain the results as the previous part.
3. Algorithm and flowchart for applying the proposed approach
The proposed approach for the evaluation of the adherence of success factors in agile project is being depicted using an algorithm as in figure 4 and the flow chart in figure 5. The algorithm and flow chart demonstrate mainly the data analysis of the questionnaire including analysis of one success factor, or all success factors. An algorithm and a flow chart were provided for implementing the proposed approach and evaluating the success factors in an agile project.
SUCCESS FACTORS FRAMEWORK
After surveying the literature for the success factors in agile methods or software development we will come up with our proposed success factor framework. The proposed success factors framework classifies the collected success factors into 5 dimensions; organizational, process, project, people and technical. Under each classification we have main success factor and sub factor(s). We may have main success factor with no sub factors because we didn’t find suitable sub success factors from the literature. We have to note here that the classification and the division of main and sub factors are from the authors point of view.
a. Organizational Dimensions
The Organization has a great effect on the success of the project. The culture can influence many things in the agile software development. We can see from the framework that corporate culture includes support from top management in the agile software development process, it can affect how the user is involved into the software development process and finally it determines the environment where the team of the software development operates.
b. Technical Dimensions
Technical factors are factors that have an impact on how a project operates and are related to the software, technology or hardware used within the project development process . We mentioned two main factors which are selecting proper agile method according to the project conditions and constraints, and usage of advanced technology in the project
c. People Dimensions
The success of a software development project is often related to people factors. Human resources factors are also hypothesized as important factors for the success of agile software development projects. Under this dimension we have the user involvement and team capability main factors and below each one of them we have other sub factors, e.g. under the team capability there are the effective skills required to manage the project, the ability of the team, project manager to handle the project’s complexity, perfectly manage the decision time required, and effective communication and feedback with the user or within the team for each task required.
d. Process Dimensions
Process factors are those related to the tasks process or functions of the project itself e.g. testing and reviewing the code of the software, reporting of the project status, and risk management
e. Project Dimensions
Project factors are those concerned with the project of agile software development from setting clear objectives and goals, determining project type and nature, setting the project schedule, estimating realistic budget, and specifying clear requirements and specifications.
Failure or Problem research is typically based on ‘‘lessons learned’’ from certain types of projects, but they are mostly similar enough to be generalized. Reel (1999) focuses more on generic software development projects and compiles 10 signs of software development project failure, at least seven of which are determined even before a design is developed or a line of code is written. Cohn and Ford (2003) study problems in transitioning organizations to agile processes, while Larman (2004) discusses in detail mistakes and misunderstandings occurred in agile projects. A research by Boehm and Turner (2005) emphasizes on management challenges in implementing agile projects, whereas a study by Nerur et al. (2005) covers problems not only in management aspect but also in people, process, and technology dimensions of migrating to agile projects. Based on the above-mentioned literature, failures/ problems can be classified into four categories: organizational, people, process, and technical, summarized in Table – Failure factors of agile projects
Success research cited in the literature is mostly based on case studies or meta-data or compilations and observations of agile projects and practices. Specifically, Highsmith (2002) reports from direct experience with agile implementations, while Schatz and Abdelshafi (2005) provide results from the Primavera case study, and Karlstrom and Runeson (2005) give insight from the Star-Gate case study. Other success researches which have a comparative flavor between traditional and agile methods include Boehm and Turner (2003), Augustine et al. (2005), and Ceschi et al. (2005). Some studies focus on agile implementation on large organizations or scaling of agile methods to large projects, such as Reifer et al. (2003), Lindvall et al. (2004), and Ambler (2006). Finally, Koch (2005) makes research compilation of a wide range of success factors of agile implementations. Based on the above-mentioned literature, agile project success factors can be classified into five categories: organizational, people, process, technical, and project, summarized. Table – Success factors below
Success Factors for Improved Applicability and Understandability
In this two-part blog series, we attempted to review the important factors for the success of agile software development projects. We have presented a conceptual framework illustrating five dimensions of success factors of agile projects, the main success factors and the sub success factors under each dimension to reach for a narrowed number of success factors for more understand-ability and applicability.
We also proposed an approach for evaluating the adherence of the success factors in an agile project providing data analysis method, and the algorithm and flowchart for performing or implementing the approach. Since we only provided a theoretical approach so we need to practically implement it on many agile software development projects in the future, and some statistical studies can be performed to minimize the number of success factors to reach for the critical success factors.