Preference in using Agile Development with Larger Team Size

Agile software development includes a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between cross-functional self-organizing teams. Different software houses were visited in a developing country to determine the experiences faced by people working on a real world projects using Agile software development methodology following different variants in different team sizes to determine the preference of using Agile software development methodology in larger team sizes. Several people were surveyed out of which few responded with an opinion of not to use agile development in a team sizes exceeding 25 members. According to the experience of people the ideal team size was 5 to maximum 10. Because according to the survey increase in the number of individuals create issues of communication as it is not possible to keep everyone on the same track with larger teams especially in case of scrum meetings which usually held on daily basis, taking responsibilities as everyone becomes reluctant in taking responsibilities believing someone else will take it, sub teams because the more the number of individuals the more will be the sub teams which indirectly increases the dependency among the teams by breaking the tasks into much smaller chunks. The findings also suggest that customer feedback would increase if the team size is less than 25 which in turn says that the Quality of Software is increased. As this study had only focused on the software companies of a developing country it is recommended that further studies should be carried out by surveying the people of other different developed countries. Keywords—Agile Development; Ideal Team Size; Larger Team Size Problems


I. INTRODUCTION
Many different approaches have been used to develop different software's by various organizations [1].They include waterfall, iterative, incremental, spiral, agile and many more.Nowadays the most popular among all of these is agile because of its ability to adapt to change.Change can be of any nature, may it be internal or external i.e. from the customer changing his/her requirements, the primary stakeholders or the secondary ones, including covering any changes in the agile team itself.But when the agile team size starts to grow, different issues start to arise [2].This research will find out the preference of different organizations to use agile development with larger team size with quality effect on product/project which is being developed.
A large number of authors emphasize that the size of the team, following any variant of agile development methodology, should be kept small.There is a rift between different authors as to how small the team must be to achieve the optimal development results [3] [4].According previous studies the optimal size of any agile team is up to 15 members while the maximum is around 20 [5].The decision-making quality suffers in larger teams due to the fact that the decisions will be more unclear which confuses the team in making decisions.Complacency among the team increases as no one starts on the project unless and until they are given direct orders and in a large team it is difficult to keep track of which team member took responsibility of what task.However, all the studies carried out before primarily focus on other factors affecting agile development with a sideline reference to the team size [6].This research, as mentioned above, finds out the trends of the preference to use agile development with increasing team size and quality effect on product/project.The survey is conducted using quantitative strategy and questionnaires were distributed in different software houses of a developing country.The data collected was analyzed by the SPSS statistics software.However, the main limitation of this research is that only the software houses of a developing country are taken into consideration.And it is also assumed that the software houses surveyed use any form of agile development as their primary process model.

II. BACKGROUND
Large organizations are now moving towards agile implementation because it supports flexibility and welcome changes at any stage of development.The basic challenge for larger organizations is to retain these features along with maintaining the quality of the product and follow quality assurance principles [1].As the team size increases, it gets difficult to keep following design and documentation practices [6].Distributed team increases the risk of multiple styles of documentation which in turn compromises the quality of documentation and design features.With the increase in team sizes, estimation of efforts gets crucial as well.With bigger teams it is challenging to accurately estimate developers' and QAs' efforts at the beginning of a certain project [6].As a result, delivery quality is compromised along with the fact that deadlines are not met accordingly.With bigger teams, it is difficult for the QA to support the entire team, which creates www.ijacsa.thesai.orgimbalance within the lineup [7].Agile methods also make automated test case execution troublesome [7].Whilst in articles [8] and [9] the optimal is considered as 3-7 and 10-15 respectively.However, it is agreed in all of the mentioned papers that the maximum team size should not exceed twenty members.Decrease in lead team size and increasing the morale in the team in agile software development increases the productivity of the whole process [4].As described in [10] "A successful globally distributed agile team configuration consists of a smaller number of members to facilitate better certain agile practices, such as the daily stand-up meeting, iteration planning, iteration demos, iteration retrospectives, and user stories".
On a higher note, methodologies like integrated testing, welcoming and rapidly responding to changes, and people centric approach are not mature enough to be practiced in large development teams [11].
Agile is not only used in co-located teams but also in virtual and distributed teams.The distributed and virtual teams imply that the team members are not physically present in front of each other but are virtually connected to each other via internet.The larger teams create a problem of communication in a virtual environment [3] and a distributed environment [9].The larger the size of team, higher is the reluctance in accepting a responsibility assuming the job belongs to someone else [3].
The quality of decision making also lacks and suffers in larger teams due to the fact that such decisions will be more complex and unclear resulting in confusion among and between team members.Complacency among the team increases as no one starts on the project unless and until they are given direct orders and in a large team it is difficult to keep track of which team member took responsibility of what task [3].[3] If the team size is large the sub teams that will be made will have more members than required which increases the dependency on other sub teams as the task assigned to an individual sub team will be much smaller as compared to their size and capability which causes frustration.Participation of individuals also decreases [2].
Moreover, in larger teams especially in virtual and distributed teams where the team members are not co-located different cultural, language and ethnic issues arise [12] [13] [10].
In all the above papers the focus is on other factors influencing the agile software along with sideline references to the team size.This research intends to focus more on the number of individuals working in a team and its overall effect on the agile software development rather than focusing on different agile methodologies and the factors affecting them.

III. LITERATURE REVIEW
Agile development is actually more people-centric rather than being process-centric [11].Agile basically works on people, collaboration and communications.As a result, a larger team will be problematic to manage with agile development and quality practices which in turn is very much likely to affect the quality of the end product.
Agile also involves a combined team with cross-functional capabilities [7].With developers and QAs being rapidly communicating with one another, it will be difficult to manage this cross-functionality, along with maintaining the quality, within a larger team.Agility refers to getting closely connected with the customer.Throughout the development of a product, the customer is in collaboration from the beginning till the end [14].Exploratory and collaborative testing are the essential factors in agile development [6].With a larger team, it will be unmanageable to keep the team in collaboration in order to perform well.Furthermore, it is very necessary for a company to communicate its common product vision to its QA and developers in order to make them meet the desired results [15].With larger team size, an unclear vision will cause hurdles in meeting the expected outcomes.Team efficiency is an important aspect to fulfill project on time and most often is dependent on the interaction among the team members and the coordination of the team leader.According to a research, when team size is between 4 to 8 team efficiency goes to the peak and when team size goes beyond 9, efficiency starts to decrease [16].In a research performed by Elizabeth Whitworth in her research [17] tackled the psychological aspect of Agile development team members to determine how well they perform when working in an Agile team.The results were shocking and very motivational in terms of adopting Agile practices as compared to traditional methods and hence has a positive impact on both personal level and team level productivity.
Agile development requires a proper team headed by a project manager and having skilled team members and managers.Adopting SCRUM methodologies would be beneficial to meet the deadlines and having less team and full coordination among them would result in a user-friendly project fulling all client's requirement.Project failures often occurs due to miscommunications and therefore large team size are actually the bad vehicles of miscommunications [16].Human Mind works well and have more productive teams in less team size of around 4 to 7 and hence having less communication channels [5].The two most important factors for a company pursuing agile methodologies are time and cost [1].Strict deadlines are to be met in prescribed timelines with minimum expenditure.Larger team size will require more cost and integrating all the personnel will take time, due to which either of the two things might happen; deadlines won't meet, or quality gets compromised.Agile takes iterative development one step further.Minor releases are released instead of one major release [5].With larger development and QA teams, iterative development will lack collaboration and coordination and as a result quality of those minor releases is compromised.Apart from this, larger teams create dependencies among the developers and QA which in turn leads to resources sitting idle [18].Development dependencies create delays in timelines.Delayed timelines affect the testing phases.Agile methodologies come with drawbacks such as daily check ins, setting up of daily test environments, regular integrations for the QA, a lot of meetings, and a lot of manual testing [13].Larger team size will make it unmanageable for the company to track check-ins and fulfill integrations on daily basis.It is difficult to gather a large team for excessive meetings [19] and this results in the reputational loss of both the company/organization and employees and also results in loss which may cause to shut down an organization resulting in the unemployment of many employees and workers [20].

IV. RESULTS
This research focuses on the preference to use Agile Development methodology with an increase in the number of individuals in the respective agile teams.The data was collected from several software houses in a developing country.The questionnaire was distributed among several different individuals.Many different trends for the preference to use agile development were seen when the data was analyzed.The data was analyzed with respect to the age of the software establishment, the type of agile methodology used, the ideal team sizes and the preference to use with larger team size.The following graphs focus on the likeliness of using agile methodology when team size go above 25, 35 and 50 and how different software companies are reacting to this increase in team size with respect to the age and experience of the company.
In figure 1 we can see that when the team size goes above 25, most of the establishments are 50 to 75% less likely to use agile development.We can see that the companies with the more experience are even more reluctant to use agile development.This reluctance increases as we increase the team size further.
When we have team size of above 35 we can see that the reluctance has increased even more.The companies with the more experience are 99 percent less likely to use agile development, while the rest are 25 to 75 percent less likely to use agile development as shown in figure 2.
When the team size is above 50 all of them are 99 or 75 percent less likely to use agile development, disregarding a single exception as shown in figure 3.  The research further shows that there are a lot of variants of agile methodologies and teams including collocated teams, virtual teams distributed teams.The preference to use agile development methodologies is also highly dependent on the optimum team size.In the graphs below the analysis is done from two different angles.In the figures 2.1 and 2.2 Show the ideal team size with respect to the agile methodology used and also with respect to the type of agile team.Figure 4 shows that in collocated teams, in case of scrum, the ideal team size is 5 to 10, which is preferred 74% of the times.While a 23% of the companies prefer an even smaller team size of 1-5.In case of XP the ideal team size is 10-15 which is preferred by all of our respondents.
Figure 5 shows that in case of distributed teams or virtual teams the ideal team size is still 5-10 which is preferred by 60% of our respondents, in case of scrum.While in case of XP the ideal team size reduces to 5-10.We can infer from both of these figures that the larger team sizes are less preferred to be used by all the software companies which responded.Figure 6 shows that in SCRUM methodology, SRCUM meetings with large team size is the main problem in Agile development whereas in XP it's the communication as its very difficult to keep all teams members on same page and its requires extra effort if team size is greater than 5. Taking into account the ideal team size with respect to the type of team and irrespective of the type of agile methodology used, we can see that from figure 7 that the ideal team size for all the different types of teams is 5-10.Different agile methodologies pose different problems when the team size increases.Furthermore, problems that arise are also vary according to the type of agile methodology.
The above statistics clearly shows that organisations that have adapted SCRUM prefers to work with an ideal team size of 5 -10 team members whereas organisations that have adapted XP methodology prefers to work with 10 -15 team members size and this helps them finishing their project or product work with efficiency and within time keeping intact all quality attributes and other necessary attributes required for completion of project or product.
Figure 8 shows that in case of XP, the main problem is communication which is faced by all the respondents.Keeping all the team members, when team size goes large, is very difficult and time consuming to keep all the team members on the same page.In case of scrum, the main problem faced by all of our respondents is that scrum meetings take too long.While other problems include communication and reluctance to accept responsibilities.The above two figures clearly show a major difference in the results.Figure 10 [18] shows that the research conducted previously was on small team sizes, which is why the expressiveness within the team is highly efficient and therefore the quality of the product in agile implementations.Whereas figure 9 shows that the research conducted now has been done on large team sizes, which shows that team efficiency is compromised due to which all the three types of team distributions are lacking quality of communication.
The comparison has major differences due to difference in team sizes.This comparison majorly depicts that with increasing team sizes, it is very much likely that the team expressiveness, collaboration, trust and communication is compromised specially in cases where agile methodologies are implemented and followed.
The current research also shows that means of communication is an issue which can be categorized into the area of following processes.Agile implementations majorly get compromised on following processes.Inter-team's communication is hurdled when agile methodologies are followed in large team structures.Figure 9 also shows that team meetings are a major reason where time is mostly spent, which is a major setback in agile implementation because agile is already very strict in terms of time constraints.
In Figure 9 the main problem faced by collocated teams are Scrum meetings take too long and team members are reluctant to accept responsibilities.In case of Distributed teams, communication is the major problem faced by 55% of the respondents.In virtual teams, Scrum meetings take too long as well as team members are reluctant to accept responsibilities as decisions are unclear among members.This survey also includes customer feedback related questions to get to know about end user or customer feedback related to greater team size effect of the given requirement of project or product.The comparison is also shown in Table 1.As larger team sizes also affect the software quality, Customer Feedback and the participation of members in a team.Figure 11 shows the participation with larger team size is "worse".Figure 14 also shows that the customer feedback is also "worse" when team size increases.

V. CONCLUSION
This research is about the preference of using agile development methodology when team size increases.According to the research that has been done before and according to the data collected by surveying people several different software houses in a developing country it shows that larger team size always creates problems of communication and working.As it is proven by the research that in teams having more than 25 members people are more reluctant in taking responsibilities by assuming that someone else will take that, communication is difficult as scrum meetings take too long which would take less time if team size would be of 5-10 and decisions will become clearer.People working in virtual and distributed teams find it difficult to keep all the team members on the same track if the team size goes more than 25.Increase in the team size also increases the number of sub teams and the more the sub teams the more will be the dependency among the teams as work will be distributed in lesser quantity and vice versa in case of team size is less than.

VI. FUTURE WORK AND RECOOMENDATIONS
Due to the problems faced by individuals while working in a team size of more than 25 following different agile methodologies it is highly recommended to keep team size of less than 25.This would increase the performance of the team by effective communication, reducing the dependency among the sub teams, making people more responsible to take responsibilities.People working in a virtual and distributed environment would become more comfortable in keeping every member on the same track.The findings also suggest that customer feedback would increase if the team size is less than 25 which in turn says that the Quality of Software is increased.As this study had only focused the software of a developing country so it is recommended to conduct the same type of survey in other organisations of a developing and developed country.

3
and 2.4 focus on the ideal team sizes with respect to the type of agile teams and irrespective of the type of agile methodology used.www.ijacsa.thesai.org

Fig. 5 .
Fig. 5. Ideal Distributed/Virtual Team Size in Different Agile Methodologies used.

Fig. 6 .
Fig. 6.Problems Faced Due to Larger Team Size in Different Agile Methodologies used.

Fig. 8 .
Fig. 8. Different Teams Problems Due to Greater Team Size.

Fig. 9 .
Fig. 9. Problems Faced by Different Types of Teams Due to Greater Size.

Fig. 10 .
Fig. 10.Capability of Team to Express when Team Size Exceeds.

Fig. 11 .
Fig. 11.Software Quality Effects when Team Size is Greater.

Fig. 12 .
Fig. 12. Team Members Become Dependent Due to Greater Size.

Figure 12
Figure12shows as the team size increases, teams become depend on sub teams.

Figure 13
Figure 13 also shows that team member participation decreases in case of large team size.

Fig. 14 .
Fig. 14.Customer Feedback in Case of Larger Team Size.

1 ) 2 ) 1 3 ) Agile not used 4 ) 5 ) 6 )- 5  5 - 10  10 - 15  15 - 20  >20 7 )- 5  5 - 10  10 - 15  15 - 20  >20 8 ) None of the above 9 ) Independent of each other 10 )
The age of your software house establishment  <1 year Your experience at the current organization  <1 year  What is the variation of agile methodology that is used in your establishment  SCRUM Which tool is being used in Agile Development  MS Project What kind of teams, mainly, do you have at your establishment for agile development  Co-located  Distributed  Virtual What is the ideal team size with co-located teams when using agile development  1What is the ideal team size distributed or virtual teams when using agile development  1What is the main problem you face when team size in agile development is too large  Team members are reluctant to accept responsibility 123 | P a g e www.ijacsa.thesai.org Decisions are unclear among team members  Communication is difficult i.e. keeping all team members on same page requires large effort  Scrum meetings take too long Sub teams (in case of larger agile teams) are  More dependent on other sub teams  Less dependent on other sub teams Participation of individuals in larger agile teams  Increases  Decreases Stays the same

TABLE I .
COMPARISON BASED ON DIFFERENCE IN TEAM SIZE

11 )
If the team size goes over 25, would you still prefer to use agile development?