[IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011...

4

Click here to load reader

Transcript of [IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011...

Page 1: [IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011 Annual IEEE India Conference - Scrum+:: Is it “ScrumBut” or “ScrumAnd”

Scrum+ :: Is it “ScrumBut” or “ScrumAnd”

Vinay Krishna Product Development

Cegedim Software India Pvt Ltd Bangalore, India

[email protected]

Dr. Anirban Basu Dept of CSE R&D

East Point College of Engineering & Technology Bangalore, India

[email protected]

Abstract— In this paper we analyze the challenges we may encounter by tweaking core practices of Scrum framework (ScrumBut) or benefits we may get by blending some non-Scrum practices with Scrum framework (ScrumAnd). Detailed analysis is carried out on ScrumBut and ScrumAnd and their impact on project success or failure is studied. As it is not always easy to conclude if any Agile project is following ScrumBut or ScromAnd, we discuss two principles, derived from OOD, to distinguish between the two. Use of these principles is illustrated by application on real life scenarios. By application of these principles, a Scrum Practitioner can easily find out the methodology used in a particular project implementation.

Keywords- Scrum; ScrumBut; ScrumAnd; OOD (SOLID)

I. INTRODUCTION Scrum is one of the most widely used methodology for

Iterative Incremental Development (IID). It is a process skeleton or framework that contains set of practices with predefined roles of stakeholders involved in development. Many organizations are adopting this methodology in their projects but only few are meeting the objectives they set out to achieve. They are not successful in getting the full benefits [1] and unfortunately the success rate is low compared to the rate of adoption of this Agile Methodology. Among the various reasons, a primary reason is that organizations are adopting Scrum either for wrong reasons or not adopting it completely making it half-agile/non-agile.

In the Scrum user community the framework used without using all the prescribed practices is referred to as ScrumBut [2] [3]. Normally, any changes in the procedures laid down for implementation of Scrum framework offers new challenges. Scrum does not encourage tweaking as it may lead to various issues. This is one of the reasons for failure of projects not strictly adhering to all the prescribed Scrum practices.

To overcome all these issues, it has been proposed that some good practices be combined with the standard Scrum Practices to give better results. Although modification in standard practices in Scrum framework should be avoided, extension of practices can yield better results, as seen in various projects. A strategic and goal-oriented approach that combines various good practices within Scrum framework is referred to in this paper as ScrumAnd framework.

Sometimes, differentiating between ScrumBut and ScrumAnd becomes difficult. This paper describes the distinctive features of ScrumBut and ScrumAnd and proposes application of two principles to distinguish the two. Use of these principles is illustrated with examples from real life projects.

II. BACKGROUND A common belief is that developers use agile methodology

when there is no process is in place, no documentation is available, there is very little discipline within the project team and requirements are not clear. However, these days, due to the widespread use of Agile programming, this belief has been proved wrong. There are cases where organizations are claiming that project with all these characteristics are running in Agile mode. This may not be correct as often organizations tweak the prescribed agile practices as per their understanding/convenience as they feel that the project has substantially different requirements which cannot be satisfied if prescribed agile practices are followed. Due to its popularity, a number of organizations are trying to adopt Scrum in order to reap the benefits. But, is every organization adopting Scrum, getting the benefits?

Adoption of Scrum framework requires clear understanding of Scrum practices and maturity at team level as well as at management level. Many times management team adopts Scrum without clarity, and complicates the situation. They tweak the practices prescribed in Scrum framework without understanding the consequences. The modified Scrum framework is called ScrumBut. On the other hand, there are cases where management/project team adopts Scrum and blends some good non-Scrum practices and gets better results. This combination is referred to here as ScrumAnd. The features of ScrumBut and ScrumAnd are given below

A. ScrumBut Framework Scrum Framework is easy to understand but tough to

follow. People often try to avoid rigidly following the prescribed practices by tailoring Scrum framework to suit their requirements. This is the starting point of ScrumBut syndrome. Ken has given very good definition of ScrumBut:

A ScrumBut has a particular syntax: (ScrumBut)(Reason)(Workaround)

Page 2: [IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011 Annual IEEE India Conference - Scrum+:: Is it “ScrumBut” or “ScrumAnd”

Example: “(We use Scrum, but) (the daily Scrum meetings are too much overhead) (so we only have them once a week, unless we need them more often)” [2]

In 2005, Bas Vode developed a small test called Nokia Test [3] while coaching a team at Nokia. Nokia (the cell phone maker) uses Scrum. The test was to check whether a team was really following Scrum practices or not. The Nokia Test is carried out in two parts. First part checks whether team is doing iterative development. Only 50% of Scrum teams worldwide meet these criteria [9]. Second part checks whether team is following prescribed Scrum practices. Only 10% of teams worldwide meet these criteria [9]. Later in 2008 Jeff Sutherland improved this by adding score and now it is referred to as ScrumBut test [3]. In this test each person in the team takes a sheet of paper and prepares to score questions on a scale of 1-10. However as per Jeff, “My surveys consistently show over 50% of Scrum teams do not get their software tested by the end of the sprint, i.e. they do not meet the second principle of the agile manifesto and are therefore not agile. Yet they still get about a 35% improvement. Even bad Scrum is better than waterfall.”

On the other hand Henrik Kniberg says “Is this still Scrum? I’m not sure, but does it really matter? Anything that works for you is right, anything that doesn’t is wrong. Beware of Scrumbutophobia”[5]. This means, that an organization retrospect only about the methodology it has followed in a project when problems show up.

Figure 1. ScrumBut Measure

A study based on the data of various companies e.g. PatientKeeper, Google, Yahoo, Systematic etc [12] shows that with ScrumBut, the annual revenue increase is between 0 - 35% which is far less compared to 400% increase possible by application of Excellent Scrum, as shown in Figure 1.Another case study was done by InfoQ on Scrum adoption in China [13]. They selected 5 cases that came from different companies. Final result of two out of five cases had failed. Interviews conducted with these companies revealed that use of ScrumBut was the primary reason for the failures.

B. ScrumAnd Framework So, can we not mix prevalent good non-Scrum practices

with Scrum practices? There is no direct answer to this.

However it has been discussed on several occasions that if it is really required and also if it is not violating any Scrum practices then we are free to follow/add that practice. Jeff and Ron say that without XP practices it’s hard to find high performing Scrum team [4]. After successful implementation of Scrum at five companies (Easel corporation, VMARK, Individual inc, IDX systems, PatientKeeper,) Jeff has concluded that there is a need for tight integration of Scrum organizational pattern with XP programming techniques, combined with some innovative approaches to distributed teams and stimulation of rapid software system evolution and this eventually can generate a hyper-productive Scrum on predictable basis [11].

In same line Ken has also expressed his view - “XP engineering practices can be used within a Scrum Sprint to improve quality and productivity” [1]. He further explained that “Scrum purposefully has many gaps, holes, and bare spots where you are required to use best practices – such as risk management, change control etc”[1] .

Robert C Martin has suggested lots of additional practices, like Test Driven Development (TDD), Continuous Integration, Pair Programming, Collective Ownership, Refactoring etc, within Scrum framework in order to achieve hyper-productivity [6]. This is not limited to only XP practices. Lots of organization has mapped and blended CMMi, PMP, Prince, ISO etc practices with Scrum framework successfully. Systematic Software Engineering Ltd has combined the Scrum with CMMi successfully [10]. Some practices that can be mixed with Scrum in order to get better results are summarized below: XP Engineering Practices:

• Test Driven Development • Pair Programming • Continuous Integration

In case any organization needs to follow some industry standards when using Scrum Framework then that can also be mapped and achieved as reported in the references given below:

• CMMi and Scrum framework mapping [10][14] • ISO and Scrum framework mapping [15] • PMP and Scrum framework mapping [16]

Again rule of thumb is that these practices can be added whenever required but without modifying the Scrum practices.

III. PRINCIPLES DIFFERENTIATING SCRUMBUT AND SCRUMAND

A basic question that arises is how to decide whether a project is following ScrumBut or ScrumAnd. Let us take an example where one can claim to be using “ScrumAnd” instead of “ScrumBut”. We have Sprint and it is of 6 months – Is this ScrumBut or ScrumAnd?

Page 3: [IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011 Annual IEEE India Conference - Scrum+:: Is it “ScrumBut” or “ScrumAnd”

Below are two basic principles taken from OOD principles (SOLID) [7] that can be applied to differentiate the two.

A. OCP (Open Closed Principle)

This has been re-defined with respect to Scrum and here it says Scrum Framework is open for extension and closed for modification. So, now as per second part, one cannot tweak the Scrum role, rule, and timebox defined in Scrum Framework.

However as per the first part of this principle we are free to extend it i.e. additional practices can be added to get better result. Table 1 below helps to find out whether we are following Scrum, ScrumBut or ScrumAnd and if any extension or modification has been made.

TABLE I. OCP TABLE

OCP

Open for extension, additional feature

Closed for modification in Scrum practices

OCP Result Status

No/Yes Yes Yes Scrum or

ScrumAnd

No/Yes No No ScrumBut

B. SRP (Single Responsibility Principle)

This also has been defined with reference to Scrum framework. It states Scrum Role i.e. ScrumMaster and Product Owner, should have single responsibility i.e. should have one, and only one, reason to change. As per Scrum guide:

“The ScrumMaster may be a member of the Team; for

example, a developer performing Sprint tasks. However, this often leads to conflicts when the ScrumMaster has to choose between removing impediments and performing tasks. The ScrumMaster should never be the Product Owner.”[8]

However in some projects, we find that there is part time ScrumMaster or Product Owner who also plays some other role. This makes it resemble ScrumBut.

TABLE II. SRP TABLE

SRP

Single Responsibility Multiple Responsibility SRP Result Status

No Yes No ScrumBut

Yes No Yes Scrum

C. How to decide if project is following ScrumBut or ScrumAnd?

The discussion below helps answer the question on how to differentiate between ScrumBut and ScrumAnd

Below is another table (Table 3), which applies both above mentioned principles in order to find out whether the methodology followed is ScrumBut or ScrumAnd.

Let us analyze various scenarios in the examples below by application of the above two principles to distinguish among the methodologies followed:

TABLE III. APPLY OCP AND SRP

SRP OCP Status

Not Applicable Not Applicable Scrum

No/ Not Applicable No ScrumBut

No Yes/ Not Applicable ScrumBut

Not Applicable Yes ScrumAnd

Yes No/ Not Applicable Scrum

Yes Yes ScrumAnd Example1: “We have sprint and it is of 6 months” Step1: On Sprint length, Scrum Framework states that Max sprint length should be 1 month or 4 weeks Step2: First, apply OCP, which states that we cannot modify Scrum framework. Hence OCP answers No. Next, apply SRP. But SRP is not required in this case as it is not related to Scrum Role. Hence, application of SRP results in Not Applicable. Step3: Putting these results in Table 3, we get ScrumBut as the answer. So, it must be said as “We have Sprint but it is of 6 months” Example2: “We have ScrumMaster and he is also assigning and monitoring the tasks to team” Step1: As per guidelines in Scrum Framework - ScrumMaster should only work as facilitator, guide and responsible to help team in removing impediments Step2: First, if we apply OCP, we cannot modify Scrum framework. Hence OCP results in No. Next, we apply SRP as it is related to Scrum Role. Here, ScrumMaster is performing two different tasks. Therefore SRP results in No. Step3: Putting these results in Table 3 we get ScrumBut as answer. So, it must be said as “We have ScrumMaster but he is also assigning and monitoring the tasks to team” Example3: “We are planning Sprint and we are also using TDD in development” Step1: Scrum Framework does not specify development methodology to be followed

Page 4: [IEEE 2011 Annual IEEE India Conference (INDICON 2011) - Hyderabad (2011.12.16-2011.12.18)] 2011 Annual IEEE India Conference - Scrum+:: Is it “ScrumBut” or “ScrumAnd”

Step2: First, apply OCP, in this case there is no modification to Scrum framework, only it’s adding one good practice which is just an extension. Hence OCP results in Yes. Next, apply SRP. But SRP is not required in this case as it is not related to Scrum Role. Hence SRP results in Not Applicable.

Step3: Putting these results in Table 3, it results in ScrumAnd. So, it is good to add this feature and it can be stated that as “We are planning sprint and we are also using TDD in development”

CONCLUSION “Scrum is simple. Doing Scrum is hard.” We should

remember this while adopting Scrum and adding/modifying any new practice within the Scrum framework. As experience with ScrumBut has not been very encouraging, Scrum Practitioners have advocated inclusion of some non-Scrum practices to Scrum framework to fill the many gaps, holes, and bare spots present in Scrum [1]. The paper discusses the salient features of ScrumBut and ScrumAnd. As differentiating between ScrumBut and ScrumAnd is not always easy, we propose application of two OOD principles for the purpose and illustrate with examples.

REFERENCES

[1] K. Schwaber, “Interview with Ken Schwaber,” February 2008, [Online], Available: http://www.agilecollab.com/interview-with-ken-schwaber

[2] K. Schwaber, “ScrumButs and Modifying Scrum,” 2011, [Online], Available: http://www.scrum.org/scrumbut

[3] J. Sutherland, “Nokia Test 20090325”, [Online], Available: http://jeffsutherland.com/nokiatest.pdf

[4] J. Sutherland and R. Jeffries, “A two day deep dive into Agile: Scrum, Extreme Programming(XP) and Lean steps to software

development success,” April 2007, [Online], Available: http://www.gbcacm.org/static/deep/deepagile2007/

[5] H. Kniberg ,“What to do When Scrum Doesn’t Work”, February 2011, [Online], Available:http://scrumalliance.org/articles/332-what-to-do-when-scrum-doesnt-work

[6] R. C Martin, "The Land that Scrum Forgot", December 2010, [Online], Available: http://scrumalliance.org/articles/300-the-land-that-scrum-forgot

[7] R. C Martin, “The Principles of OOD”, 2005, [Online], Available: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

[8] K. Schwaber and J. Sutherland, “Scrum Guide,” February 2010, pp. 6

[9] J. Sutherland, “Self Organization in Scrum,” September 2008, [Online], Available: http://agileconsortium.pbworks.com/f/Self+Organization+in+Scrum+Google+5+Sept+08+Version+2.pdf

[10] C. R. Jakobsen and K. A. Johnson, "Mature Agile with a twist of CMMI," 2008, pp. 1-6

[11] J. Sutherland, "The Scrum Papers: Nut, Bolts, and Origins of an Agile Framework," 2011, P. 85-92

[12] J. Sutherland, “Pretty good Scrum: Secret sauce for distributed teams,” October 2008, [Online], Available: http://confluence.agilefinland.com/download/attachments/884822/Pretty+Good+Scrum+v6+CSM.pdf

[13] J. Li, “Improvement, Success and Failure: Scrum Adoption in China”, April 2008, [Online], Available: http://www.infoq.com/articles/Agile-adoption-study-china#q5

[14] J. Sutherland et al, “Scrum and CMMI Level 5: The Magic Potion for Code Warriors,” in IEEE Xplore, August 2007, [Digests Agile 2007 Annual Conf. Agile Alliance, pp. 272-278, 2007].

[15] B. McMichael and M. Lombardi, “ISO 9001 and Agile Development,” in IEEE Xplore, August 2007, [Digests Agile 2007 Annual Conf. Agile Alliance, pp. 262-265, 2007].

[16] M. Sliger, “Relating PMBOK Practices to Agile Practices,” 2006, [Online], Available: http://www.stickyminds.com/sitewide.asp?ObjectId=10365&Function=DETAILBROWSE&ObjectType=COL