A Systematic Review Of SCRUM In Software Development

— Scrum is a part of agile software development which also called incremental software development model. Scrum methodology commonly used to overcome uncertain condition and tight deadline. Scrum consists of three roles, they are product owner, development team, and scrum master. Scrum can be implemented on many areas such as development of education mobile application, integration of document management system, strengthen IT development centers, and many others. The successful of Scrum implementation depends on the skill and knowledge of the team members. The Scrum also has several risk factors and therefore needs risk management approaches. A comparison between agile and waterfall model is also discussed. The Scrum performance can also be tested with certain ways. Scrum used to make sure that all parts of the software can be delivered on time. The other benefits, scrum can make creative and productive workplace, and scrum can also increase business value.


I. INTRODUCTION
The agile software development means the ability to respond to some uncertain conditions, therefore some actions must be taken to make sure the success of the software development project.Agile software development consists of methods and practices based on values and principles which stated in Agile Manifesto.Scrum is a part of agile software development methods that commonly used worldwide.Scrum consists of three main processes, they are Roles, Artifacts, and the last one is Time Boxes.Scrum is often used to face complex problems in software development process and has been proven to increase productivity and reducing software development cost.Scrum deliver the software in iterations, that means the software is delivered in partial, so any changes or problems can be handled before all parts of software is ready to deliver.
Scrum can be implemented in many fields such as joining Scrum with other methodologies to work effectively, development of education mobile application, strengthen IT development centers, and many more.The implementation of Scrum can cause some risks that very crucial to be handled through risk management system.This paper is arranged in these orders.Section 2 discusses about the implementation of Scrum in many fields.Section 3 discusses about the problem that may occur during Scrum implementation.Section 4 discusses about the best suitable solution for each problems stated on section 3.And section 5 is the conclusion of this paper.

II. RELATED WORK
The Scrum methodology had implemented in many areas, such as education, software development, and document management, each of them will be discussed below.The Scrum performance, communication issue, and the implementation of Scrum method in writer's office will be explained too.

A. Education
J. Schild, R. Walter, and M. Masuch [1] introduce ABC-Sprints which is an implementation of Scrum based on game advancement life process.ABC-Sprints have three Sprints, they are called Alpha, Beta, and the last one is the Completed game version.The goal of ABC-Sprints is to assist students to conduct their task and to raise their productivity.
A. H. W. Chun [2] proposes the agile teaching or learning methodology (ATLM) which is made for high level education based on ideas and practices from the software engineering and influences from agile software methodologies.Even though ATLM was made using software engineering approach, but the methodology can be applied to another courses easily.The ATLM accentuates communication, agility and learning steps.The main challenge in software companies is how to choose the right software methods.Usually, the selection is based on the successful implementation in the former software development projects.This problem already discussed by Hamed and Abushama [3].
The main advantage of Scrum is to boost the process of software development in uncertain conditions.Several trials are taken to join Scrum with various methods to work effectively.Takahira et al. [4] explained a structure that combine V methods and Scrum to boost the process of automotive industry software development.
Qureshi and Alsulami [5] proposed on usage of Scrum to offer focus on how to use Scrum to offer a feature to mitigate the effect of higher coordination costs in Global Software Development projects.This issue is solved by dividing the meetings in Scrum into local meeting and also global meeting, this division has purpose of reducing the communication time between distributed teams.
The successful of the software development based on the readiness of the software developer to implement Scrum methods into the project.Overhage et al. [6] introduce a structure to accommodate the fast distribution of software which has excellent quality from uncertain situations.Hybrid fuzzy algorithm implementation into ontological system to build SPSM (software process simulation modeling) system has been implemented by Orłowski et al. [7].SPSM replicates methods in Scrum like project roles and process management.Vlietland and Vliet [8] implement Scrum in order to strengthen IT center to distribute software which has excellent quality.

C. Document Management
Scrum methodology can also be applied to build an integration of document management system by online.Mokhtar et al. [9] was built this system to assure the quality of academic documents.Besides, the system has purposes of reducing duplication and repetition of the documents and also reducing the time needed to find match documents.

D. Document Management
The Scrum performance is crucial thing to be tested.There were several studies to find the best way to test the Scrum performance.Parvez [10] explains regression test which based on Scrum approach to be applied in mobile application development processes.A suitable model is introduced to split the Scrum sprints into some steps and also apply the regression test to get the most efficient process.
Scrum methodology offers more practices in management rather than practices in engineering.This lack of Scrum may cause the software developers to implement other suitable methods [11].Khalane and Tanner [11] introduce the Software Quality Assurance concepts in Scrum by making case study.The concept says that companies or organizations must decide on how to customize methods used in development processes [11].
Shrivastava and Rathod [12] describe the risk factors that may influence the performance of spread agile project development.The method for risk management must be identified in correlation with agile software development [12].
Qurashi and Qureshi [13] introduced a brief solution to manage large team members using Scrum Methods.Many problems and difficulties are discussed when implementing scrum methodology involving large team members including communication failure, duplication of job description, dependencies between tasks and integration with other teams [13].A brief answer is introduced to handle these problems by proposing Scrum of Scrum methodology.After all, the introduced answer does not work with conditions where there are many Scrum masters or product owners [13].The answer also cannot handle the overhead expense of story prioritization and backlog [13].Two case studies have been mentioned by Paasivaara et al. [14] in order to verify Scrum of Scrum implementations on two large projects that delivered globally [14].
Scrum can also be implemented by Vlietland and Vliet [8] to strengthen IT center in order to distribute software which has excellent quality as per clients requirements [8].It is strongly recommended to use loyal Scrum team members to make sure that the software works properly [8].Suitable scope of a release can be selected by Scrum based on constraints such as resources, fund, technical aspects and dependencies [14].Heikkilä et al. [14] states that scrum is able to overcome any challenges by implementing method of release strategy for efficient and direct communication among stakeholders [14].It is important to implement Scrum for big projects by hiring small amount of team members to do the task together.
The progress of project development sometimes can change because of many factors.To maintain these changes in project development can be difficult by team members, especially in distributed project.These changes can decrease the accuracy of job progress [15].Alyahya et al. [15] introduced a brief answer which can support the development progress management by combining task progress data with the versioning data in order to keep consistent progress between team members.The implementation of the solution in real condition must be discussed so the solution can be implemented correctly.

E. Communication Issue
Communication is the important issue that must be identified in order to advice researchers to understand many problems that may happen in agile software development [16].Kamaruddin et al. [16] gains needed information by reading related literatures.The authors talked several issues or problems in global software development.The examples of the problems are lack of direct communication, distinct language and culture among the team members, unprepared communication tools and distinct time zones or working hours.From all communication problems that have been described before, there are several tools that can handle many communication problems mentioned before.The web application can become the alternative solution to maintain communication problems and the web application can also be functioned as a media to transfer data between team members so each team member can synchronize their task easily and effectively.
The combination of Scrum methods must be done to meet the unique requirements of delivered projects [17].Bass [17] applies the base theory as the main approach to describe the roles of product owner.There are nine roles of product owner, they are release master, task prioritize, intermediary, groom, governor, communicator, technical architect, traveler and risk assessor [17].Combining the Scrum methods upon distributed projects is based on the Scrum expert's descriptions to the former roles.The main focus of Bass is combining the product owner role in distributed environment [17].A further research is needed to know on how to combine other Scrum roles such as Scrum master and development team so that the project can be developed and distributed on schedule.
There are 66 industrial projects that have been checked by Estler et al. [18] in total.This research compares agile methodologies such as Scrum and XP with structured processes such as waterfall and RUP in order to know the influence between them.The relations are observed between the type of process and measurements such as importance, success, team motivation and real-time communication.
From that observation can be seen that the usage of agile process instead of structured process does not affect the whole projects too much.Therefore, it is necessary for the researchers to explore the agile processes to see which agile process that is frequently used and followed.
From 1999 until 2009 Jalali et al. [19] have reviewed the conference papers about the usage of agile processes in the software development process.The goal of these reviews is to find the agile methods that can be implemented correctly and have lowest cost.Some studies have shown that agile practices and methods must be combined to become a powerful solution.Besides, the studies about agile methods that include practicing agile methods with GSE settings are not much.More research are necessary to provide information on how to combine the agile methods to the project developers.
A qualitative analysis approach of data has been done by Noordeloos et al. [20].They found that changing from RUP to Scrum method resulted in increasing productivity and efficiency in communication, requirements engineering, cross functionality and cost management of team members.They also found the negative impact in delivery time and development pace because of missing the guide lines and lack of documentation.In the future, more observations are necessary to take about discussion between project manager and team members in Scrum meetings and how to share the knowledge between them.

F. Implementation of Scrum in Writer's Office
Scrum also has been implemented in the writer's office environments.There is a project manager whose in charge of dividing the project into smaller tasks, assign those tasks to team members and also scheduling the task completion to each of team members.Every morning, each team member must fill the planning chart table which consists of the task they want to do for today, the time estimation to finish the task, list of team members that involved in the task.In the middle of the day, the progress of the task is checked by the project manager to ensure that the development process of the software works well.After office hour in the afternoon, all team members involved must set a meeting to evaluate what they have finished today and what obstacles and challenges they may found during the development of the task.Therefore, each team member must fill the planning chart table for task they have finished today.If the task completion is longer than the time scheduled, then project manager must allocate addition worker to make sure the task is finished on time.But if the task completion is faster than the time scheduled, the project manager must set another task to the team member.
The meeting is an effective way to evaluate each other tasks, because every team member can help each other to finish their tasks by sharing their thoughts, ideas and also suggestions to make sure the project development is on the right track.

III. PROBLEM STATEMENT
Software industries are demanded to provide a high quality software in such turbulence and uncertain environment.One of the solution to overcome those problems is Scrum methodology that had been widely used in the software development process.It is very important to pay attention on several challenges which may occur during the implementation of Scrum in desired environment.

A. Team Size
The team members in Scrum usually consist of 7 until 9 person.Big projects that needs big team members facing some risks and challenges related to team size and the role of each team member.This paper tries to accommodate this problem, so that the development of the software can be done efficiently even with big team members.

B. Experience Level
The experience level of each team member also plays an important role to the successful of Scrum implementation.The project manager must choose the right person with good knowledge and experience level as part of team member.This paper tries to accommodate the difficulties and obstacles that may occur in choosing the right person as a team member.

IV. THE PROPOSED SOLUTION
Scrum of Scrums is a structure which people can overcome complex flexible problems, at the same time creatively and productively distributing products of the highest possible value.In waterfall model, software development is done sequentially.But in Scrum model, software development is divided into small pieces.In one unit of time, developers focus on doing one piece of crossfunction.Once completed, these small pieces can be directly used by users.Changing the implementation in Scrum of Scrums is not easy thing exceptionally in a turbulence condition.It needs a lot of efforts to make it work.

A. Team Size
Scrum of Scrums method splits a big team into several smaller teams.Every new smaller team focuses on distinct task of the project.Each team must manage the relation of their task to other team's task and manage sprint meetings by implementing Scrum of Scrums [13].A brief answer is mentioned to describe key members.For example, Scrum Master and Product Owner can handle product backlog for big projects.

B. Experience Level
From a business standpoint, Scrum definitively offer things that have the highest business value, prepared in a short period of time.It is very good for business.First, the more quickly the ROI opportunities enlarged.Time to deliver products to market is faster than competitors is essential in today's industry.Not always a business move that we take deliver results in accordance with the initial expectations.If delivery time to market faster, so we can make a quick reset for the business to move forward.
By definition, Scrum also offer a work environment that is creative and productive.Scrum team frees developers set themselves the way they build software.Team members of software developers may choose the task for themselves what would each team member do while continuing to coordinate and cross-function.Therefore, the idle conditions can be avoided.
Each end of the delivery phase of the finished product piece, there is always a retrospective session to find ways to make craftsmanship software so better future.The key to cross-functional team is mastering the techniques of the latest software development.When submitted to the technical construction management team of developers themselves, so they can manage their own time so free from overtime.
The artifacts in Scrum are: Product Backlog, Sprint Backlog and Increment.PB consists of a collection of items (PBI).Quite a PB for the software.Because PB is a representation of the software itself.Conditions software can currently be seen from PBI marked finished.Projection software in the future could be seen from PBI unfinished (wish list).
There are four compulsory elements in each of PBI; description, orders, estimation, and business value.Other elements may be added if deemed necessary.PB we can also see the history of software development.Because PBI finished grouped by iteration.We can also predict that will be done in the next iteration.Because PBI sorted by the value of the business and technical dependencies.
List of the top PBI eventually taken to work in this iteration, is part of what is called the Sprint Backlog.The other part is the plan to work on these things and achieve the Sprint Goal.
Sprint Goal itself can be called objective set that summarizes PBI which is taken to be done.With the Sprint Goal, workmanship within one iteration has a coherent theme that is necessary to teamwork.
We already know about the Sprint Backlog & Sprint Goal.Both of these serve as a guide to development in this iteration.If the development goes as expected, the end of the iteration will be a piece of the product that is "done" called Increment."Done" in question is fulfilling the criteria of "Definition of Done" (DoD).DoD generally in the form of a checklist that can be different in each organization.If there is no direction from the organization, the DoD is determined solely by the developer.DoD looks at the quality of the software produced and ready for use.Do Increment will be thrown to the user is not the control of the developer.In Scrum, there are three roles.

1) Product
Owner: Responsible for software development output.PO had complete control over the NT.As a business person, PO preparing PBI such that the software could ROI as quickly as possible.

2) Development Team (DT):
Responsible for software development process.PBI chose to be undertaken in the next iteration.
3) Scrum Master (DT): Responsible for making Scrum understood and executed.PO help understand the PB.Mature member of DT, so that it can resolve their own problems, work simultaneously together (cross-function), self-organize, want to continue to learn modern engineering practices.Iteration in Scrum is called Sprint.There is no pause between Sprint.Sprint long a maximum of 4 weeks.The majority of print is filled with software development.Guided tours every day with the Daily Scrum Meeting.DT members take turns delivering what has been done the previous day, will be done one day, also constraints if any.The maximum time of 15 minutes.PBI what will be done in a determined sprint in the Sprint Planning.A maximum of 8 hours for 4 weeks Sprint.After this, the job belonged to DT.In the middle of DT could help clarify PO PB with increasing knowledge.The development ended with Sprint Review.PO assess Increment generated DT.Then Sprint Retrospective.Scrum teams in the Sprint plan further improvements of the process.

V. CONCLUSION
Scrum in software development is analogous to the rules of the sport.If you want to win the game, know the rules alone is not enough.To succeed, it needs a profound knowledge related to modern engineering practices.It can be learned through books and the internet.But for teamwork, interpersonal and intrapersonal intelligence is required (maturity) of each team member.It needs to be coaching, and not a moment's time.
That's why Scrum cannot be separated by agile (Scrum + XP, Scrum + Kanban, etc.).Scrum is just framework / container that is easy to understand.Scrum is difficult to master, because it requires excellent technical skills and a good attitude.Even the rules of the game can also be changed, but if the agile has become a culture like in Facebook and Google, it doesn't matter.