Rigidness in Applying Scrum by an Enterprise – Influenced by Muscle Memory

Science and technology are growing fast both in case of software and hardware. Due this changes are inevitable in every aspect of development and manufacturing. When software development is considered new methods and technologies are being introduced for developing software products. This is due to constant change from the side of customer to developer. Because of this new process models are developed to meet the requirements of both customers and developers. Based on the requirements from customers to developers every enterprise has to go for change. Once a process model is adopted the whole enterprise mainly developers has to adjust to new culture. This work discuss on the problems faced by developers when they start using new model because they are habituated to old and experience process models. In this work, muscle memory of developers carried from traditional models to new process model with respect to Scrum and the impact on them is discussed and consequence on product development. The advantages of Scrum when the hurdles are controlled are also discussed. Keyword-Muscle memory, Software developers, Enterprise, Scrum, Waterfall model

change in case of process models in order to compete with other enterprises. The role of process model in developing the product is very crucial. Process model is described as a set of methods, practices, activities, to facilitate the product development, to maintain them and its related products [8]. Even though there are different classes of process models, in this era process models are classified into traditional plan-driven software developing methodologies and agile methodologies. Waterfall model is best one from traditional plan driven, where entire plan is made first and then development is started. In this method developers imagine that customer is not aware of requirements. But the developing teams in traditional models require comprehensive specifications to solve the problem which is not possible here because of non availability and non involvement of customer. So the traditional teams believe that customers are restricted. Developers also believe that it is the responsibility of developers to develop additional functional aspects to satisfy the expected desires of customer. This may over and over again direct to design a more confused complex system [10]. Once the specifications phase is completed then there will be no involvement of customer till the product is completed. With this approach customer satisfaction will be very less once the product is released after so many months of work. Figure 1 is the Waterfall process model that shows the work in the form of phase by phase. Even though traditional Waterfall process model used to develop software products is very good theoretically when it comes to satisfaction rate of customer it shows very poor results when customer is not constant. As traditional process models are not fit for developing software products, in these days new models emerged. The new methods are very good in satisfying both the need of developer and customer. Enterprises are seriously thinking about these new methods. Agile methodologies are quite different from traditional methods. These agile methodologies are new bunch of methods that overcome the limitations of traditional plan driven methods. The basic difference in agile methodologies is their magnitude towards individuals, communication between developers and customers, customer association in product development, timely, constant delivery of product and satisfying the unsolved requirements. These methods start the work imagining that both customers and developers are very well aware about their requirements. The major advantage of agile methods is their plainness which is the strength that helps in maximizing the work to be done [4]. A set of software experts summarized and published the ideology of agile in "Agile Manifesto" [4]. These agile methodologies that line up with this manifesto consist of Scrum, Extreme Programming (XP), Lean Development, Adaptive Software Development, Crystal methods [6,12].
In this list of methods mentioned above, Scrum is the widely used process model in industry. From the group of agile, Scrum is the best practice that is used to deliver software products with more speed to user and in a better and cooler way [10,11]. Scrum process model like some of the traditional model is iterative and incremental in nature. The framework of Scrum is mainly based on cycles of work known as sprints. These sprints will last for 30 days and happens one after the other in a sequential order without interruption.

III. OBSTACLES FOR SCRUM'S ENTRY
The following are the main muscle memories that hold back Scrum's entry into enterprise. With these the probable effect of change that is expected from Scrum is obstructed. Unless these obstacles are handled the change will not be effected in product development. In the following study obstacles are briefly discussed and effective measures that are to be taken by the enterprise to handle them are also discussed.

A. Waterfall Philosophy
Waterfall process model is a main process model which is in use from the past two to three decades. Form the past it is considered as the base for all process models and people learned it from their higher education. Every book of software engineering and every literature shows a great importance towards Waterfall model. Software teams including team leaders and other higher officials are familiar with Waterfall model deeply and think it is accurate. Project leaders and their developing teams believe that it is the source to handle complexity with expectedness and the management has formalized Waterfall model. Because of this nature Waterfall increased its importance in development and enterprise feels that it is a part of enterprise. If it is the case of any enterprise then it is not easy to put it aside from the people. Still if some people of the enterprise are not aware of it, they also believe that it is correct one from product development.
In these situations if people are forced to apply Scrum for development they feel extremely painful because it is quite opposite to their habit and they sense some risk. For example when Scrum is used for development, requirements are processed in different manner. When classical Waterfall is used half of the development is used up on requirements, architecture and design. When requirements are focused 30-35% of requirements will be changed in course of development and 65-70% of requirements transformed functionalities are not properly useful. This happens in spite of classical development concentrates on requirements, architecture and design before transforming them into usable functionalities. But Scrum process model see the requirements as a list of activities to handle. These requirements are called as product backlogs on Scrum and they are to be handled in sprint planning meeting. The parts of requirements that are fully analysed are processed in sprint to make a part of product. Analysis of requirements means those are developed and comes out with architecture into the sprint of which product owner wishes. This approach will be not a good exercise when someone believes Waterfall model and they feel irresponsible, uncertain.
As said above it is the responsibility of product owner in Scrum to raise product backlogs. This product owner talks about them with Scrum teams. The Scrum development team including product owner examine the requirements and build designs, then develop code, goes for tests, and prepare proper documentation. But in classic Waterfall there will be separate expert people for each and every task like designer to design and programmer for program whereas in Scrum the team organization is cross functional. There will be no fixed role for each and every member in the Scrum development. All the team members will involve and do work in each sprint. Everyone in the Scrum team put their best effort to do work. If at all any expert person is required a person from the team itself with those skills will take initiative and do work.

B. Control and Command
This is another major difference between Waterfall approach and Scrum. Generally people of enterprise know better than management in executing work. Developing a software product itself is a huge task and success rate is less that failure rate. In such case if these people are forced to do work under the orders of management they may not feel comfortable to put their skills in executing work as good as possible. In traditional Waterfall model every team is supervised by a team leader and then a manager. There will be hierarchy maintained in these models. The instructions are to be followed according to hierarchy. Where as in Scrum implementation scrum master is the only one that acts as a chief of Scrum development teams. The role of scrum master is simply to observe the output of self-management teams by means of different exercises.
The first step as a part of exercise is to group the team members into pairs and a person among the pair acts a head and other as a worker. They team themselves examine their work and try to solve their problems. The second step as a part of exercise is breaking the pairs. After breaking them into individuals each worker tries to controls their own work. Everyone is given free hand to do the work and self-manage themselves that increase the output. The main difference from that of Waterfall approach here is managers are also working as workers in the scrum development team. This will increase the productivity and reduces the differences between the team members. The certified scrum masters believe that self-managed teams give good output. These scrum masters acts as head of teams sitting behind the teams, by believing that self-managed teams are good than other team organizations. If they find a serious problem that cannot be solved by teams then scrum master take charge and instruct the team. Figure 3 shows the structure of scrum team.
Every scrum team to shape-up themselves into a good teams and start doing work, they need additional hold up than other teams. It is the duty of scrum master to instruct and guide them as self-managed scrum teams. It is the scrum master that instructs the scrum development teams to gain knowledge and complete the exercise. At some other time if the same thing happens then the teams can take action by their own. In scrum development teams when scrum master guides them it is not to increase the output as happens in traditional teams. But here it is to increase the problem solving and self management nature. Developing software products by an enterprise is a commercial activity that is based on dedication. When the enterprise goes for commitment then it is the duty of the enterprise to stick on it and act according to it. When the promise is made on the requirements to be given for customer the same needed to be delivered. In traditional models it takes a long time between listening to customer and delivery of the product to customer. In the mean time anything can change that affects customer and shows impact on the reputation of enterprise that is developing the software product. But when it comes to Scrum method everything is as per product owner's specification as he is the part of scrum product development team. The other advantage is that frequent and intermediate release will be there to the customer. These parts of the product are working parts that customer can use and experience the results. But the customer and developing teams has to identify and wait that there is every chance to use the Scrum that supports delivery of sub product in this way. But generally their intension is to deliver entire product all at once to the customer. The developing people have to change their way of development and their approach in delivery and also they should guide the customer in using sub products. D. Hiding the Truth When enterprise and senior managers think of to improve their services to customer these managers rollout to Scrum as it is has more facilities in developing products. When Scrum is used for their initial project, the first sprint delivers more functionality that they had committed to customer. All the people including the customer will be more thrilled and delighted with the performance of Scrum and expect the same from it throughout the life cycle. But when they come to second sprint it will be different. By the outcome of first sprint generally the scrum development teams may entrust to great and number of product backlogs. When they start with huge backlog list in the second sprint the scrum teams recognizes that they were in difficult situation. The teams feel that the second sprint is more complex and complicated that the first one. Now by the end of second sprint they will be in big trouble that they could not process at least 30 to 40% of backlogs. In this situation the teams think of skipping testing and refactoring process.
When they start gathering backlogs for third sprint they may consider very less number of backlogs making time for them to process old backlogs in third sprint. But it is not that much easy to do whatever they like, as they were doing in traditional Waterfall approach because Scrum is practical in nature and work going on is more visible than any other process model. Here in this model product owner is one of the members of scrum development team and he knows everything that is being done as a part of product development. He is also one of the members of team who involves in taking best decisions in doing of work and always he prefers to take best decision. So it is good take suggestions from product owner in these situations and also when such thing happens it is good to decrease the backlogs and continue work steadily sprint after the sprint, to develop a good product. But in real if everything is not going according to developers then project managers also may lie sometimes. If Product owner also not aware of things happening then it will not be possible to make best decisions in achieving goals.
IV. CONCLUSION Dysfunctional activities that arise when traditional process models used are made noticeable when scrum is used. Troubles originated by the dysfunctional activities are exaggerated. Scrum is iterative and incremental in character when adopted in enterprise. So enterprise has to adapt to monthly project adjustments, not just adjusting at the conclusion. Projects under Scrum delivers sub products at the end of every month that is in working condition and helps customer. With Scrum people experiences great benefits in development. If at all troubles arise people are feeling that they are exposed. This is because the people are not grown with muscle memory for newly adopted method. They feel comfortable in old form of doing work, so they simply think of changing from new model to old one. But when these hurdles are successfully managed they can experience the goodness of Scrum that is discussed in this work.
ACKNOWLEDGMENT We are grateful and our honest thank to Dr. Lakshmi Sridhar Movva for his encouragement and guidance in making this work possible. Dr. Lakshmi Sridhar is certified scrum master and has been practicing Scrum in various projects that he handles. We in particular thank RajasekharKilaparthi a Consultant in Information Technology, Scrum Master and a Certified PRPC Senior System Architect. He has wealthy familiarity in IT industry. He is a scrum master and has been using Scrum in the projects he executes.