Thursday, August 12, 2010

SCRUM Methodolgy

Hi my readers, I just wanna to share about the scrum methodology which is new implement in IT industry. The scrum methodology is instead of others methodology such as waterfall, SDLC etc.. I just to inform that scrum methodology is a new method that xybase using now. Let us see whether it successfully or not?

Introduction of SCRUM
SCRUM methodology is one of the most famous project or program management methodologies. Agile methodology is a new methodology of software development and has many advantages compared to the classical methods.
The Scrum methodology is iterate (the product is produced during the small cycles called iterations), incremental (the functionality of the product increase during each iteration by adding new properties) and use its own terminology for working people and some procedural steps.
Scrum methodology have many elements but none of them is random and unnecessary. There is a project team consisted of the owner of the product , ScrumMaster and Scrum team. Each one have different task to perform.
The entire Scrum process is also divided. There are following phases: pregame, game and postgame. The structure of the Scrum methodology is very complex but not complicated!
Scrum is a process template commonly used to oversee projects, and manage complex work. Typically it is complemented by agile software development, encouraging teamwork and self-organization. The name itself is influenced by "scrums" in terms of the game of rugby. The name reflects the nature of what is achieved through the method, in terms of group members all successively striving towards better work efficiency.
The meaning scrum of 
The Scrum methodology of agile software development marks a dramatic departure from waterfall management. In fact, Scrum and other agile processes were inspired by its shortcomings. The Scrum methodology emphasizes communication and collaboration, functioning software, and the flexibility to adapt to emerging business realities — all attributes that suffer in the rigidly ordered waterfall paradigm.
Scrum Methodology
For many developers in the software industry, the agile methodology is nothing new. Most folks know that agile was a direct response to the dominant project management paradigm, waterfall, and borrows many principles from lean manufacturing. In 2001, as this new management paradigm began to pick up momentum, agile was formalized when 17 pioneers of the agile methodology met at the Snowbird Ski Resort in Utah and issued the Agile Manifesto. Their manifesto is now considered the foundational text for agile practices and principles. Most importantly, the manifesto spelled out the philosophy behind agile, which places a new emphasis on communication and collaboration; functioning software; and the flexibility to adapt to emerging business realities.

But for all of the strides the Agile Manifesto made in revising a philosophical approach to software development, it didn’t provide the concrete processes that development teams depend on when deadlines — and stakeholders — start applying pressure. As a result, when it comes to the nuts and bolts of running a team with agile every day, organizations turn to particular subsets of the agile methodology. These include Crystal Clear, Extreme Programming, Feature Driven Development, Dynamic Systems Development Method (DSDM), Scrum, and others. At my organization, we use Scrum and I’ve found it to be an incredibly effective management methodology for everyone involved, including developers and stakeholders. If you’re interested in learning about the other agile methodologies, there are plenty of resources out there. This blog is designed to provide some essential background for those who are new to Scrum.
What’s Unique about Scrum?
Of all the agile methodologies, Scrum is unique because it introduced the idea of “empirical process control.” That is, Scrum uses the real-world progress of a project — not a best guess or uninformed forecast — to plan and schedule releases. In Scrum, projects are divided into succinct work cadences, known as sprints, which are typically one week, two weeks, or three weeks in duration. At the end of each sprint, stakeholders and team members meet to assess the progress of a project and plan its next steps. This allows a project’s direction to be adjusted or reoriented based on completed work, not speculation or predictions.
Philosophically, this emphasis on an ongoing assessment of completed work is largely responsible for its popularity with managers and developers alike. But what allows the Scrum methodology to really work is a set of roles, responsibilities, and meetings that never change. If Scrum’s capacity for adaption and flexibility makes it an appealing option, the stability of its practices give teams something to lean on when development gets chaotic.

The Roles of Scrum

Scrum has three fundamental roles: Product Owner, ScrumMaster, and team member.
  • Product Owner: In Scrum, the Product Owner is responsible for communicating the vision of the product to the development team. He or she must also represent the customer’s interests through requirements and prioritization. Because the Product Owner has the most authority of the three roles, it’s also the role with the most responsibility. In other words, the Product Owner is the single individual who must face the music when a project goes awry.
  • The tension between authority and responsibility means that it’s hard for Product Owners to strike the right balance of involvement. Because Scrum values self-organization among teams, a Product Owner must fight the urge to micro-manage. At the same time, Product Owners must be available to answer questions from the team.
  • ScrumMaster: The ScrumMaster acts as a liaison between the Product Owner and the team. The ScrumMaster does not manage the team. Instead, he or she works to remove any impediments that are obstructing the team from achieving its sprint goals. In short, this role helps the team remain creative and productive, while making sure its successes are visible to the Product Owner. The ScrumMaster also works to advise the Product Owner about how to maximize ROI for the team.
  • Team Member: In the Scrum methodology, the team is responsible for completing work. Ideally, teams consist of seven cross-functional members, plus or minus two individuals. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. This grants teams a great deal of autonomy, but, similar to the Product Owner’s situation, that freedom is accompanied by a responsibility to meet the goals of the sprint.
The history of SCRUM methodology
The short history of SCRUM methodology with the most important dates:
  • In 1986 Hirotaka Takeuchi and Ikujiro Nonaka described a new approach to the product development in which all the phases of the process overlap and the team work together across the different phases.
  • In 1991 DeGrace and Stahl in “Wicked Problems , Righteous Solutions” referred to this approach as Scrum(term of rugby).
  • In the early 1990s the Scrum methodology was introduced into some companies f.ex by Ken Schwaber and it was for the first time called SCRUM by Jeff Sutherland, John Scumniotales, and Jeff McKenna.
  • In 1995 Sutherland and Schwaber described Scrum and presented the results at OOPSLA in Austin.
  • 2001 “Agile Software development with Scrum”-book written by Ken Schwaber and Mike Beedle.
What is a methodology?
Methodology can be defined in different ways. Usually if we look into any encyclopedia we will find a definition that it looks for the best approach to problems solving. In terms of programming methodology, it is looking for the best ways of developing software systems.
What is the SCRUM methodology?
Scrum is a software development methodology which consists of:
  • Management methodology
  • Enhancement methodology
  • Maintenance methodology

What is the difference between agile methodology and other, traditional methodologies?

Agile methodology emphasizes the communication ,collaboration ,rapid exchange of information , teamwork and what is very important the functioning software and flexibility(adaptability to the changing development factors and external environment). Software development process is sometimes very unpredictable and might be complex.

If all developers worked communicated and collaborated together, it will be easier to create better software. Because of that the agile methodology is the best solution for projects with rapidly changing, hard and emergent requirements.
While the agile methodology is focused on people the traditional methodology is focused on processes , sequence of processes and useful tools. It is flexible but only in the beginning of the project and doesn’t handle appropriate with changing environmental needs and requirements after the start.

What are the benefits of the SCRUM methodology?

The benefits are on both sites. The client is happy because they received what they needed and expected. For developers the benefits of taking a part in Scrum methodology are more subjective – it might be his/her motivation and satisfaction of making the work done, in an efficient fashion.

No comments:

Post a Comment