How Agile Impacts a Software Corporation: An Empirical Study

4 downloads 0 Views 545KB Size Report
service corporation which is well-known in its successful Agile experiences. From analysis of the data, three primary impacts brought by agile adoption are ...
2018 42nd IEEE International Conference on Computer Software & Applications

How Agile Impacts a Software Corporation: An Empirical Study Hwai-Jung Hsu

Yves Lin

Department of Information Engineering and Computer Science Feng Chia University Taichung 40724, Taiwan Email: [email protected]

Titansoft Pte. Ltd. Singapore 089762 Email: [email protected]

the studies demonstrated that Agile improves the collaboration between developers and customers, helps in adaptation of changes, and advances the quality of codes. On the other hand, numerous great software companies like Amazon.com [11], Apple [12], and Microsoft [13] directly apply Agile methods or use some of the Agile practices within their development process. Being applied by top software company seems demonstrate the effectiveness of Agile. However, few studies ever addressed how Agile changes the business and culture of a software company in a long term. Since Agile claims emphasizing values, communication, and self-organizing, how agile methods influence a software company in business and enterprise culture could be essential and thus worthy of study. To the best of our knowledge, this paper is one of the few studies discussing how agile methods influence a software company in software development, business, and corporate culture throughout a relatively long duration (more than 5 years). Titansoft is a Singapore IT service corporation founded at 2005 with 5 employees, and is now an international companies with more than 150 employees. Titansoft is famous in their successful Agile experiences and humanity working environment. Titansoft did not apply agile methods until 2014. At that time, the growth of Titansoft slowed down. Thus, the managers of Titansoft decided to introduce Agile into their organization, and expected it could speed up the product development cycle for bringing profits to their customers and themselves. Unexpectedly, introducing Agile brought no direct benefits but mess and stagnation at the first place. However, Titansoft did not flinch because of the setback; on the contrary, Titansoft continued promoting agile methods to the whole organization steadily, and finally gain great improvement in both business and enterprise culture. In this paper, we analyze the operational data from Titansoft to show how Agile works in a software company from the business views, and examine the human resource records and staff survey to demonstrate how the culture of Titansoft is changed due to adopting Agile. The data is collected from 2012 to 2016, and covers the duration of pre-agile, early adoption of agile methods, and stable application of Agile. This paper is organized as following. Section II summarizes the previous work in evaluating Agile methods with exper-

Abstract—Agile methods advocating early and frequent delivery, incremental and iterative development, and adaptive planning gradually becomes a popular software development methodology around the world. Many top software companies adopt agile methods and develop lots of remarkable software products. Although many researchers have studied agile methods using various approaches, whether and how agile methods help developers establish better software is still controversial. In this paper, we study the business data, development, and human resources records provided by Titansoft, a Singapore IT service corporation which is well-known in its successful Agile experiences. From analysis of the data, three primary impacts brought by agile adoption are revealed: (1) A temporary business stagnation; (2) Improvement in product quality; (3) Positive evolution in corporate culture. To the best of our knowledge, this paper is one of the few studies discussing how agile methods influence a software company in software development, business, and corporate culture aspects throughout a relatively long duration (more than 5 years). Index Terms—Agile development; Data analysis; Corporate culture;

I. INTRODUCTION Agile methods, Agile in short, are software development methodologies following Manifesto for Agile Software Development [1]. Agile is value-driven and focuses on maximizing the values of the customers. Unlike the traditional waterfall software development approaches, Agile advocates early and frequent delivery, incremental and iterative development, and adaptive planning [2]. In order to face the rapid change of the real world, the Agile development team continues inspecting what the customers want by delivering small working software frequently (per week or per month), and adapting to the customers’ feedbacks and the context variations. On the other hand, Agile also stresses on transparent communication within the development team and continuous collaboration with the customers. Last but not the least, Agile highly values selforganization team which is composed by a group of motivated and cross-functional individuals who are authorized and able to take decisions and continues improving themselves to adapt changes [3]. Whether and how Agile helps software development is a controversial issue. Researchers have done a lot of studies to evaluate agile methods, and to compare among traditional and agile development approaches [4, 5, 6, 7, 8, 9, 10]. In general, 0730-3157/18/$31.00 ©2018 IEEE DOI 10.1109/COMPSAC.2018.10197

20

iments or practical cases and introduces the agile methods adopted by Titansoft. Section III states the reason why Titansoft introduces Agile into their corporation, and the history of how Titansoft adopts Agile from the very beginning until now. Section IV first sketches the overview of the business data released by Titansoft, and then demonstrates the results about how Agile works in Titansoft through analysis of the data. Finally, we conclude our works in Section V.

and continuous integration, etc. from eXtreme Programming (XP) [15]. Kanban is one of the most a popular framework for developers practicing Agile nowadays. Kanban is simple but powerful. The simplest Kanban system consists of a big board showing the workflow, the on-going tasks within the workflow, and the limits of work-in-progress (WIP) for each step of the workflow. With Kanban, the bottlenecks of the workflow can be clearly revealed and the batch size of each step in the workflow is explicitly controlled [16].

II. BACKGROUNDS A. The Previous Work in Evaluating Agile Methods

III. THE HISTORY FOR ADOPTING AGILE IN TITANSOFT

Dyb˚a et al. made a systematic review on 6 primary Agile methods from thousands of previous studies [4], and identified the benefits and limits of agile methods. Ramesh et al. surveyed how the agile practices are adopted for requirement engineering in 16 US software development organization, and claimed that Agile brings both positive and negative in different risk factors for requirement engineering [5]. Matharu et al. reviewed and compared 3 primary agile methods, Scrum, eXtreme Programming, and Kanban, from various aspects such as design, collaboration, project, product, and adaptation to changes, etc [6]. Many studies were made for evaluating how agile methods works in practice. Salo et al. organized several development teams to develop software using different agile methods, and compared the performance among methods with the data collected during the development [7]. Qumer et al. established their own metrics for grading the agility of several traditional and Agile methods from empirical surveys for evaluation and comparison [8]. Lindvall et al. evaluated and compared agile methods through surveying opinions from the experts coaching Agile in software company [9]. Desterfanis et al. compared agile methods from the traditional ones by evaluating the quality of software products developed with different methodologies [10].

Titansoft was founded at 2005 with 5 employees. Like most new and small software company, Titansoft depended on the capabilities and skills of individual engineers to ensure the quality of their products. At 2009, Titansoft had more than 30 employees. To facilitate management, Titansoft separated their engineers into several functional departments like front-end development, back-end development, production maintenance, and quality assurance, etc. At 2012, Titansoft established a standard operating process for software development to reduce the number of incidents occurred in their products. However, dividing development teams according to functionality increases costs in communication and prolongs the software development cycle. During 2013, the management of Titansoft heard about agile software development could speed up software development cycle, and decided to introduce Scrum to Titansoft [18, 19]. Titansoft first setup one experimental scrum team in Singapore at the beginning of 2014, and then spread Scrum to the whole Titan Singapore Office (Titan SG for short) in the middle of 2014. On the other hand, the first experimental Scrum team in Titan Taipei branch (Titan TPE for short) is initialized in the middle of 2014, and the agile methods is totally adopted in Titan TPE at the beginning of 2015. Titansoft Taichung branch started in 2014, and executed Agile methods from the very beginning. Scrum is the first but not the only agile method introduced to Titansoft. From 2015 till now, Titansoft continued introducing other agile methods like Kanban and Lean development, and technical practices like domain-driven design, test-driven development (TDD), and continuous integration (CI), etc. to different teams based on the goals and the preferences of each team. In Titansoft, even human resource department adopts Kanban for daily work. This case shows that Agile might not be only a software development methodology but also a general purpose work principles and practices [18, 19].

B. Introduction to the Agile Methods Applied by Titansoft From 2014, Titansoft introduced 2 popular agile methods, Scrum and Kanban to the organization, and adopted some of the core technical practices from eXtreme Programming. Scrum is a development framework where cross-functional teams develop products incrementally in an iterative manner. Each iteration cycle is a fixed time duration, usually 2 weeks, called a Sprint. At the beginning of a sprint, a crossfunctional team selects customer requirements prioritized by Product Owner, the representative of customers, as the goal of the sprint. The team makes commitment that the selected requirements would be done and delivered at the end of the sprint, and Product Owner would not add additional items to the team during a sprint. Scrum embraces change for the next Sprint, and the current sprint can focus on a small, clear and stable goal. Scrum emphasizes repeatedly inspecting the result product produced in a short development step, and then adapt the development processes and the goals [14]. To facilitate scrum, Titansoft applies some technical practices like pair programming, test-driven development, refactoring,

IV. ASSESSMENT OF HOW AGILE WORKS IN TITANSOFT In this section, we analyze the business data provided by Titansoft to clarify the following questions: 1) How Agile influences the Performance of Product Development Team.

21

and Product S halted for maintenance on June and July every odd year. We omit the number of active users during June and July from the data. Thus, the 1st half year (H1) is from January to May, and the 2nd half year (H2) is from August to December. The red vertical line in Fig. 1 represents when Titansoft started introducing Agile to Titan SG. Fig. 1 shows that the business of Product S kept growing since 2010 H1 until 2012 H2. The business stagnation continued throughout the whole 2013, and introduction of agile methods in 2014 did not help the business at beginning. The business stagnation continues until the 2nd half of 2015. After that, Product S regained its power to growth. According to Fig. 1 agile methods seems not related to the business growth. Introduction of Agile did not solve the business stagnation but even prolonged the stagnation. On the other hand, Fig. 2 and Fig. 3 illustrates a different story. Fig. 2 shows the total service downtime of Product S using the same manner of Fig. 1 does. From Fig. 2, the service downtime drops dramatically after Agile is comprehensively applied in Titansoft Singapore Office. Fig. 3 illustrating the number of reported error or bugs shows similar tendencies. Besides, Fig. 4 shows that, the development team in Singapore responds to tickets faster after applying Agile. The influences become more obvious after Agile is fully adopted in Titansoft

2) How application of Agile changes the culture of a company. In section IV-A, the business data provided by Titansoft is sketched. Then, we discuss how agile influences software development by comparing the business performance of Titan SG and Titan TPE during various stages of Agile adoption. Finally, the culture change in Titansoft brought by Agile is discussed through staff resignation and emotional feeling in section IV-C and IV-D. A. Overview of the Business Data from Titansoft In order to study whether Agile does impact Titansoft positively, Titansoft provides the following dataset: 1) The number of active users per month for product S, the primary product of Titan SG, from January, 2010 to December 2016, and product T, the primary product of Titan TPE from July, 2012 to December, 2016. In order to protect the commercial confidentiality of Titansoft, the number is provided in relative to the first data point (values equal to 100) for each product. 2) The number of service downtime (in minutes) per month for Product S from January, 2010 to December 2016, and Product T from July, 2012 to December 2016. 3) The number of tickets, the errors and incidents reported from all the stakeholders of Product S from January, 2010 to December 2016, and Product T from July, 2012 to December 2016. This dataset also includes the level of importance and the handling time for each ticket from 2013 to 2016. 4) The number of employees and resignees in both Titan SG and Titan TPE each month from January, 2010 to December, 2016. 5) The result of a survey which asked each employee of Titansoft to give a representative word to each year after he/she joined Titansoft. The survey was made at July, 2016 in Titan SG and Titan TPE. Besides the data above, we also know the following facts: Product S and Product T started their development at 2005 and 2012, being published at 2006 and 2013, and is the first product developed by Titan SG and Titan TPE correspondingly. Titan SG and Titan TPE started applying Scrum experimentally at early 2014 and middle of 2014, and are fully applied at the middle of 2014 and early 2015 separately.

Fig. 1. The relative number of active users for Product S per month (grouped in per half a year)

B. How Agile Influences Software Development in Titansoft Fig. 1 demonstrates the number of active users per month for Product S. In the figure, the per month active users are further grouped per half a year for drawing Box-and-Whisker plot. The line laid in the middle of each box is the median of the active users per month during the half of the year. The lower edge of the box shows the first quartile, the upper edge shows the third quartile, and the whiskers shows the minimum and the maximum number of the active users among the specific half year. On the other hand, since the special events occurred on June and July each even year (such as 2010, 2012, 2014, and 2016) brought additional active on-line users to Product S,

Fig. 2. The total downtime in minutes for Product S per month (grouped in per half a year)

22

hold different values to the organization might bring positive influences to the organization. Fig. 9 shows the ratio of resignees of Titan SG from 2010 till 2016. Obviously, when Agile is introduced to Titan SG, many of the employees did not agree with this strategy and left Titansoft immediately. Similar situation also happened in Titan TPE. Fig. 10 shows the ratio of resignees of Titan TPE from 2012 till 2016. Similarly, Titan TPE also faced a high resignation rate after adopting Agile. The differences is that the resignation rate rosed in Titan SG right after the experimental adoption of Agile, but the resignation rise showed up in Titan TPE after the Titansoft decided to throughly apply agile methods in Titan TPE at the beginning of 2015. The reason caused the differences can be due to the manager in Titan TPE did not make up his mind to adopt Agile while agile methods are first introduced to Titan TPE at middle of 2014. After a series of training courses, the manager of Titan TPE finally agreed with the value of Agile, and determined to full support the promotion of agile methods in Titan TPE during 2015.

Fig. 3. The number of tickets for Product S per month (grouped in per half a year)

D. How Agile Changes Corporate Culture of Titansoft On 2016 July, Titansoft starts a survey which asks all the employees to describe each year after he/she joined Titansoft with one word. The results are as Table I shows. the top 3 words used by employees in Titan SG and Titan TPE are Fig. 4. The duration (in minutes) of handling essential tickets for Product S per month (grouped in per half a year)

Singapore. From all the figures above, we may conclude that although agile methods did not bring the expected business profits once it is adopted, both the quality of the product is and the speed in responding errors are improved while the developers follow the agile principles. Fig. 5, Fig. 6, and Fig. 7 show the situation for Titan TPE. Since Product T is officially online at the first half, 2013, it keeps growing from 2013 to 2016. The growth tendency is steady, and we do not observe the influences of applying Agile methods in Titan TPE from Fig. 5. On the other hand, Fig. 6 shows that the service of Product T gets steady after the end of 2013, and the service downtime is further diminished during the 1st half of 2015 while Agile is fully adopted in Titan TPE. On the other hand, although Fig. 7 shows that adopting Agile did not cut down the incidents of Product T, Fig. 8 shows that applying Agile speeds up the processing of tickets for the development team in Titan TPE. The business data from Titansoft indicates that adopting Agile brings some similar and some different effects between Titansoft Singapore and Taipei, the root cause of the differences needs further studies for clarification.

Fig. 5. The number of active users for Product T per month (grouped in per half a year)

C. How Agile Impacts Human Resources in Titansoft Resignation of employees brings additional costs in recruiting and training replacements. Nonetheless, resignation of employees who can not adapt the enterprise culture or

Fig. 6. The total downtime (in minutes) for Product T per month (grouped in per half a year)

23

employees can be influenced by the recency effect [21] which means their feeling can be dominated by the events happened near the dates that the surveys are done. On the other hand, as we have mentioned in section IV-C, the employees who can not agree with the value of Agile or can not adapt the tempo of executing Agile methods left Titansoft at the early stage of application of Agile. The survey can also being influenced by the survivorship bias [22] because those who may not do well with Agile are all gone. To sum up, since a corporation is composed of employees, the combination of employees indeed represents the culture of the corporation. Since the employees in both the branches of Titansoft transform their thoughts about work from some negative feelings to conclusion ”Excitement” after Agile is applied, we believe this survey can still demonstrate how Agile changes the culture of Titansoft from negative to positive.

Fig. 7. The number of tickets for Product T per month (grouped in per half a year)

V. CONDLUDING REMARKS In this paper, we present the business data, development records, human resources records, and the results of corporate culture survey from Titansoft. The analysis of the data show that Titansoft experienced a huge evolution after adopting Agile methods. Although an organization is a complex system, we may not contribute all the changes happened in Titansoft to a single cause. On the other hand, although Titan SG and Titan TPE adopted Agile at different time, they shown similar tempo Fig. 8. The duration (in minutes) of handling essential tickets for Product T per month (grouped in per half a year) TABLE I T HE R ESULTS FOR T ITAN M EMORY S URVEY

1 2 3 4 5 6 7 8 9

Location SG SG SG SG SG TPE TPE TPE TPE

Year 2012 2013 2014 2015 2016 2013 2014 2015 2016

Top3 Words tired,surprised,nervous frustrated,surprised,tired excited,happy,interested excited,content,interested excited,happy,thoughtful interested,nervous,proud nervous,tired,happy confused,excited,surprised excited,thoughtful,confused

pos% 0.148 0.148 0.556 0.704 0.741 0.294 0.353 0.294 0.529

neg% 0.333 0.444 0.259 0.074 0.148 0.235 0.471 0.588 0.353

Fig. 9. The ratio of resignees in Titan SG from 2010 to 2016

presented. Moreover, we refer to NRC Word-Emotion Association Lexicon [20] to measure the ratio of positive/negative words used for each year within this survey. Obviously, the employees in Titan SG felt quite negative before Agile is adopted, and Agile brought primarily excitement to Titan SG. On the contrary, although the data analysis made in section IV-B shows that adopting Agile raises the product quality and improve the efficiency of the development team, the employees in Titan TPE first feel even more negative and less positive in 2015. Until 2016, the employees in Titan TPE starts feeling the positivity of applying Agile. Nevertheless, this survey is done once at the middle of 2016 rather than investigated every year. The memory of the

Fig. 10. The ratio of resignees in Titan TPE from 2012 to 2016

24

in occurrence of incidents, staff resignation, and enterprise culture evolution. We believe that the positive influences in Titansoft can be very possibly brought by Agile adoption. The primary discoveries of this paper are described as following: 1) The business stagnation after Agile being adopted is identified, and our analysis shows that it might take an additional year before agile methods can bring growth to business. 2) Even the business is stagnated, applying Agile does improve the quality of product. The total downtime of the product developed in Titan SG and Titan TPE drops obviously, the number of bugs reported per month decreases in Titan SG, and the processing time of incidence is diminished. 3) Applying Agile might lead the employees not agreeing with the value of Agile to leave. The survey made by Titansoft also shows a major enterprise culture evolution. The employees feel more excited and happy after agile methods are adopted. In the future, we would continue tracing whether Agile brings impact to software development, especially for adopting Agile in large scale projects or multiple team work. We expect our findings can help software developers around the world to develop better products.

[8]

[9]

[10]

[11]

[12]

[13]

ACKNOWLEDGMENT Special thanks to Titansoft for their generous sharing of precious business data that the influences of adopting agile in a software corporation can be revealed in objective. This research was supported in part by the Ministry of Science and Technology, Taiwan, under grant numbers 106-2221-E-035097-.

[14] [15] [16]

R EFERENCES [1] M. Fowler and J. Highsmith, “The agile manifesto,” Software Development, vol. 9, no. 8, pp. 28–35, 2001. [2] K. Schwaber and M. Beedle, Agile software development with Scrum. Prentice Hall Upper Saddle River, 2002, vol. 1. [3] M. Cohn, Succeeding with agile: software development using Scrum. Pearson Education, 2010. [4] T. Dyb˚a and T. Dingsøyr, “Empirical studies of agile software development: A systematic review,” Information and software technology, vol. 50, no. 9, pp. 833–859, 2008. [5] B. Ramesh, L. Cao, and R. Baskerville, “Agile requirements engineering practices and challenges: an empirical study,” Information Systems Journal, vol. 20, no. 5, pp. 449–480, 2010. [6] G. S. Matharu, A. Mishra, H. Singh, and P. Upadhyay, “Empirical study of agile software development methodologies: A comparative analysis,” ACM SIGSOFT Software Engineering Notes, vol. 40, no. 1, pp. 1–6, 2015. [7] O. Salo and P. Abrahamsson, “Empirical evaluation of agile software development: The controlled case study

[17]

[18]

[19]

[20]

[21]

[22]

25

approach,” in International Conference on Product Focused Software Process Improvement. Springer, 2004, pp. 408–423. A. Qumer and B. Henderson-Sellers, “An evaluation of the degree of agility in six agile methods and its applicability for method engineering,” Information and software technology, vol. 50, no. 4, pp. 280–295, 2008. M. Lindvall, V. Basili, B. Boehm, P. Costa, K. Dangle, F. Shull, R. Tesoriero, L. Williams, and M. Zelkowitz, “Empirical findings in agile methods,” in Conference on Extreme Programming and Agile Methods. Springer, 2002, pp. 197–207. G. Destefanis, S. Counsell, G. Concas, and R. Tonelli, “Software metrics in agile software: An empirical study,” in International Conference on Agile Software Development. Springer, 2014, pp. 157–170. A. Atlas, “Scrum at amazon,” https://theagileexecutive.com/2009/07/20/scrum-atamazon-guest-post-by-alan-atlas/, 2009. S. Denning, “Is apple truly ’agile’?” https://www.forbes.com/sites/stevedenning/2012/02/03/isapple-truly-agile/, 2012. B. Murphy, C. Bird, T. Zimmermann, L. Williams, N. Nagappan, and A. Begel, “Have agile techniques been the silver bullet for software development at microsoft?” in Empirical Software Engineering and Measurement, 2013 ACM/IEEE International Symposium on. IEEE, 2013, pp. 75–84. P. Deemer, G. Benefield, C. Larman, and B. Vodde, “The scrum primer,” p. 15, 2010. K. Beck, Extreme programming explained: embrace change. addison-wesley professional, 2000. D. J. Anderson, Kanban: successful evolutionary change for your technology business. Blue Hole Press, 2010. M. Poppendieck and T. Poppendieck, Lean Software Development: An Agile Toolkit: An Agile Toolkit. AddisonWesley, 2003. Y. Lin and Titansoft, “From chaos to control, from control to freedom - 5 lessons learned on our agile journey,” https://www.slideshare.net/yveslin888/fromchaos-to-control-from-control-to-freedom-5-lessonslearned-on-our-agile-journey, 2016. Titansoft, “Our history and timelime,” http://www.titansoft.com/en/About-Us/Our-HistoryTimeline, 2016. S. M. Mohammad and P. D. Turney, “Crowdsourcing a word–emotion association lexicon,” Computational Intelligence, vol. 29, no. 3, pp. 436–465, 2013. A. D. Baddeley and G. Hitch, “The recency effect: Implicit learning with explicit retrieval?” Memory & Cognition, vol. 21, no. 2, pp. 146–155, 1993. S. J. Brown, W. Goetzmann, R. G. Ibbotson, and S. A. Ross, “Survivorship bias in performance studies,” The Review of Financial Studies, vol. 5, no. 4, pp. 553–580, 1992.