<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://13.50.150.85/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S150821</id>
	<title>DTU ProjectLab - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://13.50.150.85/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=S150821"/>
	<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php/Special:Contributions/S150821"/>
	<updated>2026-07-15T03:39:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17685</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17685"/>
		<updated>2015-09-28T22:06:33Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et al., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039;: this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers&#039; contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective Scrum team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17668</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17668"/>
		<updated>2015-09-28T22:01:38Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et al., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039;: this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers&#039; contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective Scrum team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17665</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17665"/>
		<updated>2015-09-28T22:00:43Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et al., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039;: this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective Scrum team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17648</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17648"/>
		<updated>2015-09-28T21:56:46Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et al., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective Scrum team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17624</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17624"/>
		<updated>2015-09-28T21:51:00Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Sprint Planning Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective Scrum team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17614</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17614"/>
		<updated>2015-09-28T21:48:57Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Sprint */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this, further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17605</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17605"/>
		<updated>2015-09-28T21:47:00Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals, in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17603</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17603"/>
		<updated>2015-09-28T21:46:17Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17599</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17599"/>
		<updated>2015-09-28T21:45:30Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained in the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17596</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17596"/>
		<updated>2015-09-28T21:44:17Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Development Team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints, this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17586</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17586"/>
		<updated>2015-09-28T21:39:28Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is the &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is the &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17583</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17583"/>
		<updated>2015-09-28T21:38:43Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development. One is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17573</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17573"/>
		<updated>2015-09-28T21:33:43Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is different from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17570</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17570"/>
		<updated>2015-09-28T21:32:40Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here there is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17569</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17569"/>
		<updated>2015-09-28T21:31:50Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity and also the ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17565</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17565"/>
		<updated>2015-09-28T21:29:35Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity, and his ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software“&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17558</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17558"/>
		<updated>2015-09-28T21:28:30Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity, and his ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17535</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17535"/>
		<updated>2015-09-28T21:23:17Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of the actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity, and his ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17530</id>
		<title>Talk:Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17530"/>
		<updated>2015-09-28T21:21:38Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Answer to reviwer 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 113129&#039;s comments: ==&lt;br /&gt;
General thoughts:&lt;br /&gt;
* Your language varies greatly; sometimes it is very simple, other times very advanced. You need to work on this – maybe use Microsoft Word when writing the article? Word will make grammatical suggestions (and corrections) if needed.&lt;br /&gt;
* You often make very long sentences. I’m personally not very good at using commas (I use them way too much, hehe!) but I think that if you maybe insert a few commas in your long sentences, then it will be easier for the reader to understand :)&lt;br /&gt;
* You make several references for the same book or website, but you can actually use one reference more than once! You can find a link on how to do that on the frontpage! (Can&#039;t put an example in here, sadly!) By doing this, you wont have the same website listed 5 times, but will just reference the same number more than once! :)&lt;br /&gt;
* Maybe make it clearer why Scrum and ASD is important for project/program/portfolio managers. &lt;br /&gt;
* Please note, that I have not worked with Scrum myself, so I have no experience with this topic. I can mostly help you with general explanations, language and the like.&lt;br /&gt;
Abstract: &lt;br /&gt;
* You start the article with an interesting perspective, however the choice of language varies greatly between the two sections. &lt;br /&gt;
Scrum Methodology: &lt;br /&gt;
* Maybe explain in more detail what the quote “work is divided into small chunks to manage complexity and to get early feedback from customers and end users” means. You only use this quote and the following sentence to explain the scrum methodology. I don’t feel like I fully understood the scrum methodology after reading this.&lt;br /&gt;
&lt;br /&gt;
Manifesto of Agile Software Development:&lt;br /&gt;
* Remember to put a reference to the quote “Welcome changing requirements, even late in development” (http://agilemanifesto.org/principles.html)&lt;br /&gt;
* Good and interesting section! &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
* I do not understand how, by focusing on communication, the team is able to make decisions quicker and respond faster. Why are they even focusing on communication in the first place?&lt;br /&gt;
* What does it mean to work “in close location”?&lt;br /&gt;
* Does the team always consist of seven people? That is an odd group number – why seven?&lt;br /&gt;
* I feel like I understand the roles within the Scrum framework now, but I do not understand the “sprints”. Are they “just” timeframes within the project? You keep mentioning them, but you haven’t explained them yet.&lt;br /&gt;
* You answer some of these questions later in the article, but it does not feel like there is a natural flow. When introducing a new concept, I suggest you should explain it shortly afterwards. I feel like you mentioned and used some concepts before explaining what they meant, which I found very confusing. &lt;br /&gt;
&lt;br /&gt;
Main Figures in Scrum:&lt;br /&gt;
* What are customer-centric items?&lt;br /&gt;
&lt;br /&gt;
Sprint: &lt;br /&gt;
* Really good! This one cleared up a lot. It was short and concrete. I liked it.&lt;br /&gt;
&lt;br /&gt;
Scrum Meetings:&lt;br /&gt;
* The text is italic in the end of the first section (sprint planning meeting).&lt;br /&gt;
* Remember to reference the figure! :)&lt;br /&gt;
* These are some good sections. They are informative and easy to understand, however there are a few grammatical errors and a few words missing once in a while.&lt;br /&gt;
&lt;br /&gt;
Artefacts:&lt;br /&gt;
* Maybe make an example of a PBI or of what a product backlog could include? ☺&lt;br /&gt;
* Maybe explain the Sprint Burndown Chart a bit more – use the picture for examples.&lt;br /&gt;
&lt;br /&gt;
Limitations:&lt;br /&gt;
* “because” not “cause” ;) &lt;br /&gt;
* This sections is called limitations, but you seem to only refer to M. James’ limitation condition, in stead of discussion it. Maybe you could bring forward a few examples when scrum is used and when it is not? :) &lt;br /&gt;
&lt;br /&gt;
All in all: I liked the article. At times it was a little confusing, and the order of the sections was a little confusing as well. However it was informative and covered a lot of knowledge about Scrum. Maybe work a bit on your language, make a few examples and remember to put references on pictures. Maybe also refer to other wiki-articles on the website, to direct the reader towards similar articles (about the same topic!)&lt;br /&gt;
&lt;br /&gt;
// This concludes 113129&#039;s comments! :)&lt;br /&gt;
----&lt;br /&gt;
=Answer to reviewer 1=&lt;br /&gt;
Hi 113129, first of all thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
*For the first two bullets yes I know that my English is not so academic but I’m trying to improve it . I’ll follow your suggestion on writing shorter sentences.&lt;br /&gt;
*Thank you for the references I wasn’t able to find the wiki code to write them in a more compact way. Now they are better.&lt;br /&gt;
*I think that the importance of Scrum methodology and ASD in project management is well dealt along the article. As it is written in the abstract the main innovation of ASD is to cope with customers’ needs that in the actual market are continuously changing. This is helpful to PM because traditional ways of managing projects can’t work well in this context.&lt;br /&gt;
&lt;br /&gt;
Scrum Methodology:&lt;br /&gt;
&lt;br /&gt;
*This is only an introduction sentence so I wanted to give just some informations of how Scrum works. Furthermore Scrum is not a deterministic method, but it is more experience driven. It is difficult to go more in details without a real project. In this article I just limited to describe how method works.&lt;br /&gt;
Manifesto ASD&lt;br /&gt;
*You are right I forgot it thank you &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
&lt;br /&gt;
*Previous model were characterized by people who just followed their tasks step by step. Focusing on communication means that people start to work together giving a lower importance to the model structure that should be followed. In this way they are able to face difficulties that with the other ways of developing would involve problems. &lt;br /&gt;
*To facilitate communication team members should stay in a close location like a room for example. This help to isolate the team from the outside problem so that they can really focus on software development with more success.&lt;br /&gt;
*In the literature it is written that group has to be composed by minimum three and maximum nine. This because three members ensure that at least there are the basic skills necessary to develop a software (they cannot be enclosed in only one person). Nine members are considered the limit because communication tends to decrease with the increasing of people in the team. From the experience it was noticed that seven people are a trade-off between communication and cross-functionality of the members of the group.&lt;br /&gt;
*Yes you are right Sprint is explained in a following section, I put an internal link to connect them.&lt;br /&gt;
&lt;br /&gt;
Main figures in Scrum&lt;br /&gt;
&lt;br /&gt;
*Customer-centric items are that piece of project or work in which the Product Backlog is divided. You can consider them like an ordinary sequence of milestones to reach in order to complete the project. They are called Customer-centric to underline that differently from previous way of developing software, ASD has a particular focus on customer. In fact this items are decided during the Sprint Planning meeting in collaboration with customers.&lt;br /&gt;
&lt;br /&gt;
Sprint Planning Meeting&lt;br /&gt;
&lt;br /&gt;
*It was a mistake thank you &lt;br /&gt;
*You are right I forgot them. Now it should be ok&lt;br /&gt;
*I reviewed this section in order to correct some grammatical mistakes. I hope it is better now.&lt;br /&gt;
&lt;br /&gt;
Artefacts&lt;br /&gt;
&lt;br /&gt;
*I have put an Image of a Product Backlog in which you can read some example of PBIs.&lt;br /&gt;
*I have added some more details in the burndown chart.&lt;br /&gt;
&lt;br /&gt;
Limitations&lt;br /&gt;
&lt;br /&gt;
*I have corrected the mistake &lt;br /&gt;
*Unfortunately in the literature there is no so many information about use limitations of Scrum. This because Scrum is developed as an empirical method so it difficult to establish first in it is suitable or not to a project.&lt;br /&gt;
&lt;br /&gt;
Yes I realized that the article flow is a little confuse, I tried to improve its clarity by adding some external link to Wikipedia referred to Software development models and by move some section in order to have a more orderly flow.&lt;br /&gt;
---------&lt;br /&gt;
Reviewer 3, S997303&lt;br /&gt;
&lt;br /&gt;
Hi Giacomo&lt;br /&gt;
&lt;br /&gt;
Formal aspects&lt;br /&gt;
&lt;br /&gt;
•	Interesting methodology and your writing style is clear and fluent to me&lt;br /&gt;
&lt;br /&gt;
•	You use appropriate figures, but consider making them larger, so they become less blurred. Especially I suggest making the Scrum Framework figure larger in scale, because this is the visual overview of the Scrum Methodology in your article.&lt;br /&gt;
&lt;br /&gt;
•	Also it could be an advantage to enlarge the Product Backlog figure as well as the Sprint Backlog so they can better visualize and support your text.&lt;br /&gt;
&lt;br /&gt;
Content aspects&lt;br /&gt;
&lt;br /&gt;
•	If I look at the balance of the sections in your article I could suggest to focus more on the limitations section and for example supporting your facts with additional literature about use of Scrum methodology in software development.&lt;br /&gt;
&lt;br /&gt;
•	Your article is very detailed described for a practitioner – and if I was a practitioner I would also be very interested in knowing more about the Scrum Reference Card and how to evaluate when a project belongs in the chaotic field of the Predictability figure and therefore should select a Scrum Methodology.&lt;br /&gt;
&lt;br /&gt;
Good luck with the completion of your article. &lt;br /&gt;
Best Regards Jane&lt;br /&gt;
----&lt;br /&gt;
=Answer to reviewer 3=&lt;br /&gt;
&lt;br /&gt;
Hi Jane, thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
Formal Aspect&lt;br /&gt;
&lt;br /&gt;
*You are right about the pictures. I have put some new images with a better resolution, if you open them, they will be clearer.&lt;br /&gt;
&lt;br /&gt;
Content Aspect&lt;br /&gt;
&lt;br /&gt;
*Yes, I know that Limitations section is not so wide, but literature doesn’t provide so many informations about this argument. I think because of the “empirical” way of Scrum to manage projects. &lt;br /&gt;
*In my references I put a link in which you can find all the information you need about Scrum Reference Card. It is its “official web site” so I think that it could help you. &lt;br /&gt;
*Unfortunately there are not deterministic tools in Scrum methodology to identify if a project is suitable to be developed with this method. Usually mangers are led by their own experience in order to define if a project is suitable to ASD.&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reviewer 2, Dimak&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I found your article very interesting with a lot of information about Scrum methodology and a lot of illustrations. Expect from some points the referencing was good. As far as the structure and the language are concerned, I believe that there are some improvements that can be made and thus I will give some examples by commenting each section of your article.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You have a nice abstract and you nicely analyze what is the purpose of your article but there are some points that in my opinion you should focus on improving. More specifically:&lt;br /&gt;
&lt;br /&gt;
• Customer’s and market’s needs can be reformulated to customers&#039; and markets&#039; needs.&lt;br /&gt;
• When you first mention Agile Software Development, you can write (ASD) in brackets so that you will not have to use it as a whole again&lt;br /&gt;
• In general I believe that you can revise a bit your syntax in some sentences. Also you can try to keep them a bit shorter. I always use big sentences myself so I definitely cannot judge you for that!  &lt;br /&gt;
• You can use http://www.thesaurus.com/ to find some expressions or synonyms for your article. Personally it helped me a lot ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
• In the point you say about rugby -which by the way find very interesting as a connection, you can maybe use a reference.&lt;br /&gt;
• Not only in this section, but also in the whole article, it will be more easier for someone to follow if you use connectors (e.g. Furthermore, Moreover etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are some really nice points here but again a bit of reformulation is needed. I like that you use bullet-points.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Manifesto for the Agile Software development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just a small suggestion. You can write seventeen instead of 17 to make your article a bit more formal &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I believe that there are some points that you can reformulate to make it easier for a practitioner to follow. I like the contents you have in this section. &lt;br /&gt;
&lt;br /&gt;
• You can write a few words as a small introduction and as a connection to the previous section.&lt;br /&gt;
• Maybe you can connect the illustration about scrum framework to the text because for me, the connection is a bit unclear.&lt;br /&gt;
• Just a small suggestion. Maybe you can write actors instead of figures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main figures in Scrum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got a little confused in this section because I thought that you talked about the figures earlier. Maybe you can consider a way to connect these two sections. For instance, when you mention them for the first time you can write : &amp;quot;these figures will be further analyzed in a following section&amp;quot; or something like that.&lt;br /&gt;
&lt;br /&gt;
• Maybe you can use a bit more references when you talk about the Product Owner, the Development team and the Scrum Master.&lt;br /&gt;
• Here you mention some artefacts that are used in Scrum methodology. Maybe it will be better to analyze them here and not on another part because I believe it can be more difficult for a practitioner to follow. For instance, when I first read your article I was not sure on what a product backlog is until I found it below and I went back to make the connection. This bullet point covers the &#039;&#039;&#039;Artefacts&#039;&#039;&#039; section as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Team self-organization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I like that you have bullet points. It makes it easier for someone to follow. &lt;br /&gt;
&lt;br /&gt;
• At some point you say “it is told developer what needs to be done not how to do it”. Maybe you can use a reference on that.&lt;br /&gt;
• You say: &amp;quot;Conversely there are some conditions that can hander self-organization&amp;quot;. Maybe you meant harden instead of hander.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Meetings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nice points here as well. There are still some grammatical and syntax errors I think you should check. &lt;br /&gt;
&lt;br /&gt;
• Remember to use a reference for your illustration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sprint&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This section is cohesive and straight forward but as a minor suggestion I believe that you could have explained it a bit earlier when you talk about Sprints in the Application section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Limitations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Maybe you can use an image to illustrate the scrum reference card.&lt;br /&gt;
&lt;br /&gt;
I hoped that I helped you by giving these suggestions and I wish you good luck with your final article.&lt;br /&gt;
&lt;br /&gt;
Dimitris&lt;br /&gt;
=Answer to reviwer 2=&lt;br /&gt;
Hi Dimitris,thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
&lt;br /&gt;
*I corrected some mistake in the abstract and added some external links to Wikipedia to be clearer. &lt;br /&gt;
Scrum methodology&lt;br /&gt;
*I added the reference about the Scrum definition.&lt;br /&gt;
*Thank you for the suggestion &lt;br /&gt;
&lt;br /&gt;
Application&lt;br /&gt;
&lt;br /&gt;
*I have reformulated this section: now there Is a description of the Scrum Framework with some explanation of the Sprint and other things that will be explained later in the article. In this way I think that the article is more connected.&lt;br /&gt;
*Thank you for your suggestion “actors” is better.&lt;br /&gt;
&lt;br /&gt;
Main figures in Scrum&lt;br /&gt;
&lt;br /&gt;
*I think that it is better to keep the sections disconnected.  In a normal article I would follow your advice but I think that in a Wiki article it is important to divide into different sections each topic.&lt;br /&gt;
 &lt;br /&gt;
Team self-organization &lt;br /&gt;
&lt;br /&gt;
*It was “hamper” thank you &lt;br /&gt;
*I put the reference thank you &lt;br /&gt;
&lt;br /&gt;
Scrum Meetings&lt;br /&gt;
&lt;br /&gt;
*Yes I forgot the references in the pictures, now it is ok;&lt;br /&gt;
&lt;br /&gt;
Sprint&lt;br /&gt;
&lt;br /&gt;
*I wrote some more explanation of Sprint in the Application section. Now I think it is simpler to follow the article flow.&lt;br /&gt;
*In the references there is a link to the “official” site of Scrum reference Card, here you can download it.&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17472</id>
		<title>Talk:Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17472"/>
		<updated>2015-09-28T21:00:56Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Answer to reviewer 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 113129&#039;s comments: ==&lt;br /&gt;
General thoughts:&lt;br /&gt;
* Your language varies greatly; sometimes it is very simple, other times very advanced. You need to work on this – maybe use Microsoft Word when writing the article? Word will make grammatical suggestions (and corrections) if needed.&lt;br /&gt;
* You often make very long sentences. I’m personally not very good at using commas (I use them way too much, hehe!) but I think that if you maybe insert a few commas in your long sentences, then it will be easier for the reader to understand :)&lt;br /&gt;
* You make several references for the same book or website, but you can actually use one reference more than once! You can find a link on how to do that on the frontpage! (Can&#039;t put an example in here, sadly!) By doing this, you wont have the same website listed 5 times, but will just reference the same number more than once! :)&lt;br /&gt;
* Maybe make it clearer why Scrum and ASD is important for project/program/portfolio managers. &lt;br /&gt;
* Please note, that I have not worked with Scrum myself, so I have no experience with this topic. I can mostly help you with general explanations, language and the like.&lt;br /&gt;
Abstract: &lt;br /&gt;
* You start the article with an interesting perspective, however the choice of language varies greatly between the two sections. &lt;br /&gt;
Scrum Methodology: &lt;br /&gt;
* Maybe explain in more detail what the quote “work is divided into small chunks to manage complexity and to get early feedback from customers and end users” means. You only use this quote and the following sentence to explain the scrum methodology. I don’t feel like I fully understood the scrum methodology after reading this.&lt;br /&gt;
&lt;br /&gt;
Manifesto of Agile Software Development:&lt;br /&gt;
* Remember to put a reference to the quote “Welcome changing requirements, even late in development” (http://agilemanifesto.org/principles.html)&lt;br /&gt;
* Good and interesting section! &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
* I do not understand how, by focusing on communication, the team is able to make decisions quicker and respond faster. Why are they even focusing on communication in the first place?&lt;br /&gt;
* What does it mean to work “in close location”?&lt;br /&gt;
* Does the team always consist of seven people? That is an odd group number – why seven?&lt;br /&gt;
* I feel like I understand the roles within the Scrum framework now, but I do not understand the “sprints”. Are they “just” timeframes within the project? You keep mentioning them, but you haven’t explained them yet.&lt;br /&gt;
* You answer some of these questions later in the article, but it does not feel like there is a natural flow. When introducing a new concept, I suggest you should explain it shortly afterwards. I feel like you mentioned and used some concepts before explaining what they meant, which I found very confusing. &lt;br /&gt;
&lt;br /&gt;
Main Figures in Scrum:&lt;br /&gt;
* What are customer-centric items?&lt;br /&gt;
&lt;br /&gt;
Sprint: &lt;br /&gt;
* Really good! This one cleared up a lot. It was short and concrete. I liked it.&lt;br /&gt;
&lt;br /&gt;
Scrum Meetings:&lt;br /&gt;
* The text is italic in the end of the first section (sprint planning meeting).&lt;br /&gt;
* Remember to reference the figure! :)&lt;br /&gt;
* These are some good sections. They are informative and easy to understand, however there are a few grammatical errors and a few words missing once in a while.&lt;br /&gt;
&lt;br /&gt;
Artefacts:&lt;br /&gt;
* Maybe make an example of a PBI or of what a product backlog could include? ☺&lt;br /&gt;
* Maybe explain the Sprint Burndown Chart a bit more – use the picture for examples.&lt;br /&gt;
&lt;br /&gt;
Limitations:&lt;br /&gt;
* “because” not “cause” ;) &lt;br /&gt;
* This sections is called limitations, but you seem to only refer to M. James’ limitation condition, in stead of discussion it. Maybe you could bring forward a few examples when scrum is used and when it is not? :) &lt;br /&gt;
&lt;br /&gt;
All in all: I liked the article. At times it was a little confusing, and the order of the sections was a little confusing as well. However it was informative and covered a lot of knowledge about Scrum. Maybe work a bit on your language, make a few examples and remember to put references on pictures. Maybe also refer to other wiki-articles on the website, to direct the reader towards similar articles (about the same topic!)&lt;br /&gt;
&lt;br /&gt;
// This concludes 113129&#039;s comments! :)&lt;br /&gt;
----&lt;br /&gt;
=Answer to reviewer 1=&lt;br /&gt;
Hi 113129, first of all thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
*For the first two bullets yes I know that my English is not so academic but I’m trying to improve it . I’ll follow your suggestion on writing shorter sentences.&lt;br /&gt;
*Thank you for the references I wasn’t able to find the wiki code to write them in a more compact way. Now they are better.&lt;br /&gt;
*I think that the importance of Scrum methodology and ASD in project management is well dealt along the article. As it is written in the abstract the main innovation of ASD is to cope with customers’ needs that in the actual market are continuously changing. This is helpful to PM because traditional ways of managing projects can’t work well in this context.&lt;br /&gt;
&lt;br /&gt;
Scrum Methodology:&lt;br /&gt;
&lt;br /&gt;
*This is only an introduction sentence so I wanted to give just some informations of how Scrum works. Furthermore Scrum is not a deterministic method, but it is more experience driven. It is difficult to go more in details without a real project. In this article I just limited to describe how method works.&lt;br /&gt;
Manifesto ASD&lt;br /&gt;
*You are right I forgot it thank you &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
&lt;br /&gt;
*Previous model were characterized by people who just followed their tasks step by step. Focusing on communication means that people start to work together giving a lower importance to the model structure that should be followed. In this way they are able to face difficulties that with the other ways of developing would involve problems. &lt;br /&gt;
*To facilitate communication team members should stay in a close location like a room for example. This help to isolate the team from the outside problem so that they can really focus on software development with more success.&lt;br /&gt;
*In the literature it is written that group has to be composed by minimum three and maximum nine. This because three members ensure that at least there are the basic skills necessary to develop a software (they cannot be enclosed in only one person). Nine members are considered the limit because communication tends to decrease with the increasing of people in the team. From the experience it was noticed that seven people are a trade-off between communication and cross-functionality of the members of the group.&lt;br /&gt;
*Yes you are right Sprint is explained in a following section, I put an internal link to connect them.&lt;br /&gt;
&lt;br /&gt;
Main figures in Scrum&lt;br /&gt;
&lt;br /&gt;
*Customer-centric items are that piece of project or work in which the Product Backlog is divided. You can consider them like an ordinary sequence of milestones to reach in order to complete the project. They are called Customer-centric to underline that differently from previous way of developing software, ASD has a particular focus on customer. In fact this items are decided during the Sprint Planning meeting in collaboration with customers.&lt;br /&gt;
&lt;br /&gt;
Sprint Planning Meeting&lt;br /&gt;
&lt;br /&gt;
*It was a mistake thank you &lt;br /&gt;
*You are right I forgot them. Now it should be ok&lt;br /&gt;
*I reviewed this section in order to correct some grammatical mistakes. I hope it is better now.&lt;br /&gt;
&lt;br /&gt;
Artefacts&lt;br /&gt;
&lt;br /&gt;
*I have put an Image of a Product Backlog in which you can read some example of PBIs.&lt;br /&gt;
*I have added some more details in the burndown chart.&lt;br /&gt;
&lt;br /&gt;
Limitations&lt;br /&gt;
&lt;br /&gt;
*I have corrected the mistake &lt;br /&gt;
*Unfortunately in the literature there is no so many information about use limitations of Scrum. This because Scrum is developed as an empirical method so it difficult to establish first in it is suitable or not to a project.&lt;br /&gt;
&lt;br /&gt;
Yes I realized that the article flow is a little confuse, I tried to improve its clarity by adding some external link to Wikipedia referred to Software development models and by move some section in order to have a more orderly flow.&lt;br /&gt;
---------&lt;br /&gt;
Reviewer 3, S997303&lt;br /&gt;
&lt;br /&gt;
Hi Giacomo&lt;br /&gt;
&lt;br /&gt;
Formal aspects&lt;br /&gt;
&lt;br /&gt;
•	Interesting methodology and your writing style is clear and fluent to me&lt;br /&gt;
&lt;br /&gt;
•	You use appropriate figures, but consider making them larger, so they become less blurred. Especially I suggest making the Scrum Framework figure larger in scale, because this is the visual overview of the Scrum Methodology in your article.&lt;br /&gt;
&lt;br /&gt;
•	Also it could be an advantage to enlarge the Product Backlog figure as well as the Sprint Backlog so they can better visualize and support your text.&lt;br /&gt;
&lt;br /&gt;
Content aspects&lt;br /&gt;
&lt;br /&gt;
•	If I look at the balance of the sections in your article I could suggest to focus more on the limitations section and for example supporting your facts with additional literature about use of Scrum methodology in software development.&lt;br /&gt;
&lt;br /&gt;
•	Your article is very detailed described for a practitioner – and if I was a practitioner I would also be very interested in knowing more about the Scrum Reference Card and how to evaluate when a project belongs in the chaotic field of the Predictability figure and therefore should select a Scrum Methodology.&lt;br /&gt;
&lt;br /&gt;
Good luck with the completion of your article. &lt;br /&gt;
Best Regards Jane&lt;br /&gt;
----&lt;br /&gt;
=Answer to reviewer 3=&lt;br /&gt;
&lt;br /&gt;
Hi Jane, thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
Formal Aspect&lt;br /&gt;
&lt;br /&gt;
*You are right about the pictures. I have put some new images with a better resolution, if you open them, they will be clearer.&lt;br /&gt;
&lt;br /&gt;
Content Aspect&lt;br /&gt;
&lt;br /&gt;
*Yes, I know that Limitations section is not so wide, but literature doesn’t provide so many informations about this argument. I think because of the “empirical” way of Scrum to manage projects. &lt;br /&gt;
*In my references I put a link in which you can find all the information you need about Scrum Reference Card. It is its “official web site” so I think that it could help you. &lt;br /&gt;
*Unfortunately there are not deterministic tools in Scrum methodology to identify if a project is suitable to be developed with this method. Usually mangers are led by their own experience in order to define if a project is suitable to ASD.&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reviewer 2, Dimak&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I found your article very interesting with a lot of information about Scrum methodology and a lot of illustrations. Expect from some points the referencing was good. As far as the structure and the language are concerned, I believe that there are some improvements that can be made and thus I will give some examples by commenting each section of your article.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You have a nice abstract and you nicely analyze what is the purpose of your article but there are some points that in my opinion you should focus on improving. More specifically:&lt;br /&gt;
&lt;br /&gt;
• Customer’s and market’s needs can be reformulated to customers&#039; and markets&#039; needs.&lt;br /&gt;
• When you first mention Agile Software Development, you can write (ASD) in brackets so that you will not have to use it as a whole again&lt;br /&gt;
• In general I believe that you can revise a bit your syntax in some sentences. Also you can try to keep them a bit shorter. I always use big sentences myself so I definitely cannot judge you for that!  &lt;br /&gt;
• You can use http://www.thesaurus.com/ to find some expressions or synonyms for your article. Personally it helped me a lot ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
• In the point you say about rugby -which by the way find very interesting as a connection, you can maybe use a reference.&lt;br /&gt;
• Not only in this section, but also in the whole article, it will be more easier for someone to follow if you use connectors (e.g. Furthermore, Moreover etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are some really nice points here but again a bit of reformulation is needed. I like that you use bullet-points.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Manifesto for the Agile Software development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just a small suggestion. You can write seventeen instead of 17 to make your article a bit more formal &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I believe that there are some points that you can reformulate to make it easier for a practitioner to follow. I like the contents you have in this section. &lt;br /&gt;
&lt;br /&gt;
• You can write a few words as a small introduction and as a connection to the previous section.&lt;br /&gt;
• Maybe you can connect the illustration about scrum framework to the text because for me, the connection is a bit unclear.&lt;br /&gt;
• Just a small suggestion. Maybe you can write actors instead of figures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main figures in Scrum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got a little confused in this section because I thought that you talked about the figures earlier. Maybe you can consider a way to connect these two sections. For instance, when you mention them for the first time you can write : &amp;quot;these figures will be further analyzed in a following section&amp;quot; or something like that.&lt;br /&gt;
&lt;br /&gt;
• Maybe you can use a bit more references when you talk about the Product Owner, the Development team and the Scrum Master.&lt;br /&gt;
• Here you mention some artefacts that are used in Scrum methodology. Maybe it will be better to analyze them here and not on another part because I believe it can be more difficult for a practitioner to follow. For instance, when I first read your article I was not sure on what a product backlog is until I found it below and I went back to make the connection. This bullet point covers the &#039;&#039;&#039;Artefacts&#039;&#039;&#039; section as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Team self-organization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I like that you have bullet points. It makes it easier for someone to follow. &lt;br /&gt;
&lt;br /&gt;
• At some point you say “it is told developer what needs to be done not how to do it”. Maybe you can use a reference on that.&lt;br /&gt;
• You say: &amp;quot;Conversely there are some conditions that can hander self-organization&amp;quot;. Maybe you meant harden instead of hander.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Meetings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nice points here as well. There are still some grammatical and syntax errors I think you should check. &lt;br /&gt;
&lt;br /&gt;
• Remember to use a reference for your illustration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sprint&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This section is cohesive and straight forward but as a minor suggestion I believe that you could have explained it a bit earlier when you talk about Sprints in the Application section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Limitations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Maybe you can use an image to illustrate the scrum reference card.&lt;br /&gt;
&lt;br /&gt;
I hoped that I helped you by giving these suggestions and I wish you good luck with your final article.&lt;br /&gt;
&lt;br /&gt;
Dimitris&lt;br /&gt;
=Answer to reviwer 2=&lt;br /&gt;
Hi Dimitris,thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
&lt;br /&gt;
*I corrected some mistake in the abstract and added some external links to Wikipedia to be clearer. &lt;br /&gt;
Scrum methodology&lt;br /&gt;
*I added the reference about the Scrum definition.&lt;br /&gt;
*Thank you for the suggestion &lt;br /&gt;
&lt;br /&gt;
Application&lt;br /&gt;
&lt;br /&gt;
*I have reformulated this section: now there Is a description of the Scrum Framework with some explanation of the Sprint and other things that will be explained later in the article. In this way I think that the article is more connected.&lt;br /&gt;
*Thank you for your suggestion “actors” is better.&lt;br /&gt;
&lt;br /&gt;
Main figures in Scrum&lt;br /&gt;
&lt;br /&gt;
*I think that it is better to keep the sections disconnected.  In a normal article I would follow your advice but I think that in a Wiki article it is important to divide into different sections each topic.&lt;br /&gt;
 &lt;br /&gt;
Team self-organization &lt;br /&gt;
&lt;br /&gt;
*It was “hamper” thank you &lt;br /&gt;
*I put the reference thank you &lt;br /&gt;
&lt;br /&gt;
Scrum Meetings&lt;br /&gt;
&lt;br /&gt;
*Yes I forgot the references in the pictures, now it is ok;&lt;br /&gt;
&lt;br /&gt;
Sprint&lt;br /&gt;
&lt;br /&gt;
*I wrote some more explanation of Sprint in the Application section. Now I think it is simpler to follow the article flow.&lt;br /&gt;
*In the references there are a link to the “official” site of Scrum reference Card, here you can download it.&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17464</id>
		<title>Talk:Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Talk:Scrum_Methodology_in_Agile_Software_Development&amp;diff=17464"/>
		<updated>2015-09-28T20:55:58Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* 113129&amp;#039;s comments: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 113129&#039;s comments: ==&lt;br /&gt;
General thoughts:&lt;br /&gt;
* Your language varies greatly; sometimes it is very simple, other times very advanced. You need to work on this – maybe use Microsoft Word when writing the article? Word will make grammatical suggestions (and corrections) if needed.&lt;br /&gt;
* You often make very long sentences. I’m personally not very good at using commas (I use them way too much, hehe!) but I think that if you maybe insert a few commas in your long sentences, then it will be easier for the reader to understand :)&lt;br /&gt;
* You make several references for the same book or website, but you can actually use one reference more than once! You can find a link on how to do that on the frontpage! (Can&#039;t put an example in here, sadly!) By doing this, you wont have the same website listed 5 times, but will just reference the same number more than once! :)&lt;br /&gt;
* Maybe make it clearer why Scrum and ASD is important for project/program/portfolio managers. &lt;br /&gt;
* Please note, that I have not worked with Scrum myself, so I have no experience with this topic. I can mostly help you with general explanations, language and the like.&lt;br /&gt;
Abstract: &lt;br /&gt;
* You start the article with an interesting perspective, however the choice of language varies greatly between the two sections. &lt;br /&gt;
Scrum Methodology: &lt;br /&gt;
* Maybe explain in more detail what the quote “work is divided into small chunks to manage complexity and to get early feedback from customers and end users” means. You only use this quote and the following sentence to explain the scrum methodology. I don’t feel like I fully understood the scrum methodology after reading this.&lt;br /&gt;
&lt;br /&gt;
Manifesto of Agile Software Development:&lt;br /&gt;
* Remember to put a reference to the quote “Welcome changing requirements, even late in development” (http://agilemanifesto.org/principles.html)&lt;br /&gt;
* Good and interesting section! &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
* I do not understand how, by focusing on communication, the team is able to make decisions quicker and respond faster. Why are they even focusing on communication in the first place?&lt;br /&gt;
* What does it mean to work “in close location”?&lt;br /&gt;
* Does the team always consist of seven people? That is an odd group number – why seven?&lt;br /&gt;
* I feel like I understand the roles within the Scrum framework now, but I do not understand the “sprints”. Are they “just” timeframes within the project? You keep mentioning them, but you haven’t explained them yet.&lt;br /&gt;
* You answer some of these questions later in the article, but it does not feel like there is a natural flow. When introducing a new concept, I suggest you should explain it shortly afterwards. I feel like you mentioned and used some concepts before explaining what they meant, which I found very confusing. &lt;br /&gt;
&lt;br /&gt;
Main Figures in Scrum:&lt;br /&gt;
* What are customer-centric items?&lt;br /&gt;
&lt;br /&gt;
Sprint: &lt;br /&gt;
* Really good! This one cleared up a lot. It was short and concrete. I liked it.&lt;br /&gt;
&lt;br /&gt;
Scrum Meetings:&lt;br /&gt;
* The text is italic in the end of the first section (sprint planning meeting).&lt;br /&gt;
* Remember to reference the figure! :)&lt;br /&gt;
* These are some good sections. They are informative and easy to understand, however there are a few grammatical errors and a few words missing once in a while.&lt;br /&gt;
&lt;br /&gt;
Artefacts:&lt;br /&gt;
* Maybe make an example of a PBI or of what a product backlog could include? ☺&lt;br /&gt;
* Maybe explain the Sprint Burndown Chart a bit more – use the picture for examples.&lt;br /&gt;
&lt;br /&gt;
Limitations:&lt;br /&gt;
* “because” not “cause” ;) &lt;br /&gt;
* This sections is called limitations, but you seem to only refer to M. James’ limitation condition, in stead of discussion it. Maybe you could bring forward a few examples when scrum is used and when it is not? :) &lt;br /&gt;
&lt;br /&gt;
All in all: I liked the article. At times it was a little confusing, and the order of the sections was a little confusing as well. However it was informative and covered a lot of knowledge about Scrum. Maybe work a bit on your language, make a few examples and remember to put references on pictures. Maybe also refer to other wiki-articles on the website, to direct the reader towards similar articles (about the same topic!)&lt;br /&gt;
&lt;br /&gt;
// This concludes 113129&#039;s comments! :)&lt;br /&gt;
----&lt;br /&gt;
=Answer to reviewer 1=&lt;br /&gt;
Hi 113129, first of all thank you for your review and your advices.&lt;br /&gt;
&lt;br /&gt;
*For the first two bullets yes I know that my English is not so academic but I’m trying to improve it . I’ll follow your suggestion on writing shorter sentences.&lt;br /&gt;
*Thank you for the references I wasn’t able to find the wiki code to write them in a more compact way. Now they are better.&lt;br /&gt;
*I think that the importance of Scrum methodology and ASD in project management is well dealt along the article. As it is written in the abstract the main innovation of ASD is to cope with customers’ needs that in the actual market are continuously changing. This is helpful to PM because traditional ways of managing projects can’t work well in this context.&lt;br /&gt;
&lt;br /&gt;
Scrum Methodology:&lt;br /&gt;
&lt;br /&gt;
*This is only an introduction sentence so I wanted to give just some informations of how Scrum works. Furthermore Scrum is not a deterministic method, but it is more experience driven. It is difficult to go more in details without a real project. In this article I just limited to describe how method works.&lt;br /&gt;
Manifesto ASD&lt;br /&gt;
*You are right I forgot it thank you &lt;br /&gt;
&lt;br /&gt;
Application:&lt;br /&gt;
&lt;br /&gt;
*Previous model were characterized by people who just followed their tasks step by step. Focusing on communication means that people start to work together giving a lower importance to the model structure that should be followed. In this way they are able to face difficulties that with the other ways of developing would involve problems. &lt;br /&gt;
*To facilitate communication team members should stay in a close location like a room for example. This help to isolate the team from the outside problem so that they can really focus on software development with more success.&lt;br /&gt;
*In the literature it is written that group has to be composed by minimum three and maximum nine. This because three members ensure that at least there are the basic skills necessary to develop a software (they cannot be enclosed in only one person). Nine members are considered the limit because communication tends to decrease with the increasing of people in the team. From the experience it was noticed that seven people are a trade-off between communication and cross-functionality of the members of the group.&lt;br /&gt;
*Yes you are right Sprint is explained in a following section, I put an internal link to connect them.&lt;br /&gt;
&lt;br /&gt;
Main figures in Scrum&lt;br /&gt;
&lt;br /&gt;
*Customer-centric items are that piece of project or work in which the Product Backlog is divided. You can consider them like an ordinary sequence of milestones to reach in order to complete the project. They are called Customer-centric to underline that differently from previous way of developing software, ASD has a particular focus on customer. In fact this items are decided during the Sprint Planning meeting in collaboration with customers.&lt;br /&gt;
&lt;br /&gt;
Sprint Planning Meeting&lt;br /&gt;
&lt;br /&gt;
*It was a mistake thank you &lt;br /&gt;
*You are right I forgot them. Now it should be ok&lt;br /&gt;
*I reviewed this section in order to correct some grammatical mistakes. I hope it is better now.&lt;br /&gt;
&lt;br /&gt;
Artefacts&lt;br /&gt;
&lt;br /&gt;
*I have put an Image of a Product Backlog in which you can read some example of PBIs.&lt;br /&gt;
*I have added some more details in the burndown chart.&lt;br /&gt;
&lt;br /&gt;
Limitations&lt;br /&gt;
&lt;br /&gt;
*I have corrected the mistake &lt;br /&gt;
*Unfortunately in the literature there is no so many information about use limitations of Scrum. This because Scrum is developed as an empirical method so it difficult to establish first in it is suitable or not to a project.&lt;br /&gt;
&lt;br /&gt;
Yes I realized that the article flow is a little confuse, I tried to improve its clarity by adding some external link to Wikipedia referred to Software development models and by move some section in order to have a more orderly flow.&lt;br /&gt;
---------&lt;br /&gt;
Reviewer 3, S997303&lt;br /&gt;
&lt;br /&gt;
Hi Giacomo&lt;br /&gt;
&lt;br /&gt;
Formal aspects&lt;br /&gt;
&lt;br /&gt;
•	Interesting methodology and your writing style is clear and fluent to me&lt;br /&gt;
&lt;br /&gt;
•	You use appropriate figures, but consider making them larger, so they become less blurred. Especially I suggest making the Scrum Framework figure larger in scale, because this is the visual overview of the Scrum Methodology in your article.&lt;br /&gt;
&lt;br /&gt;
•	Also it could be an advantage to enlarge the Product Backlog figure as well as the Sprint Backlog so they can better visualize and support your text.&lt;br /&gt;
&lt;br /&gt;
Content aspects&lt;br /&gt;
&lt;br /&gt;
•	If I look at the balance of the sections in your article I could suggest to focus more on the limitations section and for example supporting your facts with additional literature about use of Scrum methodology in software development.&lt;br /&gt;
&lt;br /&gt;
•	Your article is very detailed described for a practitioner – and if I was a practitioner I would also be very interested in knowing more about the Scrum Reference Card and how to evaluate when a project belongs in the chaotic field of the Predictability figure and therefore should select a Scrum Methodology.&lt;br /&gt;
&lt;br /&gt;
Good luck with the completion of your article. &lt;br /&gt;
Best Regards Jane&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reviewer 2, Dimak&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I found your article very interesting with a lot of information about Scrum methodology and a lot of illustrations. Expect from some points the referencing was good. As far as the structure and the language are concerned, I believe that there are some improvements that can be made and thus I will give some examples by commenting each section of your article.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Abstract&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You have a nice abstract and you nicely analyze what is the purpose of your article but there are some points that in my opinion you should focus on improving. More specifically:&lt;br /&gt;
&lt;br /&gt;
• Customer’s and market’s needs can be reformulated to customers&#039; and markets&#039; needs.&lt;br /&gt;
• When you first mention Agile Software Development, you can write (ASD) in brackets so that you will not have to use it as a whole again&lt;br /&gt;
• In general I believe that you can revise a bit your syntax in some sentences. Also you can try to keep them a bit shorter. I always use big sentences myself so I definitely cannot judge you for that!  &lt;br /&gt;
• You can use http://www.thesaurus.com/ to find some expressions or synonyms for your article. Personally it helped me a lot ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
• In the point you say about rugby -which by the way find very interesting as a connection, you can maybe use a reference.&lt;br /&gt;
• Not only in this section, but also in the whole article, it will be more easier for someone to follow if you use connectors (e.g. Furthermore, Moreover etc.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are some really nice points here but again a bit of reformulation is needed. I like that you use bullet-points.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Manifesto for the Agile Software development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Just a small suggestion. You can write seventeen instead of 17 to make your article a bit more formal &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I believe that there are some points that you can reformulate to make it easier for a practitioner to follow. I like the contents you have in this section. &lt;br /&gt;
&lt;br /&gt;
• You can write a few words as a small introduction and as a connection to the previous section.&lt;br /&gt;
• Maybe you can connect the illustration about scrum framework to the text because for me, the connection is a bit unclear.&lt;br /&gt;
• Just a small suggestion. Maybe you can write actors instead of figures.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main figures in Scrum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I got a little confused in this section because I thought that you talked about the figures earlier. Maybe you can consider a way to connect these two sections. For instance, when you mention them for the first time you can write : &amp;quot;these figures will be further analyzed in a following section&amp;quot; or something like that.&lt;br /&gt;
&lt;br /&gt;
• Maybe you can use a bit more references when you talk about the Product Owner, the Development team and the Scrum Master.&lt;br /&gt;
• Here you mention some artefacts that are used in Scrum methodology. Maybe it will be better to analyze them here and not on another part because I believe it can be more difficult for a practitioner to follow. For instance, when I first read your article I was not sure on what a product backlog is until I found it below and I went back to make the connection. This bullet point covers the &#039;&#039;&#039;Artefacts&#039;&#039;&#039; section as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Team self-organization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Again I like that you have bullet points. It makes it easier for someone to follow. &lt;br /&gt;
&lt;br /&gt;
• At some point you say “it is told developer what needs to be done not how to do it”. Maybe you can use a reference on that.&lt;br /&gt;
• You say: &amp;quot;Conversely there are some conditions that can hander self-organization&amp;quot;. Maybe you meant harden instead of hander.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scrum Meetings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nice points here as well. There are still some grammatical and syntax errors I think you should check. &lt;br /&gt;
&lt;br /&gt;
• Remember to use a reference for your illustration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sprint&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This section is cohesive and straight forward but as a minor suggestion I believe that you could have explained it a bit earlier when you talk about Sprints in the Application section.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Limitations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Maybe you can use an image to illustrate the scrum reference card.&lt;br /&gt;
&lt;br /&gt;
I hoped that I helped you by giving these suggestions and I wish you good luck with your final article.&lt;br /&gt;
&lt;br /&gt;
Dimitris&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17342</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17342"/>
		<updated>2015-09-28T20:13:21Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity, and his ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meetings are the fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who however has no decision-making authority over them. There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. During this meeting &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business&amp;quot; instead &amp;quot;the team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did the previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during the Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the gives an estimation of the remaining work that is required to complete the Items in the Product Backlog and provides other technical informations in order to help the Product Owner to prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of the Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where the committed items and the main task that have to be done during the sprint are identified. It has to be visible to the Scrum team and also upgraded during the sprint execution with the additional tasks necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17315</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17315"/>
		<updated>2015-09-28T20:05:48Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of [[Wikipedia:Lean Production|Lean Production]] by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
At the end of the 20th century there were some practitioners who believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to market changes. They defined Agile a process which was able to accept change rather than stress predictability.They also believed that to well face customers’ needs development software methods have to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication, on February 2001,a group of seventeen software developers published in a work called “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt; the main principles of Agile Software development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039;: with these words  founders want to remark the power of human being creativity, and his ability of each man to collaborate with his other similars.  The stiffness of Waterfall model is instead represented by “processes and tools” where people was used to follow only what the plan required. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039;: here is a clear reference to the new way of developing software where at every iteration a working program is realised. This is differently from the previous model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039;: it means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change. This concept was remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprint&#039;&#039;&#039; that are the fundamental units in which the whole project is divided. As the picture shows Scrum framework is really simple: it starts from a vision like all projects. This idea is converted into a plan during the preliminary meetings where customers and developers identifies the main software requirements and defines the Product Backlog. This represents the entire amount of work that has to be done in order to develop the software. In the next step Product Backlog is divided into several Sprint Backlogs that define which tasks have to be done during the following Sprint. During these iterations the product experiences an incremental development at the end of which it is potentially shippable.&lt;br /&gt;
&lt;br /&gt;
Every Sprint is managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people. There are also other two actors whose task is to be supportive of the software development: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts, and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team in order to define the main objectives; then there are also short daily meetings held every morning to enhance communication, inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to the &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to the customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to deliver Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another peculiarity of Scrum team is its Self-organization which facilitates members’ creativity and increases team cohesiveness. For this reason it is recommended to not change the members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology. This new concept is well explained by the sentence “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. It means that they can autonomously choose the way to reach commitments. &lt;br /&gt;
Furthermore, as it is explained previously, during Sprint execution, team members develop an intrinsic interest in shared goals in this  way self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
As it is already explained before Sprint (or iteration) is the fundamental unit in which the whole project is divided. It is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting. During this encounter it is defined the Sprint Backlog which states what are the goals and requirements of the next Sprint. After this further meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meetings.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17193</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17193"/>
		<updated>2015-09-28T19:28:50Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Artefacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two actors that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_2.png|350px|thumb|right|Product Backlog and Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17189</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=17189"/>
		<updated>2015-09-28T19:27:02Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Artefacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two actors that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog_3.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:Burndown.png&amp;diff=17185</id>
		<title>File:Burndown.png</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:Burndown.png&amp;diff=17185"/>
		<updated>2015-09-28T19:25:57Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:Product_Backlog_2.png&amp;diff=17183</id>
		<title>File:Product Backlog 2.png</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:Product_Backlog_2.png&amp;diff=17183"/>
		<updated>2015-09-28T19:25:17Z</updated>

		<summary type="html">&lt;p&gt;S150821: S150821 uploaded a new version of &amp;amp;quot;File:Product Backlog 2.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:Product_Backlog_2.png&amp;diff=17182</id>
		<title>File:Product Backlog 2.png</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:Product_Backlog_2.png&amp;diff=17182"/>
		<updated>2015-09-28T19:25:05Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=File:Product_Backlog_3.png&amp;diff=17179</id>
		<title>File:Product Backlog 3.png</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=File:Product_Backlog_3.png&amp;diff=17179"/>
		<updated>2015-09-28T19:24:35Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15185</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15185"/>
		<updated>2015-09-27T11:52:48Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two actors that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15184</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15184"/>
		<updated>2015-09-27T11:50:43Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Team self-organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two actors that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hamper self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15179</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15179"/>
		<updated>2015-09-27T11:33:21Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two actors that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main Actors in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15178</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15178"/>
		<updated>2015-09-27T11:26:29Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Scrum Methodology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;ASD&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15177</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15177"/>
		<updated>2015-09-27T11:22:23Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of seventeen software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15174</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15174"/>
		<updated>2015-09-27T10:47:45Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customers&#039; and markets&#039; needs; surely [[Wikipedia: Agile Software Development |Agile Software Development (ASD)]] is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15162</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15162"/>
		<updated>2015-09-27T10:24:43Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate.[[Wikipedia:Waterfall model | Waterfall model]] , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional [[Wikipedia:Iterative model |Iterative model]] was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15161</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15161"/>
		<updated>2015-09-27T10:21:12Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, because of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15159</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15159"/>
		<updated>2015-09-27T10:16:14Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Sprint Burndown Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down. As picture shows it has a time line in the x axis and the remaining hours of work within one Sprint in the y axis. The advantage of this tool is to show at a first sight at which point of the project you are and the work that is left to complete the Sprint. It is important that this tool is used only as help to Scrum team; in some situations it could become a constraint for developers, in this case Scrum Master has to remove this chart from the room.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15139</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15139"/>
		<updated>2015-09-27T09:37:18Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot; (&#039;&#039;K. Beck et all, 2001&#039;&#039;)&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15138</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15138"/>
		<updated>2015-09-27T09:34:49Z</updated>

		<summary type="html">&lt;p&gt;S150821: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity &amp;quot;to welcome change even late in development&amp;quot;&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt; to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15136</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15136"/>
		<updated>2015-09-27T09:32:58Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development&amp;lt;ref name=&#039;Manifesto&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15135</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15135"/>
		<updated>2015-09-27T09:29:50Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15134</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15134"/>
		<updated>2015-09-27T09:29:23Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Sprint Burndown Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15133</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15133"/>
		<updated>2015-09-27T09:28:56Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Artefacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15132</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15132"/>
		<updated>2015-09-27T09:28:21Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Scrum Meetings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15131</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15131"/>
		<updated>2015-09-27T09:24:13Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Sprint Planning Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15124</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15124"/>
		<updated>2015-09-27T09:10:21Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[Sprint:http://apppm.man.dtu.dk/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;amp;action=submit#Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15121</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15121"/>
		<updated>2015-09-27T09:00:04Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[http://apppm.man.dtu.dk/index.php/Scrum_Methodology_in_Agile_Software_Development#Sprint= Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15120</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15120"/>
		<updated>2015-09-27T08:57:13Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called [[wikipedia:Sprint|Sprint]] managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
	<entry>
		<id>http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15118</id>
		<title>Scrum Methodology in Agile Software Development</title>
		<link rel="alternate" type="text/html" href="http://13.50.150.85/index.php?title=Scrum_Methodology_in_Agile_Software_Development&amp;diff=15118"/>
		<updated>2015-09-27T08:32:09Z</updated>

		<summary type="html">&lt;p&gt;S150821: /* Manifesto for the Agile Software development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Today market is affected by uncertainly and sudden changes, in these conditions most of the models  used in the 20th century to develop software are not still appropriate. Waterfall model , probably the most famous between them, is characterized by a stiff structure which can’t cope with the turbulent needs of actual market.&lt;br /&gt;
In recent years many innovations are been enhanced in software engineering with a particular focus on the flexibility of these methods in order to cope with the customer’s and market’s needs; surely &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039; is between them.&lt;br /&gt;
&lt;br /&gt;
ASD embraces the principles of lean production by applying them in software development to avoid waste and increase responsiveness to change. It represents the solution to the unpredictability of the market where the capacity to welcome change even late in development to satisfy customers is required.&lt;br /&gt;
This article deals with Agile Software Development with a particular focus on one of its most used technique : &#039;&#039;&#039;Scrum Methodology&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Scrum Methodology=&lt;br /&gt;
Scrum is an iterative method used to develop software, it can be placed inside the group of methods which are used in &#039;&#039;&#039;Agile Software Development&#039;&#039;&#039;. This word is taken from rugby and represents that phase of the match where an ordered formation of players, with arms interlocked and heads down, push forward against a similar group to gain possession of the ball. This method provides that &amp;quot;work is divided into small chunks to manage complexity and to get early feedback from customers and end users&amp;quot; (&#039;&#039;S. Augustine, 2005&#039;&#039;)&amp;lt;ref&amp;gt;S. Augustine,2005,Prentice Hall PTR,Managing Agile Projects&amp;lt;/ref&amp;gt;; software development is carried out by small working team that allow rapid adjustment during the process and a quick delivery of the final product. &lt;br /&gt;
&lt;br /&gt;
==Agile Software Development==&lt;br /&gt;
Some practitioners believed that traditional iterative model was not so responsive to changes that market required. They thought that to be Agile a process needs to accept change rather than stress predictability and that methods used to develop software has to respond to change as quickly as it arose rather than prevent changes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;D.Cohen,M.Lindval,P. Costa,Fraunhofer Center Maryland, Agile Software Development&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It was in these circumstances that practitioners as Mary Poppendieck and Bob Charet started to take inspiration from Lean manufacturing principles and apply them to software development. &lt;br /&gt;
These are the main points ,according to Poppendieck, which make Lean Production so successful and that can be applied to software development:&lt;br /&gt;
&lt;br /&gt;
*elimination of waste that does not add value to the customer such as diagram and models that do not add value to the final deliverable; &lt;br /&gt;
*minimize inventory such as requirements and design documents;&lt;br /&gt;
*maximize flow by using iterative development to reduce development time;&lt;br /&gt;
*pull from demand;&lt;br /&gt;
*empower workers that means “tell developer what needs to be done not how to do it&amp;quot;;&lt;br /&gt;
*meet customer requirements – work closely with the customer, allowing them to change their minds&lt;br /&gt;
*do it right the first time – test early and refactor when necessary;&lt;br /&gt;
*abolish local optimization – flexibly manage scope;&lt;br /&gt;
*partner with suppliers – avoid adversarial relationships, work towards developing the best software; &lt;br /&gt;
*create a culture of continuous improvement – allow the process to improve, learn from mistakes and successes.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;M. Poppendieck, T. Poppendieck, 2003, Addison Wesley, Lean Software Development: An Agile Toolkit[[http://www.poppendieck.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Manifesto for the Agile Software development===&lt;br /&gt;
A few years before Poppoendieck’s publication on February 2001 main principles of Agile Software development were stated by a group of 17 software developers which published “Manifesto for the Agile Software Development”.&amp;lt;ref&amp;gt;K. Beck et all., 2001, Manifesto for Agile Software Development[http://www.agilemanifesto.org/]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From reading these few words it is possible to identify what are the main innovations that ASD introduced in Software development:&lt;br /&gt;
[[File:Agilemanifesto.jpg|400px|thumb|right|Manifesto for the Agile Software development]]&lt;br /&gt;
                                                                                                  &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;“Individuals and interactions”&#039;&#039;&#039; : with these words  founders want to remark the power of human being creativity, and his ability to collaborate with other similar.  The stiffness of Waterfall model is instead represented by “processes and tools” where people has to follow only what the plan requires. &lt;br /&gt;
*&#039;&#039;&#039;“Working software “&#039;&#039;&#039; : there is a clear reference to the new way to develop software where at every iteration a working program is realised, differently from the earlier model in which a working program couldn’t be seen until the end of the project. This feature is put over the “comprehensive documentation” which characterizes especially Waterfall model.&lt;br /&gt;
*&#039;&#039;&#039;“Customer collaboration”&#039;&#039;&#039; : means that there must be a straight relationship between customer and developer in order to define time by time the projects requirements and evaluate every realise. &lt;br /&gt;
*&#039;&#039;&#039;“Responding to change over following a plan”&#039;&#039;&#039; : this sentence encloses the essence of Agile software Development that is to cope with turbulent markets by being flexible and by responding quickly to change, instead of being bound by planning. This concept is remarked by the founders in one of the twelve principles which follow the manifesto which says “Welcome changing requirements, even late in development […]”.&lt;br /&gt;
&lt;br /&gt;
=Application=&lt;br /&gt;
[[File:Scrum_Framework.png|350px|thumb|right|Scrum Framework]]&lt;br /&gt;
There are two concepts that are at the basement of Scrum methodology: &#039;&#039;&#039;iterative development&#039;&#039;&#039; and &#039;&#039;&#039;team working&#039;&#039;&#039;. Developing in iterations allow Scrum team to adapt quickly to changing requirements, while working in close location and focusing on communication allow team to make decisions and act on them immediately rather than wait on correspondence.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Basically Scrum consists in a sequence of fixed-length iterations called &#039;&#039;&#039;Sprints&#039;&#039;&#039; managed by one or more &#039;&#039;&#039;cross-functional and self-organizing teams&#039;&#039;&#039; each composed by seven people that aim at a common goal and that usually work only on the software development. There are instead other two figures that manage all things that are in support of the development process: one is &#039;&#039;&#039;Product Owner&#039;&#039;&#039; who mainly handles customers contacts and the other is &#039;&#039;&#039;Scrum Master&#039;&#039;&#039; whose main task is to ensure that development team can work without obstacles.&lt;br /&gt;
&lt;br /&gt;
Each sprint usually lasts from 2 to 4 weeks, in this period there are at least one meeting between the Product Owner and Development Team to define the main objectives; then there are short daily meetings held every morning to enhance communication and inform customers, developers, and managers on the status of the project, identify any problems encountered, and keep the entire team focused on a common goal.&amp;lt;ref name=&#039;Cohen&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Main figures in Scrum==&lt;br /&gt;
===Product Owner===&lt;br /&gt;
Product owner is the link between customers and development team, he ensures that deliverables are in line with customers’ expectation and that stakeholders’ interests are fulfilled. He has also the task to fill out customer-centric items (typically &#039;&#039;&#039;user stories&#039;&#039;&#039;), ranks and prioritizes them before adds them to &#039;&#039;&#039;Product Backlog&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Usually development teams have only one Product owner, but differently from the Scrum master, he only takes care of the business side and does not interfere with the scrum team about the technological issues. At the beginning of each Sprint the Product Owner holds a Sprint Planning Meeting to state on which Product Backlog Items Scrum team will go to work during the next Sprint. In this phase he defines what are the most important items for that business, in according to customer’s needs.&lt;br /&gt;
&lt;br /&gt;
===Development Team===&lt;br /&gt;
Development team task is to provide Product Backlog Items (PBIs) at the end of every Sprint in according with customers’ requirements after negotiating commitments with the Product Owner.&lt;br /&gt;
Usually each team is composed by &#039;&#039;&#039;cross-functional members&#039;&#039;&#039; that allow an all-round software development; the main figures that there must be are a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. &lt;br /&gt;
&lt;br /&gt;
The size of the team is an important point, the group members&#039; number influences capacity of people to communicate and work together: it is recommended that a scrum team is composed not more than nine people, usually seven.&lt;br /&gt;
&lt;br /&gt;
Another important characteristic is the Self-organization of the group which facilitates members’ creativity and increases team cohesiveness: for this reason it is better to not change members of a team after they have worked together, especially if they had success in their project. After working together team members gain a mutual understanding that increases their capacity of team working, this synergy cannot be acquired if team are continuously changed.&lt;br /&gt;
&lt;br /&gt;
A further point that characterized the good outcomes of a scrum team is location: people are most successful when located in the same room, particularly for the first few Sprints: this facilitates communication and information sharing.&lt;br /&gt;
&lt;br /&gt;
====Team self-organization====&lt;br /&gt;
Team self-organization is a crucial point in the scrum methodology : with this concept it means that “it is told developer what needs to be done not how to do it”, they can autonomously choose the way to reach commitments. &lt;br /&gt;
As it is said previously during Sprint execution, team members develop an intrinsic interest in shared goals and learn to manage each other to achieve them, for this reason self-organizing teams can radically outperform larger than traditionally managed teams. It has to be specified that an optimal self-organization takes time: it may be possible that  for the first few sprints developers perform worse than when they work in the traditional way.&lt;br /&gt;
 &lt;br /&gt;
Some requirements are necessary to gain a good team self-organization:&lt;br /&gt;
*members are committed to clear, short-term goals;&lt;br /&gt;
*members can gauge the group’s progress;&lt;br /&gt;
*members can observe each other’s contribution;&lt;br /&gt;
*members feel safe to give each other unvarnished feedback.&amp;lt;ref name=&#039;James&#039;&amp;gt;M. James,2010,Scrum Reference Card, Michael James,[[http://scrumreferencecard.com/]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conversely there are some conditions that can hander self-organization:&lt;br /&gt;
*geographical distribution: it is better if the whole team work in a room;&lt;br /&gt;
*boss/work dynamics: each member has to consider the others as peer to facilitate a fair communication between them;&lt;br /&gt;
*part-time team members;&lt;br /&gt;
*interruptions unrelated to Sprint goals.&lt;br /&gt;
&lt;br /&gt;
===Scrum Master===&lt;br /&gt;
The scrum master worries that Scrum team can work without obstacles but he has no management authority over them. Essentially he has the aim to:&lt;br /&gt;
*create an environment to promote team self-organization;&lt;br /&gt;
*support team in the achievement of expected goals;&lt;br /&gt;
*ensure that events  (e.g. daily Scrum meeting) take place in the right way;&lt;br /&gt;
*keep &#039;&#039;&#039;Scrum artefacts&#039;&#039;&#039; visible (&#039;&#039;&#039;Product Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint Backlog&#039;&#039;&#039;, &#039;&#039;&#039;Sprint burndown chart&#039;&#039;&#039; …).&lt;br /&gt;
&lt;br /&gt;
==Sprint==&lt;br /&gt;
Sprint (or iteration) is the fundamental unit in which the work is divided; it is characterized by a fixed length of 2 weeks or 30 days and by a goal to achieve. At the beginning of each sprint   Scrum team , Product Owner , Scrum Master and sometimes also stakeholders hold a meeting, called Sprint Planning meeting whose output is the Sprint Backlog where goals and requirements of the next Sprint are defined. Then other meetings inside development team will be held in order to define in more detail how achieving the common goals stated in the previous meeting.&lt;br /&gt;
==Scrum Meetings==&lt;br /&gt;
[[File:Scrum_meetings.png|350px|thumb|right|Scrum Meetings]]&lt;br /&gt;
Meeting are a fundamental tool used during the whole Scrum process. Usually they are facilitated by the Scrum master who has no decision-making authority over them  . There are different typologies of meetings according to the different phase of the process in which we are.&lt;br /&gt;
===Sprint Planning Meeting===&lt;br /&gt;
At the beginning of each Sprint, the Product Owner and team hold a Sprint Planning Meeting to define on which &#039;&#039;&#039;Product Backlog Items (PBIs)&#039;&#039;&#039; they will go to work during the next Sprint. &amp;quot;The Product Owner is responsible for declaring which items are the most important to the business. The team is responsible for selecting the amount of work they feel they can implement&amp;quot; (&#039;&#039;M. James, 2010)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;.In this phase in perfect Lean perspective the team “pulls” work from the Product Backlog to the Sprint Backlog. At the end of the meeting the selected items are broken into a provisional list of Sprint task. The maximum time that can be used to do Planning meeting, known as &#039;&#039;&#039;timebox&#039;&#039;&#039;, is of eight hours.&lt;br /&gt;
&lt;br /&gt;
===Daily Scrum and Sprint Execution===&lt;br /&gt;
During the sprint every day members of the Scrum team hold a fifteen minutes meeting where they take stock of the situation.  Usually they speak about what they did previous day, which impediments they faced and what they are going to do in the current day. To make these meetings shorter it is better that people are standing.  &lt;br /&gt;
During sprint execution it is common to find out additional tasks necessary to achieve sprint goal; to keep the control over processes during sprint development it could be useful to maintain a current &#039;&#039;&#039;Sprint Task List&#039;&#039;&#039;, a &#039;&#039;&#039;Sprint Burndown Chart&#039;&#039;&#039;, and an &#039;&#039;&#039;Impediments List&#039;&#039;&#039;: these are some artefacts that allow developer to understand where the project is located.&lt;br /&gt;
&lt;br /&gt;
===Sprint Review Meeting===&lt;br /&gt;
At the end of every Sprint it is held a Review meeting where the scrum team has to explain to the Product Owner what they did during the previous sprint. Usually this meeting consists in a live demonstration of the working product increment after which Product Owner states which Items can be considered as done.&lt;br /&gt;
Items which are declared not done have to return to the Product Backlog to be ranked and reprioritized by the Product Owner with the help of the Scrum master. Last step of this meeting is to convert stakeholders’ feedback to a new Product Log, this task is consigned to both Product Owner and Scrum Master.&lt;br /&gt;
The Sprint Review Meeting is the appropriate meeting for external stakeholders (even end users) to attend.&lt;br /&gt;
&lt;br /&gt;
===Sprint Retrospective Meeting===&lt;br /&gt;
During this meeting every member of the scrum team inspects his behaviour to identify some impediments that he faced during Sprint. There are mainly three kind of impediments in which developers can be involved:&lt;br /&gt;
*people who conduct performance evaluation are an obstacles to transparency of the team;&lt;br /&gt;
*human tendency of someone in the team to jump to conclusions and propose actions too quickly;&lt;br /&gt;
*geographical distribution of the team can be an impediments, team work better if they are delimited in a small place like a room.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After identifying all these impediments Scrum master has the task to eliminate them.&lt;br /&gt;
&lt;br /&gt;
===Backlog Refinement Meeting ===&lt;br /&gt;
Especially at the beginning of the project &amp;quot;most of the Product Backlog Items (PBIs)  need refinement because they are too large and poorly understood&amp;quot; (&#039;&#039;M. James, 2010&#039;&#039;)&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;. In the Backlog Refinement Meeting, the team gave an estimation of the work left to complete Items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.&lt;br /&gt;
&lt;br /&gt;
==Artefacts==&lt;br /&gt;
[[File:Product_Backlog.png|200px|thumb|right|Product Backlog]]&lt;br /&gt;
===Product Backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined before the project beginning and then upgraded during the Backlog Refinement meeting ; it is made up by the whole group of items which have to be completed during the project in order to realize the final product. Every item is ranked and constantly reprioritized by the Product Owner. It is important that Product Backlog Is visible to the stakeholders.&lt;br /&gt;
&lt;br /&gt;
===Product Backlog Item (PBI)===&lt;br /&gt;
An item specifies what has to be done but not how do it. Usually they are written in a User story to be understood also by stakeholders. Every items has a work load of 2-3 days and requires 2-3 people. It represents the basic unit of Product backlog.&lt;br /&gt;
[[File:Sprint_Backlog.png|200px|thumb|right|Sprint Backlog]]&lt;br /&gt;
===Sprint backlog===&lt;br /&gt;
&lt;br /&gt;
It is defined at the beginning of each sprint during the Sprint Planning meeting where committed items and the main task that have to be done during the sprint are identified. It has to be visible to Scrum team and it can be upgraded during the sprint execution with additional task necessary to achieve the final goal.&lt;br /&gt;
&lt;br /&gt;
===Sprint task===&lt;br /&gt;
Every item is divided into several tasks, each of them requires one day or less of work. A sprint task specifies how to achieve what is required by PBI. If the task takes more than one day of work, remaining effort is re-estimated daily, typically in hours.&lt;br /&gt;
&lt;br /&gt;
===Sprint Burndown Chart===&lt;br /&gt;
[[File:Sprint_burndown_chart.png|300px|thumb|right|Sprint Burndown Chart]]&lt;br /&gt;
This tool is used to facilitate self-organization of the team. It indicates the total remaining team task hours within one Sprint. Usually chart shows a decreasing line but if there are some re-estimation it may be possible that line increase for then going down.&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
Scrum method was often used in the object-oriented software development. Actually this technique are applied not only on software but also on other products from different sectors like wheelchairs, semiconductors and mortgages.&lt;br /&gt;
Scrum has to be used in those projects where people cannot rely on the plan-driven approaches like Waterfall, cause of unknown requirements and technology.&lt;br /&gt;
[[File:Graph.png|300px|thumb|right|Predictability of a Project]]&lt;br /&gt;
Conversely if the projects is placed under precise and stable conditions it is better to use one of the traditional model which allow to have a fixed planning over the whole project. In this case Scrum method would involve in a waste of resources and money because he is working on a field that is not its responsibility.&lt;br /&gt;
&lt;br /&gt;
Michael James in his “Scrum Reference card” explains with a simple graphics in which conditions Scrum should be used and which ones are not. James defines the predictability of the projects on the base of two features: knowledge of the requirements and knowledge of the level of technology required. A project which provides known requirements and a known level of technology should be carried out  with a plan-driven model. It these conditions are not met it is better to use an empirical approach like Scrum.&amp;lt;ref name=&#039;James&#039;&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>S150821</name></author>
	</entry>
</feed>