Scrum  Software Development Process

Need help with assignments?

Our qualified writers can create original, plagiarism-free papers in any format you choose (APA, MLA, Harvard, Chicago, etc.)

Order from us for quality, customized work in due time of your choice.

Click Here To Order Now

Abstract

This world is growing so fast and number of changes is taking place in different fields. Computerized system and digital solution has added life to number of fields. Scrum is a software development process which ensures high quality and performance. This paper fully deals with scrum terminologies, case studies and other related issues.

Introduction

Scrum is a Scrum is one of the mythologies of Agile Software Development there are number of processes involved in software development. Different algorithms are based on set of rules for producing an effective solution. Scrum is an iterative incremental process for software development also used with agile software development. Different companies are using this technique with the combination of different soft wares and developing new and advance solution which meets the requirements of today market.

Scrum is composed of different sets of roles and widely used in software management, Scrum plays significant role in software development process. The main role performed by scrum is maintenance of work and process done by project manager, controlling the development team and stake holders. Basically software development process involves number of steps like information collection, requirements analysis, problem analysis, design coding, integrating, evaluation and testing. SDLC (software development Life cycle) ideally defines steps involved in software development. SDLC evaluates software quality based on number of steps usually seven step. Following SDLC approach is useful while developing software which ensures high quality software and performance. Information gathering, requirements analysis, testing coding and development all these steps cannot be tracked down as there is no criteria defined in each phase for ensuring the quality and performance.

There are no accurate methods for determining the quality and level completion at every level. It has reported in numerous resources that a large amount of software fails every year. The main reason of software failure is that lack of proper project management. Improper management cannot judge project quality and performance at developing time. In number of software houses, different teams develop different modules and they have no communication medium for solving issues. As a result developer faces poor customer satisfaction, bad reviews, project failure, financial loss, lower return investments etc (Button and Dourish, 192).

Lower productivity and software quality led an organization towards downfall. Software development is a complicated process and needs proper communication and connection between team members during development cycle. Proper co-ordination and communication result in a shape of effective solution. Software development is complicated process and usually number of teams is involved developing software, so proper monitoring and communication saves time and efforts during development. There is always a strong need of communication with client or customer in order to sketch his requirements properly at every phase. After requirement analysis its really important to implement all customers requirements in form of an efficient computerized solution. Scrum is widely used in number of fields for developing soft wares. Scrum improves software development quality by providing reliable path of monitoring solutions at development phase. It improves transparency among team members and makes process transparent and effective (Hartmann, 195). The primary goal of scrum is to provide communication medium and promote free and fair communication among team members. Scrum ensures that every one in team must know the status and development position at every stage. It provides feasibility and ease of retrieving on going project details at any stage. With the aid of Scrum, every one can see and check the status of on going project during the course of project, it also makes process transparent to customers, developers and other team members. Scrum reduces risk by monitoring every phase of development through out the project. Scrum provides ease and support in dealing with users rapid changing requirements in limited time. It easily deals with users changing requirements than other software development processes. Scrum provides reliable and fast communication among team members which helps a lot in resolving time to time issues involved in development phase. This paper deals with SCRUM overview, Advantages, case studies. Later section of this paper provides scrum analysis and reasons of scrum failure.

Scrum Overview

Scrum is a software development process, it provides software development framework which is widely used in real world for delivering efficient computerized solutions. The basic advantage of Scrum is its dealing, it provides easy learning with online tools and it requires little effort to start. Scrum provides better risk management; indication of upcoming problem and issues in development process. Scrum offers loosely couple functions and set of rules implemented using scrum tools. Scrum provides high risk management, transparent process and effective communication. Scrum Development process promotes customer involvement through out development process which saves time, efforts and money (Sharp et al, 233). It improves software quality, risk management and yields higher return on investments. Scrum is specially designed according to the needs of todays market and software development requirements. In 1986, few researchers introduced new theory for improvement in software speed and flexibility, in 1991, they referred this approach as scrum, and this approach proposed advanced implementation methods. In 2001, Achber teamed up with Mike and wrote a book and named it as agile software development with Scrum (Frank Maurer, 56).

Scrum Terminology

There are different terminologies used in understanding scrum process. Scrum work flow, Architecture, Sprint, release, product owner, team member, Product backlog etc.

Scrum Workflow

Scrum is usually composed of number of steps which includes requirements analysis, testing etc. schedule and cost is estimated in early phases of development. New features are identified as backlogs.

Sprints: Sprints are meeting which plays an important role in developing high quality software, it solves number of issues and problem related with development phase. It enables every member to check status of project at any stage.

Mainly, there are three actors involved in scrum process Scrum master, product owner and team.

Product owner is responsible for scrum planning; he is responsible for the backlogs or features and prioritizes the backlog list based on the business value.

Team is responsible for designing, development, testing and other processes. Scrum master is a leader and responsible for team management and proper management and techniques results in a form of effective solution.

Comparison

There are number of software development process are available for software development phase. Scrum is declared best among all other software development processes because of its effectiveness, time saving skills and proper monitoring at every phase of project development. It reduces chances of failure and provides transparent monitoring to all team workers. Usually, waterfall method and spiral methodology are compared with scrum. Waterfall method works on set of rules which requires complete data instruction before improving on next step. Waterfall method works on well defined process, coding, testing, implementation and all other related steps needs to be finished before moving to next step. Requirement and planning phase plans completion dates, final product and project cost during this phase. In this process any unpredictable or unexpected change can reduces probability of success up to high extent. Spiral model and waterfall model both works efficiently but there is a lack of proper management and monitoring in this process which reduces their success rate. Spiral model always requires well defined process which includes several steps are required to be completed before moving on next step. Spiral method is an iterative method but it is more iterative than other processes. In this process, assumption is always made that requirements once taken will remain same through out the cycle. Iterative process and completion dates can partially vary.

Its better than water fall model but success rate is low than other Scrum. Scrum method requires periodic sprint meetings during which any changes to the project are planned. At the end of each sprint cycle or iteration a releasable feature is implemented. Due to these periodic meetings any sudden changes or unanticipated risk is better managed by using the scrum development process (Rogers, 75).

Analysis

Every process has some limitations and some requirements and some set of rules to follow, same in case of Scrum. Usually, scrum is successful in number of cases, but in some conditions it also gets fail, there are number of preventive measures which should be done in order to prevent scrum failure. The first topic which needs to be cover in this domain is Scrum and CMM.

Scrum improves quality of software development and management skills; it provides ease and support of monitoring project. CMM Capability maturity model can be compared with Scrum in order to find out the best points among both. Post motern analysis is done at the end of each sprit cycle; at this stage all mistakes and problem are noted in order to prevent them in next cycle. These are used to minimize such mistakes from occurring during later sprint cycles. So scrum improves the process step by step and it requires rules and techniques that need to be followed. Scrum does continuous process refinement during the post analysis at the end of sprint phase. Scrum is powerful in number of situations, scrum has enough capability of dealing with changing requirements efficiently through out the development process. It empowers organization to categorized features and delivers high quality software according to customers business rules. Scrum promotes the need of effective communication in order to produce effective solutions. Scrum educates team to be focused on work and enhances employees capabilities and increases the accountability of each member.

It provides high transparency, better risk management and proper project monitoring at every phase (Beck, 2001). With the aid of Scrum every team worker can be able to view the status and details of every phase during development cycle. Thus scrum handles requirement changes, unpredictable events or any other personal changes better than other traditional processes. Scrum is suitable for small as well as it is also suitable for large projects. Scrum can also work with large projects and it has ability to deal with large amount of data with proper monitoring. Large projects usually involve complex customers and number of development and testing teams working across geographies. It would be difficult for each of them to attend the scrum meeting. It is also difficult for the management to trust the whole team and make the project transparent to everyone. In most of the cases, customer does not like to participate in development of project, customer usually like to just sketch their requirements and want complete solution on deadline.

Customer do not like to attend meetings and check development phases, scrum solves this problem up to high extent as it follows incremental steps approach during development phase. Sometimes, it is difficult to have hold on complete system as the whole and relate the pieces comprising the whole. Usually dealing with large projects is not easy and number of software development processes fails at this stage. According to Ken scrubber, during software development process, 15 minutes meeting daily should be held in order to produce effective solution which must meet user requirements.

Scrum failure

Each software development process has some limitations, they work well up to high extent but after reaching some level they fail. Scrum requires involvement of every team member in an effective way. Scrum follows some set of rules which require all members to follow and no one should skip scrum rules. If any team member denies attending meeting and reporting his task. Then the transparency and effectiveness of scrum meetings are compromised. These meetings add live to the function of scrum, it helps in solving conflicts and dependencies occur during development process. In some cases, multiple product owners communicate about conflicting requirements during the meeting. Mostly, management does not understand the need and importance of scrum and do not believe in scrum terminologies and scrum techniques.

Scrum usually fails when there are less number of communications and improper handling of scrum. It also fails due to lack of training of both master and trainer. Lack of communication and training are two main reasons of scrum failure. There is a strong need of understanding scrum roles by Scrum Master and clear communication the backlogs and progress of the backlogs to both the product owner and the team members. However, such failures can be controlled by hiring a certified Scrum master. Certified scrum master deals efficiently with scrum terminologies and techniques. Efficient and effective handling of scrum can prevent scrum failure in large organizations. Proper communication and effective handling ensures software quality and increase in investment. There are number of situations where scrum gets fails and in some cases scrum works well, the success of scrum is highly depends on its use and deployment. Improper use of scrum will led an organization towards downfall.

Scrum fits

Scrum fits in number of cases, it is best in small organization dealing with small amount of data. Scrum fits well in small organizations where data is less complicated and small team size. Scrum provides excellent risk management skills, reduce risk factors, it can easily deal with changing requirements of customers through out the process. Scrum is required for social networking companies as they have cut throat competition. Scrum enables them to deliver features quickly though there are frequent requirement changes.

Scrum does not fit

Scrum is best process for software development, there are number of factors in presence of which scrum fails and does not work efficiently. Scrum usually fails in large organization and does not perform well where large team is involved in development process. It is also difficult for large organization to arrange meeting for large development teams. For instance, in large government projects, customers are not willing to participate in the monthly scrum meetings and are not interested in the incremental releases stated by Scrum.

Case Studies

Google

Scrum is widely used by number of organizations and is useful in many ways. It was also used for Ad words project at Google and achieved a great success.

Ad words project had a large core group and it was highly based on different level designs and a part of core group, bunch of stakeholders and the team members were involved in the whole project. Product owners and the stakeholders observed the need of requirement analysis at first stage of project for the production of an effective software after that they determined a product backlog at the start of the project. When Ad words project started they used release burn downs which caused different number of project improperly managed delivery schedules. Scrum Masters analyzed that mismanagement and solves issues with efficiency. Engineers were agreed after realizing the problems to deal with new process, since they believed the new processes will be designed in a way that it must have ability to resolve all the current problems and hurdles that they were facing with recent scheme.

Yahoo

Yahoo is one of the most popular search engines in the worldwide. Millions of users, log on daily to their yahoo accounts for their daily tasks. Scrum is widely used in number of application on yahoo and number of users uses scrum at different level for better results. In number of projects scrum is used for better results. Some projects like music, yahoo use scrum for achieving high popularity. Projects like Yahoo uses Scrum over distributed networks for connecting all different themes in to one. Themes & participant intention affects a lot in decision & policy making. According to one survey it has observed that scrum has great significance in the success of any project, it plays pivotal role in software productivity up to 20%.with collaboration productivity improved by 40% and at least 80% of the teams wanted to continue using scrum for future projects. The use of scrum at yahoo is highly effective and works well which ensures the success of scrum over large frameworks.

Conclusion

This world is modernized now and every one wants best for himself and his family, no one is ready to compromise on his needs and requirements. Computer technology has reached the top and still gaining high popularity in past few years. Scrum provides better communication medium for team member and customers. It gives effective solution with the involvement of customer through out the project. It ensures high investment and revenues, and reduces risk factors. However, there are some cases, where scrum does not help i.e. scrum usually does not help in handling large meeting, dealing with large teams etc. Scrum does not help with large amount of data. Scrum is best for small organization where requirements keep changing through out the process. Scrum is currently used by social networking companies, web development companies and video game industry where the requirements tend to change often.

It is clear that scrum is successfully used in wide range of software projects across large enterprises. There are number of companies which are using Scrum effectively some of them are: IBM, Nokia, siemens, Google yahoo etc. It is usually considered that only leader is responsible for all transactions and team leader is responsible for the success of project or organization but fact is little different, all team members; team leader contributes in effective development process. Sprint meeting plays an important role in software development process. Scrum has gained popularity and still, its gaining so much popularity worldwide.

Works Cited

Beck, 2001, Manifesto for Agile Software Development, Web.

My response Was able to find and whey did u mention 2008. Web.

Button, G. and Dourish, P. On Technomethodology: Foundational Relationships between Ethnomethodology and System Design. Human Computer Interaction, Vol 13 No. 4, 1998.

MY response: Is this the link to this since you didnt mention anything. Web.

Hartmann, D. 2006. Interview: Jim Johnson of the Standish Group. Web.

My response: I was able to find the link but why did u mention. 2009.

Sharp, H., Woodman, M. and Robinson, H. 2000. Using Ethnography and Discourse Analysis to Study Software. In Proceedings ICSE. Web.

Frank Maurer, 2006, agile methods: moving towards the mainstream of the software industry. Web.

Rogers, E. Diffusion of innovations, 3/e. The Free Press, New York, NY, 1983. My Response: This asks for login Yeah it will ask becoz its a paid resource.

Need help with assignments?

Our qualified writers can create original, plagiarism-free papers in any format you choose (APA, MLA, Harvard, Chicago, etc.)

Order from us for quality, customized work in due time of your choice.

Click Here To Order Now