The Impact of Agile Approach on Software Engineering Teams

: Problem statement: This study presents the initial findings on the impact of agile approach amongst Software Engineering (SE) teams in one computer center in Malaysia. This study revealed that agile approach able to receive positive feedbacks and increase positive affectivity amongst team members during software development projects. Approach: This study used action research approach. Data were collected from four Software Engineering (SE) teams who volunteered to participate in this study through a series of interviews, short-term observations and a questionnaire. Positive Affect scale from Positive Affect and Negative Affect Schedule (PANAS) questionnaire was used to measure the developers’ state of positive affect during two intervals. Results: These findings found that not agile-XP practices adopted by the developers. This is due to knowledge barriers and organizational culture. However, agile approach induced level of positive affectivity amongst the members during software development process. In addition, agile approach promotes the members to be more active in coordinating and collaborating amongst teams. Conclusion: The findings in this study give an insight towards applying a flexible agile approach to accommodate and suit organizational culture. Effective methodology and organizational culture are important factors that must be considered to produce innovative teams and quality software.


INTRODUCTION
Agile methodology emerged due to evolving and changing software requirements changing software requirements. In addition, people are becoming more interested in developing software that better fits their business requirements. Agile methodology accommodates iterative and incremental development by incorporating human values through effective communication and feedbacks.
Extreme Programming (XP) is the most prevalent in agile software development methodology (Cockburn, 2007;Salo and Abrahamsson, 2008). XP has gained a lot of attention and is a widely used agile methodology in industry. There were originally twelve major practices in XP: The planning game, pair programming, refactoring, simple design, continuous integration, testfirst programming, collective ownership, coding standards, short releases, metaphor, sustainable pace and on-site customers (Beck, 2000). These practices were based on four XP values, which are communication, simplicity, feedback and courage.
However, as these practices evolved, Beck and Andres (2004) further divided XP practices into two main categories, which are primary and corollary practices. Mastering the primary practices is necessary to easily adopt the corollary practices.
The emergence use of agile practices in industry were more focused on the agile perception (Aveling, 2004;Murru et al., 2003;Rasmusson, 2003) and comparison studies (Ilieva et al., 2004;Layman et al., 2004;Sillitti et al., 2005). Applying and evaluating the agile effectiveness in industry highlighted whether its practices can increase the quality, productivity but decrease the software life cycle time. Most studies conducted in the United States (Layman, 2004;Layman et al., 2004) and European (Ilieva et al., 2004;Murru et al., 2003;Salo and Abrahamsson, 2008;Sillitti et al., 2005) companies used XP or Scrum. However, there were fewer studies reported on agile practices in Asian countries. Therefore, this study presents the impact of agile approach in educating and training four SE teams of one university computer centre in Malaysia in applying the practices in their new software projects.

Related works: Agile in Organizations:
The variations in the rate of adoption of agile methodology mostly have been studied in the United States of America and European companies. The suitability of using agile practices in large organization was conducted by Lindvall et al. (2004) at four big organizations which were ABB, DaimlerChrysler, Motorola and Nokia. The study showed that XP allowed developers to gain positive experiences because XP was easy to understand and therefore increased teams' morale. However, these organizations need to define an agile process tailored to their current software practices to avoid conflict of interest in developing software.
Not all XP practices were fully adopted by software development teams. Some of the practices such as continuous integration and coding standards were easy to adopt by the teams because the practices are common programming practices. However, practices that involved others parties such as on-site customer, planning game and small release were difficult to adopt (Aveling, 2004). Positive experiences and feedbacks in applying agile approach especially XP in software organization have tremendously reported in literature review such as promoting highly collaborative and coordination teams, improving learning experiences and receiving satisfactory relationship with customers (Murru et al., 2003;Sharp and Robinson, 2008;Sillitti et al., 2005) Researchers investigated underlying reasons that prevent agile approach to be successfully adopted. Aveling (2004) claimed that level of XP adoption can be categorized into three major categories; insufficient discipline, failure to understand the practices and failure to persuade third party stakeholders, which perceived that the third category often led to project failure. Less support from the organization prevents the practices to be applied effectively. This shows that organizational culture plays important roles more than the technical issues. In addition, McAvoy and Butler (2009) indicated that learning to adopt agile is more than cognitive process, which requires software development team to change their behavior, attitudes and opinions during the software development activities. These explain that changing people to adopt a new approach is challenging tasks as it deals with human factors. This shows that agile is a team-oriented, therefore having a good combination of people will always lead to a successful software projects (Mazni et al., 2010;Rasmusson, 2003).
Research in social and human aspects in XP was conducted by Sharp and Robinson (2004) in a small company developing Web-based intelligent advertisements. This ethnographic study gave an insight into the culture and communities that apply XP. The study discovered that XP developers were relaxed in competent environment because XP promotes high collaboration and coordination amongst agile teams (Sharp and Robinson, 2008).
Theory of positive affect: Positive affect induces developers' mind to perform problem solving activities during software development activities. Level of performance increased when the developers study in a positive mood. Working in a positive mood induces human brain to think and solve problem in effective manner. Moreover, positive affect can facilitate developers' thinking to be more creative as well as experiencing less stressful environment. Several works by Isen (2001) and (Sharifah-Lailee et al., 2009) have proved that positive affect fosters flexible and thorough thinking in problem solving processes. Feeling happy, interested and inspired will bolster developers' performance when developing a system. Further studies indicate that positive affect have direct impact on cognitive performance, cognitive appraisal and social relationship (Fredrickson, 2002;Huppert, 2006). In addition, positive affectivity can enhance attention and stimulates mind to broaden the scope of cognitive processing. This can lead to brain generating more ideas and creativity when performing problem solving tasks. Isen (2001) discovered that positive affect influences thinking about wide range of related ideas, elaborate the ideas by categorizing and improving the capacity of human brain. This shows that psychological aspects have an impact towards developers' ability in problem solving activity. In view of this, it is not surprising that developers experiencing with positive affect tend to accomplish task effectively.

MATERIALS AND METHODS
This study aims to investigate the impact of agile practices in a university computer centre in Malaysia. In this study, four software development teams were observed for a period of time from May 2009 until December 2009. Each team consists of two system analysts and four programmers. This made up eight system analysts and sixteen programmers as the participants in this study. Every participant was informed about the research conducted and nature of the study.
Background of case study: A university computer centre in Malaysia was selected for this study. Initially, all staff, consisted 11 system analysts and 20 programmers, was selected to participate in 'Embracing XP Project'. The aim of this project was to explain to them an alternative approach to developing software that is simpler and lighter. This project came about because one of the deputy heads who was in charge of applications in this centre was an 'XP convert'. The manager's prior involvement with XP started when he was one of the project advisors in the earlier study (Sharifah-Lailee et al., 2009). He was impressed with the XP practices that allow a high degree of collaboration among software development teams. Collaborative teams are important to build knowledge sharing among team members, which can promote effective and creative solutions during software development.
All teams were required to use the Java Servlet Pages (JSP) language in their proposed applications, in accordance with the computer centre strategic planning. Since the language and SE approach were new to all the team members, all programmers were sent to workshops before the project started.
In this study, eight system analysts and sixteen programmers making up four teams were chosen to proceed with the agile-XP case study. The selection of these participants was based on their commitment towards completing the projects.
Agile workshops: Before embarking on the project, agile workshops were conducted to introduce and explain to the software development teams the agile-XP practices. This workshop on XP programming was attended by all participants. The workshop addressed the theory and the practical aspects of agile software development and was divided into three sessions. The first session was for the system analysts, which focused on the theoretical aspects of XP, where simple design document was introduced to facilitate documenting the project development study. The document consisted of a Unified Modeling Language (UML) using case diagram, Entity Relationship Diagram (ER-D) and interface designs. The second session was for the programmers, which addressed the XP practices. In addition to the XP theory, the session also included hands-on tasks for a planning game and pair programming to assist the programmers in understanding better the XP activities. The third session on XP combined both system analysts and programmers in teams according to the selected projects. In this session, the team leader (system analyst) and members (programmers) were asked to start the project by completing story cards.

Data collection and analysis:
This study used action research approach. Data were collected through a series of interviews, short-term observations and a questionnaire. The action research approach allows a flexible and responsive strategy that helps improve the learning experiences and practices of the participants.
The observations were carried out for six-months to improve the understanding of the working culture in the computer centre under a natural setting.
Interviews were carried out using semi-structured interviews with selected participants to ascertain that each team understood and applied agile-XP practices as much as possible. Every interview session lasted between five to 10 min. The interviews were audio recorded and transcribed after each session. Followup questions were asked via face-to-face meetings when clarifications were necessary. During the interview sessions, the problems that were encountered were discussed.
In this study, Positive Affect scale from Positive Affect and Negative Affect Schedule (PANAS) questionnaire was used to measure the developers' state of positive affect. The questionnaire consisted of ten psychological feelings such as interested, proud, determined and active. Participants were required to rate their feeling towards the software project for the past few weeks. Each attributes based on likert fivepoint scale ranging from "1-very slightly or not at all, 2-a little, 3-moderately, 4-quite a bit, 5-extremely." The analysis was carried to investigate positive affectivity amongst SE teams during the project. Wilcoxon Signed Rank, non parametric test was used for measuring the differences of positive affectivity between two intervals (reading 1 and 2). The first reading was collected during the second XP workshop, which was before the project commenced. The second reading was collected during the coding phase to measure whether there was an increase or decrease in positive affectivity level during this phase. The validity and reliability of positive affect scale had been demonstrated by other studies (Isen, 2001;Sharifah-Lailee et al., 2005;Sharifah-Lailee et al., 2009). Data validity: Construct validity was achieved by seeking clarification of the person interviewed once the interview was transcribed. In dealing with reliability issues, all procedures such as interview guidelines, field notes and questionnaires were documented. This is to ensure that the study can be easily replicated and same conclusions can be drawn by other researchers.

RESULTS
There were mixed responses when the participants were asked about the a doption of agile-XP practices. Some of the participants claimed that the agile Fig. 1: Line graph showing positive affectivity level experienced by SE teams during two intervals methodology was a strict and disciplined approach that required them to follow the practices closely, but others argued that the practices were not new for them. However, it was revealed that the practices promoted effective communication and sharing values amongst the members, as commented by the team members below: "Before this, system analyst will develop system design alone, then he or she will discuss with programmers, but in this activity [planning game] we discuss it together. So, we have more ideas to create the design and user can understand better, programmers also easily understand the system flow." [Team member1] "We interact each others, when one of members in team has more experience, he or she will share." [Team member2] Positive Affectivity: The positive affect scale showed a satisfactory internal consistency coefficient, Cronbach alpha = 0.88 during the first reading and Cronbach alpha = 0.91 during the second reading. It was indicated that there is no significant difference of positive affectivity between the two intervals; Reading 1 (mean score= 28.83, standard deviation = 1.54), and Reading 2 (mean score= 30.33, standard deviation = 1.71). The mean score for positive affectivity is illustrated in Fig. 1. Even though the results show no statistically significant difference of mean score during the two intervals, it has shown that applying agile practices able to increase level of positive affectivity during software projects.

DISCUSSION
The graph shows that level of positive affect increased during the software project. This was because the agile method was introduced and incorporated into team members' existing knowledge. Furthermore, management roles in supporting training program are important to provide better decision making for organization continuous improvements (Al-Zharani, 2010;Ibrahim et al., 2010). Positive emotions linked to the sharing activity motivated team members' expectations to fulfill project requirements. Allowing flexibility in adopting new method in organization induced feeling of enjoyment and positive mood during software development activities. Positive affectivity increased person's ability to be more creative and innovative in problem solving tasks (Isen, 2001).Using simplified design in agile releasing the stressful task of creation, thus liberating the mind to be more creative and innovative. By reducing the technical aspect of design, the mind was able to approach the problem solving task through a breadth first approach. Design is only an early manifestation of ideas, whereas the coding process allows the developers to realize their idea in a more concrete way. This approach is considered as a positive affect inducer because it allows feedback on the design through the programming code (Sharifah-Lailee et al., 2009). The ability to see the results and identify the flaws in the design allows the developers to be more creative in the next part of the system. This is the reason why simple design can accommodate flexible requirements because the process of creating part of the system in this manner allows developers to be more innovative in the problem solving process. Furthermore, agile documents that are simple and practical allow the members to complete the projects simultaneously and therefore, team members were not burdened with additional documentation tasks. The documentations tasks can be upgraded easily by updating interface design and linking the source codes simultaneously during the design and coding phase. The simple and practical agile documents were appreciated by the members and management (Mazni et al., 2010).

CONCLUSION
Adopting agile-XP practices has been successfully implemented in this centre. Although not all practices were fully adopted, positive feedbacks amongst SE teams was received during the software project. In addition, level of positive affectivity increased during the software projects. This shows that the flexibility approach to accommodate organizational culture is important for changing people's behavior and mindset. In addition, identifying knowledge gaps is vital for ensuring successful implementation of a healthy study culture. Effective methodology and organizational culture are important factors that must be considered to produce innovative teams and quality software. Further studies on this relationship would be valuable for creating a new generation of creative and innovative SE teams.