Implementation of Scrum in Pakistan's IT Industry - ACM Digital Library

2 downloads 0 Views 695KB Size Report
and training, Scrum deployment, and scrum control and ... Agile software development; Rational Unified Programming ..... by means of historical information of corporations and their ... Refactored: The Case Against XP, Apress, Berkeley, CA,.
Implementation of Scrum in Pakistan’s IT Industry Bilal Maqbool, Fateh Ur Rehman, Muhammad Abbas, Saad Rehman Department of Computer & Software Engineering, College of E&ME, National University of Sciences and Technology (NUST), Islamabad, Pakistan +92-343-5642265, +92-332-6736292, +92-332-9244006, +92-51-9278050

[email protected], [email protected], [email protected], [email protected] objectives and needs. To accommodate modifications, researchers have enhanced and upgraded the former method. By the same period, few of the traditional methods have been incapable of adapting people's requirements.

ABSTRACT Scrum provides a way to monitor and control different activities of Software Project Management. It involves the usage of human, monetary and temporal assets in project development, increasing the rate of its successful deliveries. The subsequent four steps have been defined to enable the Scrum implementation: substructure planning and installation, team building, motivation and training, Scrum deployment, and scrum control and refinement. The outcomes of these principals will be received from the survey of IT companies of Pakistan and show how they accommodate requirement change request by using Scrum methodology. The most important improvements involve communication, team building, leading, motivation, and rapid development inside IT enterprise. Projects often consist of multiple participants with different values that can reason conflicts in the team causing lower in members’ motivation/morale, participation/team-working, productivity, and quality. Command-and-control structures typically are eliminated largely; Project Management have to deal with this effectively.

Software development is growing multi-dimensional in many areas. Today the software assignments are becoming further complex as related to earlier [5], [6]. Consequently, the client is not skilled of imagining the outcome of the software, which results in requirements change and has a huge effect on the process of development of software. Earlier, the software development methodologies were not capable of implementing the late modifications in the software project’s requirements. Consequently, there has been some new software development techniques; many ideas for enhancement have come from experts, who have suggested agile methodology. The agile group recommended the concept of agile methodology in 2001, and at that time, several software teams and corporations accepted and acknowledged this one, and increasingly remained commonly used [7]. Agile Practices discovers its configuring scope in requirement modifications in software development.

CCS Concepts • Software and its engineering ➝ Agile software development

Though there are several agile approaches, there is limited understanding of the implementation of methods and their effects [8]. The advent of agile, in the last sixteen years, changed the software development process. Various agile methods analyses, readings, and studies had been done [7]. This paper focuses on agile implementation, comparing methodologies with traditional methodologies, and problems faced in approaches application and review the current agile practices in Pakistan’s IT industry.

Keywords Agile software development; Rational Unified Programming (RUP); SCRUM; Extreme Programming (XP); Requirement Engineering (RE); Software Project Management (SPM).

1. INTRODUCTION Software development is described as a set of agreed procedures, approaches, improvements and actions, used to sustain and procure software and its correlated products [1]. The problem of how to systematized software development, that it should be delivered quicker, improved and inexpensive resolutions have been deliberated in software engineering groups for years [2], [3], [4]. Numerous solutions are recommended, from the regularization and evaluation of software program to a solid practice, tools, and approaches.

2. BACKGROUND Agile Development [9] is currently an evolving field of Software Engineering and supported by software specialists. Agile principles are developed from traditional software philosophies and several understandings founded on successes and failures of software developments. For Customers, it is tough to describe their requirements due to rapid technology changes [10]. New techniques are known as agile methodologies are intended to describe the requirements changing in software development [11]. Old-fashioned approaches discuss used methods like waterfall methodology. These methods have frequently remained discouraged because they are far away from the real software development processes. Agile methodology appeared early in 2001 when a software advisory group contracted the Agile Policy. Agile emphasize the issues of irregularity of projects. It depends on persons and imagination over procedures [7]. Principal subjects of agile approaches are to encourage and quick solutions to different situations, wants and conference the goals. The key concentration of the agile are following [1]:

Through the more development of computer science technology, the software development practice has more or less different Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. ICMSS 2018, January 13–15, 2018, Wuhan, China © 2018 Association for Computing Machinery. ACM ISBN 978-1-4503-5431-8/18/01…$15.00

DOI: https://doi.org/10.1145/3180374.3181336 139

i. Communications and persons instead of tools and methods ii.

about software precision, the ranking of requirements, and shared an understanding of their methodologies. The results demonstrate that they have established custom-built methods for validation and verification. Their Software systems have various structures of both open source and agile projects [23]. They depend on the widespread use of common communication networks, selforganization of the groups, and investors are customers and field experts. These valuations propose understandings into why these practices and processes work.

Operational software instead of widespread papers

iii. Client cooperation instead of agreement compromise iv. Retorting towards modification instead of the following strategy Many specialists created some agile approaches that represent agreed methods of software development [12]. Conventional methods [12] are Rational Unified Programming (RUP), Scrum and Extreme Programming (XP). The key principle is software development and client’s satisfaction from side to side-iterative deliverables of software. Small iterations can accomplish it in the process of software development. It focusses on a well-timed transfer of functioning software that offers significant worth to the client. Further prominently, the limited effort that has been done to evaluate the applicability of the agile methods. It is an intimation, need for research.

Requirement Engineering (RE) has a significant part in the achievement of software development life cycle because RE is the initial point of development, any modifications in requirements will be expensive and will increase schedule [24]. Failure in defining precise requirements will bring errors in specifications and to a system structural design. Various software developments are categorized by customers’ requirements to modify few requirements. Scrum agile methodology has a great consideration because it can deal with uncertain environments [25].

4. RESEARCH METHODOLOGY

Many experienced people have created agile development methods characterize a set of procedures for development of software [13]. These can be understood as an innovative indication to traditional or plan-based approaches that highlights “a modernized, methodology based on engineering” [14], [10], which is specific those difficulties are entirely specific and that greatest and predicted resolutions are present for every difficulty. The “fundamentalists” are supposed to a supporter of general planning, organized procedures, and challenging reuse to create development a proficient and foreseeable activity [15]. By dissimilarity, agile procedures resolve the issues of an uncertain world by trusting on “individuals and their imagination rather than procedures” [14], [16].

After outlining the research questions to conclude the particular nature of the problem, a solution was proposed, and the data was collected by getting the opinion of employees, team leads and project managers, then took a comparative study of analyzed data with data of developed countries. The questionnaire was sent to 23 companies, and 13 companies answered to the survey questionnaires. Outcomes of the survey show a solid quantity of data to be analyze. The research took place in 13 companies in Pakistan, where the researcher held the senior role in the organizations.

Many authors [17] defined about repetitive and evolutionary development and their difficulties. The earliest agile technique used by extreme programming (XP) [12]. The first time the concept and word “agile” in “software process” were used in 1998. Several more approaches followed this methodology, including Rational Unified Programming (RUP), and Scrum.

The survey aims are to investigate a different way and new ground of accomplishing goals. A main objective of the research is to encourage Pakistan’s I.T sector to involve and participants in the entire research process. This will effect a revolution in the organization and will produce results that are quantifiable. Research is set in an industrial location that was exposed to repeated reformation, a high amount of insecurity and fluctuating industrial strategies. Therefore, it is necessary to implement a new research methodology that comprised of a degree of flexibility, and it will be capable of responding to these elements.

Evaluation of agile a traditional development is clarified [18]. Several individuals have tried to define the central concepts of agile methodology and few of them by inspecting related trends in other areas. Some fundamental concepts in the system were to attain quality, exclude waste, and emphasis on solving the problems. Experts and researchers, primarily concentrating on four major characteristics, examine agile approaches:

The study targeted all the companies who use agile (scrum) methodology. Companies were selected based on the probability of existing or possible involvement with uncertainty projects in the predictable upcoming projects. A sample was used to collect information by means of a planned and controlled survey. Employees were intercepted in their free time at the different office locations.

i. Agile methodology is not new; such method is used in software development since the 1960s [7].

The two key objectives of the research are one practical practice and the other is systematic or scientific. The practical practices objective is to implement revolution in the investigated establishments by refining the project administration techniques, using a mixture of traditional techniques and agile methodology. The systematic or scientific objective is to implement the logical group of knowledge. A solution was proposed to achieve both of these goals, based on the survey to accommodate requirement changes and increase their quality.

3. LITERATURE REVIEW

ii. The absence of emphasis on architecture is certain to produce sub-optimal decisions related to design [19]. iii. Approaches in XP are frequently appropriate and are infrequently used according to the book [20], [21]. iv. Agile methodology is appropriate for small projects, but for bigger developments, other methods are more suitable [14].

The research was done in the businesses where the co-researcher is working. It is easy for the co-researcher to get complete access to the company and its information. It is advantageous for the research progression, as an outside researcher may not have similar chances of understanding. However, this access also has

Climate experts develop significant, multifaceted simulations with slight or no software engineering exercise and training. They do not voluntarily accept the modern software engineering techniques and tools. An ethnographic study [22] of the practices and philosophy of climate experts examined about thinking of peoples

140

Agile practices are skilled of rapidly adjusting to the customers’ requirements change. Agile deal with repeated changes in software projects and is prepared for such resolutions. Agile enables repeated deliveries of the operational software. Developers considered and experienced a progressive result in gaining ordered response on the software being manufactured. An additional significant feature of Agile is its part in testing. Agile upholds a great quality all over the testing and design phase. As it is an iterative process, software is produced at intervals; faults can nearly be supposed as easy to identify and to correct.

some issues, as it is likely for the individual bias of the coresearcher to appear in research outcomes and it is a real issue. The matter of researcher bias has been examined detailed and solved by working closely with co-researcher. The study is not an only hypothetical application. It emphases on resolutions for actual issues, for real society. The study is established on repetitive sequences, which involve the planning, problem elicitation, reacting, and evaluation of the problem. The planned objective of the research is a reorientation of people’s recognized patterns of philosophy at a basic level, with an importance of contribution and unrestricted choice. This study examined new approaches to project management in Pakistan’s IT sector. Questionnaires were delivered with a data sheet in the English language about the study assignment. Contributors were educated that they could pull out from the investigation at any period and that there would be no pointless threat or awkwardness for anyone involved. Questionnaires generally took place in a reserved room, except a member selected another location, i.e. online Skype and/or email. No private information was gathered, as this study distributed with non-particular data relating to a common workstation and the project effort. Research records were saved in a protected place that was reachable only to the investigator and all info given by participants was preserved with the highest care. All names and recognizing information were detached at the time of data analysis, and the position or role of the participant was only used for grouping results in the data examination phase. Final discoveries are presenting the data as overall statistics, and have no classifying names of contributors or the organizations, replacing assumed name for actual names to guard the confidentiality and secrecy of those who are involved in the study.

Scrum is implemented in the majority of projects. Advantages were recognized containing the improved quality of a program, improved communication between the group participants and there is willingness with the group participants to react to changes creatively. A good control of project schedule. Project administrator of the corporation attributes this to their client satisfaction, and timely productions are always easy. Some issues are recognized by some companies. Project manager senses that the current administrative structure was not reformed totally to uniform the agile idea. There have been circumstances of apprehension on the subject of communication gap as there is personnel with superiority team and testing process. Maintaining and it is always difficult to follow the schedules as it was planned. Project managers feel it is risky to implement an innovative, agile practice. There are less proficient persons to guide teams. However, they are happy with the present agile methodology they are using in the software developments. Participants involved in the survey have different years of experience; a majority was peoples having three years and four years, details are presented in Figure 2.

The advantages and disadvantages of scrum methodology have been recognized. Research questions have established to be beneficial for the survey. Survey facilitated in classifying the scrum methods that the Pakistan’s IT companies have integrated and gained profits by those methods. The key concentration was to identify the change that scrum methods carried in the organization. The determination was to identify the perception of the personnel, the revolution in work and to identify the change from the client’s opinion.

5. FINDINGS Survey results reveal that the corporations are implementing agile methodologies, especially Scrum. Questionnaires indicated there are some issues. The advantages and issues of effective implementation of agile practices are explained in detail in this research paper.

Figure 2. Participants experiences (years) The outcome shows the average number of projects companies completed each year. There is the majority of two types of companies the first type of organizations is of the small scale that has completed average 0-5 projects per year, and other types of originations are of the large scale that has completed average 1620+ projects per year, details are presented in Figure 3.

Participants involved in the research have different roles and responsibilities in the organization; the majority were Senior Software Engineers; details are presented below in Figure 1.

Software Engineer Senior Software Engineer Junior Developer CTO 0

2

4

6

Figure 1. Participants roles

141

Figure 6. Software used to support the Scrum After data analysis, it is found that how often requirements change happens in one project. Average 20 times during software development software requirements changes, detailed results are presented in Figure 7.

Figure 3. Projects completed each year Research shows the average number of projects companies completed each year using Scrum. The range 0-50 and 150-200+ have the same percentage of projects completed each year using scrum; details are presented in Figure 4.

Figure 7. How often requirements change happens Results show that how often meetings are held to discuss requirement changes. Average 5-7 times meetings are held to discuss the requirements change; detailed results are presented in Figure 8.

Figure 4. Projects completed each year using Scrum Research shows the average length/duration of projects organization completed using Scrum. Mostly Pakistan’s companies have 40-50+ weeklong projects; detailed results are presented in Figure 5.

Figure 8. Meetings are held to discuss requirement changes Figure 5: Average project duration completed using Scrum

Results show that how timely companies deliver working software to the customer after requirement changes. After changes have been made, they make sure that product should be delivered early; detailed results are presented in Figure 9.

It is found that the software is used to support the organization to use Scrum. In Pakistan Atlassian Jira, Version One and Read Mine have the same percentage of users; detailed results are presented in Figure 6.

142

Welcome changing requirements, even late in development

6 (46.2%)

User stories and sprints orchestrate change

5 (38.5%)

Task boards make developer tasks and details visible

6 (46.2%)

Customer input happens throughout the process

Figure 9. Delivery of working software to the customer after requirement changes Results show that how companies follow key requirement change activities that are carried out on the project. In Pakistan a large number of companies don’t follow all requirements change process, most of the companies only rely on customer involvement they skip major techniques like change request form, etc., detailed results are presented in Table 1 and Figure 10.

12 (92.3%)

Daily meetings promote communications

7 (53.8%)

Requirement Change Request Form

4 (30.8%) 0

5

10

15

Figure 10. Companies follow key requirement change activities Table 1: Companies follow key requirement change activities

Results show that how frequent was the software build sent to a customer. Only 0-3 builds are sent to the customer per month which of the many builds face issues like requirement changes; detailed results are presented in Figure 11.

Key requirement change activities that you carried out on the project? Requirement Change Request Form

4 (30.8%)

Daily meetings promote communications

7 (53.8%)

Customer input happens throughout the process

12 (92.3%)

Task boards make the developer tasks and details visible.

6 (46.2%)

User stories and sprints orchestrate change

5 (38.5%)

Welcome changing requirements, even late in development

6 (46.2%)

Figure 11. Software builds sent to customer Results show that how many days of training are provided on the scrum in organizations. In Pakistan many companies organize many Scrum training sessions for their employees, most are 4-5 weeks long, detailed results are presented in Figure 12.

Figure 12. Training provided on scrum Outcomes show that do they consider the training adequate in their organizations. Most companies consider Scrum training

143

helpful, but there is a significant number of organizations who consider them a waste of time because they did not get results as they were expected, detailed results are presented in Figure 13.

neither positive nor negative effect on the development of projects in their organizations; detailed results are presented in Figure 16.

Figure 16. Effect on project development Few outcomes of the survey are written below in Table 2 explain, what is the reason project managers like to adopt agile methodology.

Figure 13. Companies consider training adequate Outcomes show that do they have rejected some agile methods to implement in their organizations during schedule or cost overrun. This result is alarming because it shows that there is a big number of companies who skip agile method especially when they face schedule or cost issues, detailed results are presented in Figure 14.

Table 2: Reasons for implementing Agile methodology Agile methods important characteristics Acknowledgment needs will change

that

Motivation to implement agile methods

client

Capability to adopt changes

Short time releases of operational software allow getting earlier response from the clients and consumers

Capability to catch response from clients

Based releases of operational software on small repetitions of 1 week or 2 weeks

Short time releases

Continuous integration and testing imposes the distribution of bug-free high-quality software

Companies’ procedures wants good quality faultfree software

Figure 14. Companies rejected some agile methods Research shows that team performance using Scrum in their organizations. Many companies find Scrum beneficial, but a considerable number of companies consider that there is no big change happened in their team performance; detailed results are presented in Figure 15.

Table 3 explain, what is the reason project managers dislike to adopt agile methodology. Table 3: Reasons for not implementing Agile methodology

Figure 15. Team performance The survey shows the effect on Project Development using Scrum in organizations. About 31% companies found that Scrum has

144

Organization aspects

Motivation not to implement agile methods

Companies using in waterfall model are unwilling to apply agile methods such as Scrum

Mindset for using traditional waterfall model

They have impractical hopes with agile they can encounter marketplace demand

Idealistic expectations of schedule

Scrum needs a wellorganized methodology to systematical development

Scrum requires a wellorganized methodology

Scrum is best for small duration projects. Few work outcomes are generated, and needs can be ranked in a well-organized way but it is grounded on customer participation that is not likely in each project, close client cooperation is not feasible, so they are offsite much time. Similarly, better team collaboration supported by Scrum are not unfilled in the one-developer project.

7. REFERENCES [1] G. Cugola and C. Ghezzi. 1998. Software Processes: A Retrospective and a Path to the Future. In Proc. of the Software Process Improvement and Practice Conference, 1998, pp. 101 -123 [2] T. Yokoi. 2016. Development of a training software for learning matrix characteristics with uniform magnetic field design problem. 2016 19th International Conference on Electrical Machines and Systems (ICEMS), Chiba, 2016, pp. 1-4.

Scrum has some benefits as small sprints can increase client feedback directed to improved productivity in reacting to changing processes and requirements. Enhanced management and communication between team members. Especially, beneficial to bring developers and testers together on one page. Iterative outcomes are important for the integration process. Developers build the prototype within few weeks instead of months or years. Scrum practices are dynamic and commonly used. Scrum supports real-time monitoring, tracking, controlling of development, and capable to forecasts future based on that data. Nevertheless, there are some problems of scrum like meetings include all participants of a group then frequently occur every day. If “Scrum Master” is not well organized and dedicated sufficient to track the meeting rapidly, it will create many problems. Working with other groups is also a big concern. Specifically, in larger and complex projects. Difficulties are in scheduling is the distribution of deliverables among dependent developments. Best for small teams and projects not for complicated big developments. Involving whole management is also a big concern. Several project supervisors are concerned about efficiency metrics and development reports.

[3] M. A. T. Almomani, S. Basri, A. K. B. Mahmood and A. O. Bajeh. 2015. Software Development Practices and Problems in Malaysian Small and Medium Software Enterprises: A Pilot Study. 2015 5th International Conference on IT Convergence and Security (ICITCS), Kuala Lumpur, 2015, pp. 1-5. [4] R. S. Wingo and M. M. Tanik. 2015. Using an agile software development methodology for a complex problem domain. SoutheastCon 2015, Fort Lauderdale, FL, 2015, pp. 1-8. [5] W. Cazzola and D. M. Olivares. 2015. Gradually Learning Programming Supported by a Growable Programming Language. 2015 IEEE 39th Annual Computer Software and Applications Conference, Taichung, 2015, pp. 857-857. [6] H. Hu, H. Zhang, J. Xuan and W. Sun. 2014. Effective Bug Triage Based on Historical Bug-Fix Information. 2014 IEEE 25th International Symposium on Software Reliability Engineering, Naples, 2014, pp. 122-132.

6. CONCLUSION Scrum methodologies are intended to adopt changes even in the late development process and to adjust to the uncertain environment where software is developed and operational today. In global organizations, it is tough to monitor and control multiple interdependencies and their activities effectively. Though no one can ignore the importance of agile, it can be helpful even in a large and complex project by keeping in mind its essential concepts. This can be done by breaking larger and complex project into small and independent projects, which will be more flexible and easy to develop and maintain. This idea gathered from the respondents of the survey as well as suggested by agile principles; it will decrease the problems of Pakistan’s I.T sector regarding requirement changes.

[7] Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Humt, A., Je® ries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Schwaber, K., Sutherland, J., Thom, D.: Manifesto for agile software development. Website (2001) http://agilemanifesto.org/ [8] P. Letelier and M. C. Penades. 2017. AgileRoadmap: An Approach to Implement Agile Practices in Teams. in IEEE Latin America Transactions, vol. 15, no. 7, pp. 1295-1300, 2017. [9] S.Nerur, V. Balijepally, Theoretical reflections on agile development methodologies, Communications of the ACM 50 (3) (2007) 79–83

An interesting point noted during the survey is that a corporation is typically developing small projects having a good number of success rate in using scrum approaches. It is also experienced businesses are not truly promising in terms of using a different agile technique, especially modern ones. This is due to deficiency of comprehensive expertise in this area. It is also experienced that so far a small number of significant work has been published out. Therefore, it is significant that experimental study and examination should be done in this area. Agile techniques are a practical field, and the implementation of different practices like Scrum and Extreme Programming (XP) are different from organization to organization. A comprehensive finding of agile approaches can be done by doing the comprehensive researchers, by means of historical information of corporations and their projects. The peoples, who were involved in this research, focused on the subsequent four reasons for implementing agile approaches, especially Scrum: flexibility to change, small iterations and releases in short time, the iterative response from clients, defectfree and high-quality software.

[10] T. Dyba. Improvisation in small software organizations, IEEE Software 17 (5) (2000) 82–87 [11] R. Malhotra and A. Chug. 2016. Comparative analysis of agile methods and iterative enhancement model in assessment of software maintenance. 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, 2016, pp. 1271-1276. [12] Beck K., Extreme Programming Explained: Embrace Change. Addison-Wesley, 2000 [13] P. A Gerfalk, B. Fitzgerald. Flexible and distributed software processes: old petunias in new bowls? Communications of the ACM 49 (10) (2006) 27–34 [14] S. Nerur, R. Mahapatra, G. Mangalaraj, Challenges of migrating toagile methodologies, Communications of the ACM (May) (2005) 72–78 [15] B. Boehm, Get ready for agile methods, with care, IEEE Computer 35 (1) (2002) 64–69

145

[16] H. Merisalo-Rantanen, T. Tuure, R. Matti, Is extreme programming just old wine in new bottles: a comparison of two cases, Journal of Database Management 16 (4) (2005) 41 –61

[22] Easterbrook, S.M. and Johns, T.C. 2009. Engineering the Software for Understanding Climate Change. Computing in Science and Engineering 11 (6), 64-74. DOI= 10.1109/MCSE.2009.193

[17] C. Larman, V.R. Basili, Iterative and incremental development: a brief history, IEEE Computer 36 (6) (2003) 47–56

[23] S. Bilgaiyan, S. Mishra and M. Das. 2016. A Review of Software Cost Estimation in Agile Software Development Using Soft Computing Techniques. 2016 2nd International Conference on Computational Intelligence and Networks (CINE), Bhubaneswar, 2016, pp. 112-117.

[18] M. Babar, P. H. Nguyen, V. Cuk, I. G. Kamphuis, M. Bongaerts and Z. Hanzelka. 2017. The Evaluation of Agile Demand Response: An Applied Methodology. in IEEE Transactions on Smart Grid, vol. PP, no. 99, pp. 1-1, 2017.

[24] P. A. W. Kristantya, D. S. Kusumo, N. Selviandro and Fachriannoor. 2017. The implementation of adaptive requirements engineering process based on case-based reasoning. 2017 5th International Conference on Information and Communication Technology (ICoIC7), Melaka, 2017, pp. 1-5.

[19] M. Stephens, D. Rosenberg, Extreme Programming Refactored: The Case Against XP, Apress, Berkeley, CA, 2003, ISBN 1-59059-096-1 [20] G. Keefer, Extreme Programming Considered Harmful for Reliable Software Development 2.0, AVOCA GmbH, Online Report, 2003

[25] Nagy Ramadan Darwish, Salwa Megahed. 2016. Requirements Engineering in Scrum Framework, International Journal of Computer Applications (0975 – 8887), September 2016

[21] Kieran conboy and Sharon coyle. 2011. People over process: Key Challenges in agile development. IEEE Software 2011

146