Loading...

Follow SCRUMstudy Blog on Feedspot

Continue with Google
Continue with Facebook
or

Valid

Agile principle states, “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”This is why Scrum recommends co-located teams. But with the changing business realities and globalization, co-located teams are becoming more and more difficult and are slowly being replaced with distributed teams.

You might ask, what do distributed teams bring to the organization? Global reach and distributed costs, more culturally inclusive team leads to understanding the market better, global acquisitions of other small businesses to assist the main organization etc. The possibilities are endless.

With this global reach and inflow of efficient resources, working with distributed teams has become an important part of a Scrum Master role. Of course, working with distributed teams has its own challenges, primary being communication. A culturally different team needs a different approach to communicate among each other. If everyone in the team understands one langague, it solves a lot of trouble otherwise language becomes a big impediment. Then there are different time zones, working hours, scheduling deliveries etc. These all can be managed with proper communication to the team that all of them are working towards a common goal.

Sprint planning meeting requires proper communication among team to arrive at a consensus as to how to proceed with the client’s requirements. Daily Scrum meetings need to happen at respective locations, the Scrum Master has to consolidate the data of different teams and find how the efficiency can be competitively maintained. If the communication is perfect and teams are working efficiently, the end sprint reviews helps consolidate and set things for retrospectives. Retrospectives help in analysing the sprint, what was good? What could have been done better? All of these help to make the team more efficient and fluid. Better coexistence among the teams leads to faster delivery of end product.

Training plays an important role in setting individual teams into Scrum teams. Collaboration among teams is the prime criterion that needs to be met for the teams to start delivering on the project. Self-organized teams are better in delivering products than teams trying to outshine each other. All these points lead to a better distributed team for global reach and faster end delivery while adhering to Scrum framework.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Managing risk must be done proactively, and it is an iterative process that should begin at project inception and continue throughout the life of the project. The process of managing risk should follow some standardized steps to ensure that risks are identified, evaluated, and a proper course of action is determined and acted upon accordingly.

In a Scrum environment, risks are generally minimized, largely due to the work being done in Sprints whereby a continuous series of Deliverables is produced in very short cycles, Deliverables are compared to expectations, and the Product Owner is actively engaged in the project. However, even in the simplest of projects, things can go wrong, so it is important to have a strategy to identify and address risks.

While some risks are specifically related to individual projects, others may originate in programs or portfolios and will generally be managed there itself. However, risks related to a portfolio or program will also impact projects that are part of the respective portfolio or program. During risk assessment in portfolios and programs, if it is determined that a risk may affect an individual project, relevant information about the risk must be communicated to the Product Owner and Scrum Team. Depending on the severity or priority, when the program or portfolio team communicates a risk that will impact an individual project, the Scrum Team may have to stop and re-plan the current Sprint to address the risk. For less urgent risks, the team can continue the current Sprint and address the risk in a subsequent Sprint.

In Portfolio

  1. When risks in Portfolio are identified, the Portfolio Product Owner will need to capture them and assess the proximity, probability, and impact of each identified risk in order to prioritize it and determine the appropriate response for the portfolio.
  1. The Portfolio Product Owner will also need to communicate the risks to the relevant stakeholders, the program teams, and the project teams. In some cases, the portfolio team may have to assume the ownership of specific risks.

In Program 

  1. When program risks are identified, the Program Product Owner should enter them in the program Risk Adjusted Prioritized Product Backlog, assess the proximity, probability, and impact of each identified risk in order to prioritize it and determine the appropriate responses for programs.
  1. The Program Product Owner will also need to communicate the risks to relevant stakeholders and the project teams. In some cases, the program team would have to assume ownership of specific risks.

The following figure demonstrates how risks can be managed across the organization.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Stakeholder(s) is a collective term that includes customers, users, and sponsors, who frequently interface with the Product Owner, Scrum Master, and Scrum Team to provide them with inputs and facilitate creation of the project’s product, service, or other result. Stakeholder(s) influence the project throughout the project’s development. Thus it is important to understand the risk attitude of the stakeholders. Essentially, the risk attitude of the stakeholders determines how much risk the stakeholders consider acceptable and hence when they will decide to take actions to mitigate potential adverse impacts of risks. Therefore, it is important to understand the tolerance levels of the stakeholders in relation to various factors including cost, quality, scope, and schedule.

02

Risk attitude is influenced by the following three factors:

  1. Risk appetite: refers to how much uncertainty the stakeholder or organization is willing to take on.
  2. Risk tolerance: indicates the degree, amount, or volume of risk stakeholders will withstand.
  3. Risk threshold: refers to the level at which a risk is acceptable to the stakeholder organization. A risk will fall above or below the risk threshold. If it is below, then the stakeholder or organization is more likely to accept the risk.

Utility Function is a model used for measuring stakeholder risk preference or attitude toward risk. It defines the stakeholders’ level or willingness to accept risk. The three categories of Utility Function are the following:

  1. Risk averse: Stakeholder is unwilling to accept a risk no matter what the anticipated benefit or opportunity.
  2. Risk neutral: Stakeholder is neither risk averse nor risk seeking and any given decision is not affected by the level of uncertainty of the outcomes. When two possible scenarios carry the same level of benefit, the risk neutral stakeholder will not be concerned if one scenario is riskier than the other.
  3. Risk seeking: Stakeholder is willing to accept risk even if it delivers a marginal increase in return or benefit to the project.

The assessment of risk helps in understanding the potential impact of a risk. The overall effect on business value should be estimated; if that impact is significant enough to outweigh the business justification, a decision must be made whether to continue the project.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

The Agile methodology is a popular project management approach for software development and implementation. Many software development companies are adopting one or more of the methods included under the Agile canopy, because of its numerous advantages.

The Agile methodology has flexibility of scale; it can be used for small as well as large projects. This is because of the following three reasons:

  1. Agile is an approach and not a set of prescribed methods and techniques for software development, so developers are free to select the methods and techniques that suit their team size and project specifications.
  2. Agile can be tailor-made to suit business specifications and project requirements.
  3. A suitable Agile method can be picked from compatible Agile methodologies such as Test Driven Development, Crystal, and Adaptive Software development.

However, it should never be thought that Agile is a free-for-all. Agile’s canopy covers only those methodologies and techniques that integrate with its core principles. Agile is a tool which has to be put into practice with discipline and a strict adherence to the core values and principles of the Agile Manifesto.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

In part 1 of this series, we discussed some of the common pitfalls that a Scrum team can fall into.  Scrum is a highly viable software development methodology used by organizations looking for methods to advance their complex development practices. As a concept, Scrum is easy to understand and simple. However, when it comes to implementation, Scrum team may face various difficulties and impediments during the process.

Let’s take a look at some of the common pitfalls in Scrum:

  • Product Owner Doesn’t Show– Presence of the Product Owner in Daily Scrums and Retrospectives is essential as he is the bridge between the technical team and the stakeholders. Since feedback given during the Retrospectives is important in planning the succeeding sprints, the Product Owner’s presence is vital.
  • Stretch Goals– Since Scrum follows the iterative and incremental model of development, the team pre-decides what to do in a Sprint. As such, neither the management nor the stakeholders should try to overload the team with more work as this will result in decreased efficiency and in increased resentment.
  • Individual over Team– Scrum believes in the dictum that Scrum team swims or sinks together. So, individuals should not try to work beyond their prescribed roles. Overtime as well as individual heroics should be discouraged.
  • Fixing problems over restarting the Sprint– Failure in immediately restarting the Sprint is one of the major pitfalls. This happens because the team makes itself busy in fixing problems surfaced in the previous as a result of which the project gets extended beyond the stipulated time.
  • Product Owner Specifies Solutions– Problems are bound to surface during the development process; however, the team, not the Product Owner should come up with the viable solutions to such problems. This is because the team is well versed with the technical aspects of the software under development.
  • Compromising On Quality– Delivering a high-quality, business valued, and potentially-ship-able product is the very foundation of Scrum; however, many teams tend to give up on quality due to limited resources or due to pressure to release features. This is one of the most common Scrum pitfalls.
  • Ceasing to learn– Scrum believes in evolutionary development, and this requires constant learning on the part of the team members; however, the team members cease learning and acquiring knowledge about the processes and techniques. This is because they assume that they have come to know all that there is to be known about this methodology.
  • Frequently reconstituting Scrum team– A scrum team should comprise of experts in order to make it a high-performing team that delivers quality products. Practically speaking, it is very tedious and difficult to form such a team. So, shifting members frequently not only brings down efficiency and productivity but also demotivates the team members. Plus, this is wastage of precious time.

The points discussed in this series are the common pitfalls that a Scrum team can fall into; however, there can be number of other pitfalls as well since Scrum is a highly flexible methodology and software development is quite a dynamic activity. Whatever may be the scenario, Scrum teams can avoid such pitfalls if they adhere to Scrum principles as closely as possible.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Scrum is a highly viable software development methodology, and the teams implementing Scrum seldom experience failure. However, it would be wrong to assume that Scrum is a panacea for all sorts of problems and impediments surfacing during the development process.

As a matter of fact, if the team implementing Scrum fails to deliver, Scrum is not to be blamed as a process by itself never goes wrong; instead, the shortcomings and flaws lie in the implementation of that methodology. To put this in other words, there are a number of pitfalls that a Scrum team can fall into as a result of which things can go haywire and the whole purpose of implementing Scrum can be defeated.

Some of the common Scrum pitfalls are mentioned below:

  • Excessive Up-front Planning– Scrum teams should not indulge in up-front planning; rather, the team should begin coding and development straight away. There is no point in wasting time on deciding the Product Backlog much in advance as the feedback gathered during Sprint Reviews and Retrospectives is important in planning the subsequent sprints.
  • Focus On Tools– Tools are not important; people and processes are. So, there is no need to worry about tools. ‘Finding the appropriate tool’ is just an obstacle to getting started, so the teams should start with the development right away.
  • Problem-Solving in the Daily Scrum– Daily Scrum is neither for discussing problems nor for finding solutions to those problems. Daily Scrums should essentially be time boxed to 5 minutes and be limited to answering the three questions.
  • Management or Stakeholders managing the team– Scrum requires teams to be self-organizing and self-managing; therefore, neither the management nor the stakeholders should try to manage the team or should assign them work. On the other hand, the team too should not wait for either the Project Manager or the Team Lead to delegate the tasks to the team members.
  • Scrum Master As a Contributor– Scrum Master is a specialized role; a Scrum Master is supposed to be watcher and a facilitator, not a developer or a tester. So, he should not be assigned any other duty. Also, he should not direct the team in what to do and what not to do as this would distract him from monitoring whether or not the team adheres to the Scrum principles.
  • Imposed Deadlines and Resources– Scrum teams know best what to complete in a particular Sprint, so neither the stakeholder nor the management should try imposing deadlines or prescribing resources as this would not only demotivate the team, but also reduce their productivity and the quality of the software produced.
  • Distributed Team– Scrum prefers collocated teams as distribution of team members impedes direct and open communication which in turn reduces productivity and quality.

Scrum is the most popular and promising frameworks of Agile. Practicing Scrum in the right way is crucial for building products and launching them faster to market. Scrum teams should make sure that they follow the best practices and avoid these common Scrum pitfalls.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Before we read about how to be an effective product owner, let us first understand who a product owner is and what he/she does.  A product owner is not a separate title but is a role that can be performed by a business analyst or even a representative of an end user.

A product owner is a stakeholder who acts as an interface between the business representatives and the project team. A product owner understands the business requirements and communicates it to the team for development on behalf of the customer. A product owner is responsible for creating a priority list of backlogs, attending daily sprint meetings, and steering the development process successfully to meet the customer’s requirements. The product owner communicates the progress of the team and continuously refines product requirements. It is also important that a product owner have a good business sense which is important while prioritizing user stories based on cost and functionality.

A product owner must be actively involved

The test of an effective product leader is how well he/she balances the expectations of business representatives and capability of the team to deliver. There are several ways a product can be more effective. A common mistake product owners make is not committing enough time to be involved with the team. Product owners should be as hands-on as possible and schedule sufficient time to holding estimation workshops, planning sprints, and providing feedback for the team.

An empowered product owner nurtures an empowered team

Customers most often expect more value to be delivered than the team’s throughput or might suggest several changes that can slowdown the speed of the development team. A product owner supports his team by managing customer’s expectations so that workflow is not affected due to unreasonable expectations. A product owner allows the team to estimate the time required to complete the backlog identified for a particular sprint. At the same time, a product owner motivates the team to deliver the backlog of a sprint on time.

An effective product owner must have good technical knowledge

It is also important that product owners have some technical knowledge, though he/she does not necessarily have to be a developer themselves. Since they will be interacting with the team on a regular basis, having a technical background can serve well while resolving issues. Technical knowledge can also help a product owner bridge the gap between the technical and business aspects of a project while liaising with developers and business representatives.

A product owner is similar to the role played by a Chief Engineer in Toyota. The Chief Engineer collects requirements and executes them during production, even taking some decisions on their own.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Being an Agile approach, Scrum is highly flexible (pun, probably intended); that is, it can be stretched and bent to fit any project’s requirements. It is best suited for projects that require splitting a huge and an unplanned project into manageable chunks of work based on business priorities. As such, it can be used for any project system and by any team.

Scrum really shows its agility in projects that exhibit one or all of the following characteristics:

  • When one is working on a project where scope is changing rapidly and new requirements are emerging every other day, Scrum’s iterative and incremental model of development permits modifications to be made to the project system rapidly and responsively.
  • When there is no consensus on a particular project management approach, the team can adopt Scrum, because its combination of some of the best and most pliable project management principles will help everyone be comfortable.
  • When there is marked ambiguity and indecisiveness on how to get software developed per industry requirements, the increased productivity and decreased risk rate that comes with Scrum makes it the logical choice.

It can certainly be said that Scrum is an ideal project management approach for software development projects. When being swept off your feet with its attractiveness it is good to keep certain points in mind before zeroing in on Scrum as the project management approach for a particular project. First, Scrum is not a method, but an approach, a process tool, for managing the software development activity. Secondly, there are certain core values that must be observed in letter and spirit so that using Scrum can optimize results in better teamwork, enhanced communication, and quicker results.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

The success of today’s organizations depends on how well they can adapt to the hurricane of changes sweeping across their industry. How can they do this? Many organizations are looking to Agile as the answer.

In spite of its popularity, Agile has not been warmly embraced by large organizations. One of the obvious reasons for this is that large organizations do not undertake major changes unless absolutely necessary. Another reason is related to the fact that Agile is different from traditional project management philosophies from the roots to the leaves. Large organizations are quite orthodox when it comes to their organizational structures and management.

Successful implementation of Agile in a bureaucratic environment is extremely difficult, because one of the core foundations of Agile is continuous process improvement, while moribund bureaucracy stakes its survival on the illusion of process stability. However, big organizations are beginning to be attracted by the importance and success rate of Agile. Software conglomerates such as Microsoft, IBM and SAP are successfully implementing Agile for select product development projects.

For Agile to be successful, an organization has to decide that it is ready to implement Agile’s core principles. It has to break free of its rigid ways to embrace the Agile culture. It is essential for a company to understand the conditions in which the implementation of Agile will lead to success:

  • Condition 1: A small team working in one location, instead of a large team operating from different locations
  • Condition 2: Short and frequent iterations during which problems can be identified faster than in extensive project cycles which tend to hide issues until the very end of the project
  • Condition 3: The project includes customer involvement during the project development. If the company is strict about a bureaucratic and form ridden route to get to the customer, Agile will hobbled by the same red tape.
  • Condition 4: Empowering the team to take decisions about development is a necessary component of achieving success in Agile methodology. Agile will fall flat, if the company believes in a rigid hierarchy of decision making.
  • Condition 5: Agile stresses working the software instead of documenting the codes, which can be done later. If the company has to rely on extensive documentation for audits, then Agile may provide less than the desired process improvements.

These conditions are not stated to warn or scare large companies from adopting Agile. They are stated to prevent companies from blindly and partially adopting Agile and then complaining that Agile does not work. Any large organization must take into account its immediate business needs and available resources, and understand clearly what exactly it desires to achieve. Then the executives of the organization should decide whether to adopt the Agile methodology totally or take a pragmatic approach. Whatever decision they take, unwavering and holistic executive support is one of the primary requirements for Agile to work in a large organization.

Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Business justification demonstrates the reasons for undertaking a project. It answers the question “Why is this project needed?” Business justification drives all decision making related to a project. So, it is important to assess the viability and achievability of a project not only before committing to significant expenditures or investment at initial stages of the project but also to verify the business justification for continuance throughout the project’s lifecycle. A project should be terminated if it is found to be unviable; the decision should be escalated to the relevant stakeholders and to senior management. The business justification for a project must be assessed at the beginning of the project, at pre-defined intervals throughout the project, and at any time when major issues or risks that threaten the project viability arise.

Monitoring the rate of delivering value is an important requirement for Scrum projects and earned value analysis is an excellent tool that can be applied to Scrum projects to understand how projects are performing. EVA analyzes actual project performance against planned performance at a given point in time using graphs and other visuals (e.g. S-curve) as a way to represent project status information.

Earned Value Analysis measures current variances in the schedule and cost of a project against planned objectives, and forecasts the final cost based on the determined current performance. EVA is typically done at the end of each Sprint after the User Stories in Sprint Backlog are completed. The result obtained is a simple set of metrics that indicate performance issues and allow timely adjustments.

Earned Value Analysis also improves the definition of project scope and offers meaningful metrics that can be communicated to stakeholders. EVA is based on the core concept that with the advancement of a project, value is generated. The value obtained (called the Earned Value) is measured and compared to the Actual Cost of the project and its Planned Value. This analysis or comparison helps in estimating future performance of the project.

For implementing EVA, some basic metrics such as valuation of planned work (called planned value or PV) need to be measured. Key parameters used in the Earned Value Analysis of a project include:

  • Planned value (PV) or the planned value of the project’s throughput
  • Earned Value (EV) or the value of the project’s throughput
  • Actual Cost (AC) or the amount of money actually spent during a period of time
  • Budget at Completion (BAC) or the original planned cost of the project

Metrics calculated from the above data –

  • Schedule Variance (SV) = EV – PV
  • Cost Variance (CV) = EV – AC
  • Schedule Performance Index (SPI) = EV/PV
  • Cost Performance Index (CPI) = EV/AC
  • Percent Complete (%) = (EV/BAC) x 100
  • Estimate at Completion* (EAC) = BAC/CPI
  • Estimate to Completion (ETC) = EAC – AC
  • Variance at Completion = BAC – EAC

Effective utilization of Earned Value Analysis depends on early estimations and accuracy of project baselines (such as PV and BAC). It is also dependent on the capacity of the organization to track actual progress made against the project and report on actual costs of making that progress.

 (*Note – The formula is valid if current variances are typical)

Read Full Article
Visit website

Read for later

Articles marked as Favorite are saved for later viewing.
close
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 

Separate tags by commas
To access this feature, please upgrade your account.
Start your free month
Free Preview