Blog

May 4, 2012

Scrum is one of the most popular agile project management frameworks today; it has three main roles: the scrum master, the product owner and the development team. The scrum master is responsible for supporting the development team, clearing organizational impediments, and keeping the scrum process true to the Agile Manifesto, the 12 Agile Principles and the five scrum values.

A scrum master is different than a project manager. Teams using traditional project approaches work for a project manager. A scrum master, on the other hand, is a servant-leader, and supports the team so that it is fully functional and productive. The scrum master:

  • Is the process coach for the product owner and development team, ensuring the scrum team and the organization follow agile and scrum values and best practices 
  • Helps remove impediments, both immediate and future, so the development team can stay focused and productive 
  • Shields the development team from external interferences 
  • Assists the team with self-organization 
  • Fosters close cooperation between different team members and departments 
  • Ensures that everyone on the project team has all the information they need to do the job, use their tools, and track progress

A scrum master is an expert in agile processes and can coach others. The scrum master must also work collaboratively with the stakeholders on the project team that interface with the core scrum team.

Scrum masters must have strong coordination and communication skills, with enough organizational clout to secure conditions for success by negotiating for the right environment, protecting the team from distractions, and removing impediments. Scrum masters are great communicators and great listeners, and can transform conflicting opinions into superior solutions.

For information on Platinum Edge's Scrum Master Certification courses, please visit: http://www.platinumedge.com/training 

October 5, 2011

Platinum Edge gets this question a lot: What is agile project management? At its core, agile project management is an empirical style of project management that focuses on scope flexibility, team input and delivering quality, essential products.

Agile, in project management, is actually an umbrella term. There are many agile project management methodologies, including Scrum, eXtreme Programming (XP) and Lean, among others. These methodologies all have one thing in common: adherence to the Agile Manifesto and the 12 Principles of Agile. The Agile Manifesto and Principles focus on people, communications, the product and flexibility.

In 2001, a group of 17 project management and software development experts got together to discuss what their successful projects had in common. These experts agreed on four key values, and they formed the Agile Manifesto to describe a framework for agile project management.

"The Agile Manifesto*
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more."
 

The Agile Alliance, also formed in 2001, came up with the following 12 principles to support the values in the manifesto:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity the art of maximizing the amount of work not done is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

The manifesto and principles are the heart and soul of agile project management. While there are many agile project management methodologies, these methodologies give teams the capacity to deal with uncertainty and the ability to be flexible with changing requirements. Because agile project management generally involves creating products in iterations, with the most valuable features first, it allows companies to deliver the essential parts of products to market quickly. Agile project management also allows teams to fail quickly, spending less time and money on efforts that will not work. Finally, by being people-focused, agile project management gives project teams a good working environment, encouraging people to do their best work.
 
* Agile Manifesto Copyright 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
This declaration may be freely copied in any form, but only in its entirety through this notice.

December 31, 2009

Having “Lean, Fast and Better” projects is the mantra of the agile methodologies. Almost all methodologies have their fan following, as well as their antiquated critics, and Agile is no exception to this rule. It is often compared with the waterfall model, as well as, other relatively new methodologies like Six Sigma, Extreme Programming and DSDM.

In simple words, Agile is a collection of core principles.
 
  • Ensure customer satisfaction by frequently delivering working software.
  • Use fully empowered, cross-functional and self-organizing, teams.
  • Use hi-fidelity communication preferably face-to-face to promote team collaboration.
  • Practice simplicity.
  • Use feedback loops and other continuous improvement principals to ensure the process stays self-correcting.
 
The basic principle of any agile methodology is to keep things simple and avoid un-necessary overhead. However, for any company, transitioning and successfully adopting a new methodology is easier said than done. Many companies are often stuck with questions such as:
 
  • Why agile?
  • Does agile compromise on quality?
  • Will agile work for me?
  • What benefits do I get by adopting agile?
  • Since the inception of agile, many companies ranging from a handful of employees to large multi-national corporations have reaped the benefits of adopting agile. In this article, we discuss the top 5 reasons why companies choose agile methodologies over other approaches.
 
1. Faster Time to Market
 
Getting your product to market as fast as possible is amongst any company’s top goals when conceptualizing a product. It is also a driving reason to follow any project management methodology. A shorter time to market helps get ‘early mover’ advantage for your product, as well as, help recover ROI faster.
 
Simple reasons explain why agile offers a faster time to market as compared to other methodologies:
 
  • The Agile Principle of Simplicity enables development to start earlier and thus provide value earlier.
  • Potentially shippable product is delivered after every iteration (which typically spans less than a month), with product evolving incrementally over the course of multiple iterations. This allows management to give early access to a beta or trial version to generate buzz in the market and get early feedback. Agile teams have short feedback cycles which start much earlier during the project than with other methodologies.
  • The most valuable product features make up early project iterations; which provides greater customer value on initial releases and lowers the overall risk of the project.
 
Many companies have demonstrated that agile can reduce time to market by as much as 30% - 40%.
 
2. Greater Savings
 
Agile reduces project ‘wastes’ and helps ensure that tasks done in the project add value. Agile reduces costs by streamlining processes to attain savings of 30% – 70% over a project following traditional methodologies, such as Waterfall. The following key factors of agile help reduce projects costs for agile organizations.
 
  • Organizations obtain higher productivity and efficiency by reducing superfluous processes, such as detailing requirements which are never developed; extra features (rarely used or wish list features); task switching (switching resources across multiple projects and tasks which results in a loss of flow); and most importantly, testing and customer feedback phases.
  • The minimal overhead approaches of agile, such as ‘lean flow’, translates into indirect savings.
  • Agile offers in-flight return on investment which translates into greater overall project savings. In some cases, companies can break even with an early release to market while future features are still under development.
 
3. Greater Flexibility to Mid-Stream Changes in Market Conditions
 
With agile, it is a lot cheaper to introduce changes late in the project. Some reasons for this are incremental development, the unique qualities of user stories, and continuous quality assurance. As such, Agile has a lower cost of change curve as compared to most traditional methodologies. The following key factors of agile enable greater flexibility to mid-stream changes in market conditions:
 
  • Since iterations are short, a change in market conditions can be more quickly adapted by subsequent iterations.
  • User stories (requirements) do not need to be rigorously ordered, thus lowering the impact of mid-stream changes.
  • Test automation and continuous integration help ensure high quality even with late stage changes.
 
4. Reduced Defects
 
Agile projects have much lower late stage defects than projects following traditional methodologies. The following reasons account for the reduction of defects using agile:
 
  • Test automation and continuous integration help to identify defects before they are incorporated into the core code.
  • Defects are identified and fixed during an iteration- as no story is considered to be complete until it has zero critical defects.
  • Critical defects are caught early in the project and the test automation safety net helps ensure that once fixed, they do not creep up in later iterations.
 
5. Greater Transparency
 
The agile methodology is a true advocate for greater transparency amongst stakeholders in a project. The following key factors illustrate how agile emphasizes transparency for a project:
 
  • Daily team status is provided during the Daily Huddle.
  • Delivery of shippable product at the end of each iteration ensures hidden problems, such as integration, are exposed early and frequently.
  • Relevant information is provided throughout the project so executives are able to take action early to ensure project success.
 
There are millions of agile success stories to report about. We hope Platinum Edge can help your company be the next one.