cPrime becomes a Leading Provider of Agile implementations and Agile training courses.

July 20th, 2010 by

cPrime’s Enterprise Agile Consulting Services and Agile Training Courses develop as interest for Agile methodology, transitioning and resources grows.

Foster City, CA July 20th 2010 – cPrime Inc., a Project Management Services Company on the cutting edge of Agile implementations, today announced the launch of a new Agile Development Training Course. cPrime has noticeably become one of the leading providers of agile implementations with the growth of their Enterprise Agile Consulting Services. cPrime makes customized Agile training and coaching available to enterprise companies onsite and on-demand. The new Managing Requirements in Scrum Course will supplement cPrime’s Enterprise Agile Development Course and will serve as the latest comprehensive addition to their full curriculum of Agile and Scrum Development Courses.

Enterprise companies have a growing interest in Agile and Scrum methodologies, which has made cPrime an enormous resource for Agile implementations. cPrime’s Enterprise Agile Consulting services help guide and implement company teams in their transition from legacy SDLC to Agile. Today, with cPrime’s launch of their customized enterprise agile training courses, large company teams get access to expert coaching and mentoring as they journey through their agile implementation, but individual Product Managers, Product Owners, and ScrumMasters can also access the resources they need to implement Agile across many industries.

cPrime provides full life-cycle Agile implementations which are customized for each unique project needs. They have recently begun transitioning gaming companies to Kanban, another framework from the Agile methodology and especially helpful in game development.

cPrime’s Enterprise Agile Development Course provides an extended knowledge of Scrum to a level where project managers can create, manage, and execute a Scrum process for software development. Professionals will have the chance to work through a hands-on simulation of a complete Scrum project, from start to finish, and be ready to launch a Scrum project at their own company. cPrime then offers a more advanced Agile Course, Managing Requirements in Scrum, which is tailored for Project managers, Product Owners, and ScrumMasters already working with Agile projects. The course is a mixture of lecture and hands-on practice which demonstrates how to understand, generate, and plan the requirements on a Scrum project.

The desire for fewer failures and speedier success is driving the rapid adoption of the Scrum process framework, and the increasing need for trained people who can make agile projects successful. Scrum is designed from the start to improve responsiveness to customer needs, reduce waste, and reduce time to market.

The attention is undeniable and cPrime has taken full advantage of the interest by introducing a full curriculum of Agile Development Training Courses and becoming a key contributor of Agile development resources for companies and individuals. cPrime recently released footage of their Sr. Enterprise Agile Consultant, Dr. Kevin Thompson, who compares and contrasts Agile and Waterfall methodologies to a group of Project Managers. The video has had tremendous attention since its release and cPrime only plans to release more informational videos, tutorials and free classes as the interest for Agile Development grows.

The video, Agile, Waterfall & Uncertainty in Project Management, addresses the claim that an agile development processes, such as scrum, are more likely to be successful than traditional waterfall projects. Dr. Kevin Thompson verifies the assertion by performing a simple mathematical analysis of waterfall and agile projects. He models agile and waterfall projects that have identical requirements and shows how they fare when subjected to the same set of unanticipated problems. The results show that the agile project provides clear benefits for Return-on-Investment and risk reduction compared to the plan-driven, waterfall, project.

cPrime has taken advantage of the Agile methodology enthusiasm and plans continue to develop more Agile courses and valuable resources for Project Managers and companies excited about the methodology.

About cPrime:
cPrime is a project management consulting, staffing and training services company on the front lines of technology and methodology.
cPrime is on the cutting edge of Agile implementations. Their Agile Project Management engagements help clients adopt Scrum and other Agile practices within the larger program management ecosystem. To learn more about Agile and Scrum please visit cPrime’s Scrum and Agile fact page.

Agile | Waterfall & Uncertainty in Project Management | Dr. Kevin Thompson - cPrime

June 16th, 2010 by

In these series of videos, Dr. Kevin Thompson compares and contrasts Agile projects with Waterfall projects and shows the affects of each when facing uncertainty. Kevin conducts a methodology experiment and shows why Agile projects succeed when others fail.

How Uncertainty Works

All estimates are subject to uncertainty, and project schedules are no exception. A schedule consists of a set of tasks, which are executed at times dictated by dependencies and resources. The simplest schedule, consists of a set of tasks that are executed one after the other.

The schedule for a project contains uncertainty because the estimated effort or duration of each task has some uncertainty associated with it. We would really like to know exactly how long a task will take. If we can’t know that, we would at least like to know how much uncertainty is associated with the task. Unfortunately, we will never know the first, and usually will never know the second, either. (The exception to the latter rule is for tasks that are repeated, identically, enough times for us to collect meaningful statistics about them.) Read the entire article.

Please Watch Parts 2 Through 5 Below:

 

To learn more about agile, development or Scrum, please visit us at:
http://www.cprime.com/training

cPrime Inc., a leader in Project Management Staffing expands to Los Angeles.

June 3rd, 2010 by

cPrime Inc., a project management Consulting, Staffing and Training Services company, announces the launch of a new office in Los Angeles.

Foster City, CA May 25th 2010 – cPrime Inc., a Project Management and Agile Consulting, Staffing and Training Services company, headquartered in the San Francisco Bay Area, announced the opening of a new Los Angeles office on June 1st, 2010. New opportunities in the IT space have paved the way for cPrime to transplant their success to a new lucrative Southern California market. cPrime’s rigorous recruiting process gives them the competitive advantage to build and stock a bench of quality IT professionals. cPrime will continue to provide individual and team-based resources for projects at every stage in the life cycle.

The L.A. office will be headed by Kimberly Yang, Vice President of cPrime. Yang has 10 years experience in the IT field and has been acknowledged for her outstanding performance at top IT staffing companies such as TEKsystems, Robert Half International and Kforce. As Managing Director at Kforce, she played a pivotal role of growing and developing new IT staffing offices and leading her staffing teams to pinnacle accounts such as DirecTV, Wilshire Media Group, Farmers Insurance, CBS Radio and NBC Universal. Yang will spearhead the strategic relationship development efforts across the IT space.

Yang is excited to be a part of cPrime, explaining, “A general rule of thumb for me is to constantly surround myself with people smarter, more capable and more driven – the only formula to make oneself better.  I have done just that by joining cPrime.  A firm consisting of visionaries filled with passion, intelligence and intensity is a firm that I wanted to be a part of.”

cPrime Inc. was formed in 2003 by a small group of IT project managers in the Bay Area. All were driven by a shared passion for project management and what they felt was a lack of understanding in the IT field about what makes a great project manager.

cPrime Inc., has proved itself as a leader in Project Management Consulting and Staffing by working with Fortune 1000 companies such as eBay Inc., Electronic Arts Inc., NetApp Inc., Williams-Sonoma Inc., DirecTV, Toyota Motor Corp. According to Inc 500, cPrime is ranked as one of the top 500 fastest growing companies in America, ranking 4th for fastest growing companies in Silicon Valley and 6th for the S.F. Bay Area in 2009.

As they continue to transplant their success from the S.F. Bay Area, they will strive to build another full service Consulting, Staffing and Training Practice in the greater Los Angeles Area. The cPrime expansion will focus on deploying the right cultural fit with the right blend of social and technical expertise that is required in today’s market. cPrime enables organizations to align their strategic goals and strategies to bottom line results.

cPrime Launches New Agile Development & Scrum Project Management Courses

May 11th, 2010 by

cPrime Inc., a leader in Project Management and IT Certification training courses continues to develop and provide new courses in Scrum and Agile Methodologies.

Foster City, CA, (PRWEB) May 11, 2010 — cPrime declares the expansion of its project management curriculum by introducing two new courses, the Certified Product Owner Training Course (CSPO) and the Certified Scrum Developer Training Course (CSD) targeting Project Managers, Program Developers, and Certified Scrum Masters who are looking to continue to build their knowledge and ability in agile project management and scrum methodologies. These courses provide PM professionals with novel and modern methodologies of Agile and Scrum project development along with earning Professional Development Units (PDUs).

Education. Consulting. Leading
Education. Consulting. Leading

Development Teams, Product Managers, Project Managers as well as well as customers and vendors will benefit from professionals using Agile development and the Scrum framework. Some of the many benefits include; reducing non-productive work, high project visibility, and making the alignment between development work and customer needs an easy goal by providing frequent opportunities to re-prioritize work.

cPrime is proud to comprise only the most outstanding professors with the most sought after talent teaching it’s Project Management courses.

The Certified Product Owner training course offers an interactive curriculum from cPrime’s Certified Agile Coach, Roger Brown, who provides training, consulting and coaching services in Agile software development areas including Scrum project management, and enterprise agile adoption. Brown is one of four people in the world to hold all certificates granted by the Scrum Alliance including Certified Scrum Trainer and Certified Scrum Coach.

The Scrum Developer Certification Course provides technical practices for extreme programming. Scrum’s Incremental-iterative approach to software development requires development teams to find, learn, and implement solid technical practices. In recognition of this, the Scrum Alliance has created the Certified Scrum Developer program. cPrime’s CSD course is the first to meet the Scrum Alliance requirements for training in support of the CSD rating. cPrime’s CSD course is taught by Ron Jefferies, one of the original authors of the Agile Manifesto and has been involved with Scrum, Extreme Programming, and Agile for over ten years.

Zubin Irani, CEO of cPrime explains, “cPrime is proud to comprise only the most outstanding professors with the most sought after talent teaching it’s Project Management courses. This way, cPrime ensures every professional taking our courses are learning only the best practices for their Project management needs”.
A list of courses, detailed course descriptions, and registration information is available at www.cprime.com/training

About cPrime:
cPrime is a project management consulting, staffing and training services company on the front lines of technology and methodology. Our consulting engagements help clients transform the way they deliver projects giving them the critical ability to meet the pace and quality required in today’s market. Our comprehensive life cycle services provide end-to-end processes that increase your project success rate while establishing project governance across the enterprise. From audits and assessments to advanced methodology implementations, our leadership teams mentor organizations through Agile Development and methodology shifts. Our customized training solutions are structured to provide the understanding, preparation, and real world experience to help organizations and individuals achieve industry recognized certifications, earn professional development units (PDUs) and advance their career.

# # #

cPrime Launches New Online PMP® Project Management Courses

April 6th, 2010 by

Targets Project Managers Seeking to Train and Prepare for PMP® Certification and Refresh on PMBOK® Concepts

Foster City, CA –March 31, 2010– cPrime, announces the expansion of its project management curriculum with online, self-paced courses that allow professionals to earn Professional Development Units (PDUs) and prepare for the Project Management Institute’s (PMI) Project Management Professional (PMP®) certification exam. cPrime is partnering with MindEdge, Inc., a leading online education provider and a PMI® Global Registered Education Provider, to offer these web-based courses.

Project management is one of a host of professions now offering online courses to accommodate time-constrained and cost-conscious professionals. Since courses are self-paced and 100% web-based, professionals can earn PDUs or prepare for the PMP® exam from the comfort of their own offices or homes with access to courses at any time, on any day.

With access to courses around the clock, professionals can progress through courses at their convenience and at their own pace. These project management courses include interactive exercises, real-world examples, case studies, quizzes, and practice exams to help learners apply PMBOK® Guide concepts. Learners can raise questions throughout the course with an “Ask the Expert” feature and will receive responses within 24 hours.

Participants who successfully complete our PMP® Exam Prep course earn 35 Professional Development Units (PDUs) and are well prepared for the certification exam. And for participants looking to maintain their PMP certification or looking to brush up on specific areas, cPrime offers a variety of courses that review PMBOK® Guide Knowledge concepts vital to a Project Manager’s training and qualifies learners for 3.5-35 PDUs.

According to Zubin Irani, CEO of cPrime, “This training program offers an easy and convenient way for professionals to train for the PMP® certification exam or refresh their knowledge and understanding of Project Management concepts. This new online program adds to the flexibility and savings in travel that many of our students seek and strengthens cPrime’s commitment to providing top quality Project Management training.”

A listing of courses, detailed course descriptions, and registration information is available at http://www.cprime.com/training/courses.html


About cPrime

cPrime is a project management consulting, staffing and training services company on the front lines of technology and methodology.  Our consulting engagements help clients transform the way they deliver projects giving them the critical ability to meet the pace and quality required in today’s market.  Our comprehensive life cycle services provide end-to-end processes that increase your project success rate while establishing project governance across the enterprise.  From audits and assessments to advanced methodology implementations, our leadership teams mentor organizations through Agile Development and methodology shifts.  Our customized training solutions are structured to provide the understanding, preparation, and real world experience to help organizations and individuals achieve industry recognized certifications, earn professional development units (PDUs) and advance their career.

cPrime Inc. Searching for a Scrum Trainer / Coach. Come Join Our Team!

March 18th, 2010 by

We are searching for a Scrum Trainer / Coach to join our team!

Minimum Relevant Yrs of exp:

* Minimum of 1-3 years of experience in Scrum Training and Coaching

Job Description (In Detail) :

• Graduate or post graduate with 1 to 3 years of experience in providing Scrum Training and Coaching
• Preferably Certified ScrumMaster
• Provide coaching support to project teams in terms of Sprint planning, estimations.
• Involved in helping Scrum Teams in analyzing requirements and breaking down into independent stories.
• Helping the teams in analyzing the Burndown charts, Burnup Charts etc
• Innovative ideas of mentoring the Scrum teams as per the Scrum Framework
• Facilitating Sprint Reviews and Sprint Retrospection

Required Behavioral Competencies:

• Ability to guide teams in matrix organization
• Proven ability to effectively communicate any process improvement matter to all levels of management
• Ability to independently lead Scrum related training
• Creativity and flexibility to face and resolve challenges
• Good presentation skills

About Us:

cPrime is the premier Project Management Training and Consulting company on the West Coast.

Training – We are a PMI® Registered Education Provider and provide comprehensive certification courses such as PMP and Certified Scrum Master, our most popular course, as well as Project and Program Management. In addition to providing training and consulting services around traditional PM frameworks and methodologies, we are a leading provider of Agile/Scrum Training, Coaching and Business Process Re-engineering.

Consulting – Whether you want to assess your readiness to undertake a project/program or assess the PMO organization internally and its external interactions with business units, we can help. We also provide guidance and coaching around Agile/Scrum

cPrime Inc, Launches Agile & Scrum Project Management eLearning Courses On-Demand.

March 3rd, 2010 by

cPrime Inc., a leader in Project Management and IT Certification training courses, announces the launch of new online, on-demand training courses in Scrum & Agile Methodologies.

Foster City, CA.  March 10, 2010 – cPrime Inc, announces a new online on-demand project management eLearning course for Agile & Scrum. Introduction to Scrum for Project Managers is an online project management training course designed to increase productivity while improving the predictability of software projects. The course is tailored for Project Managers, Program Managers, PMO Directors and staff who manage projects and processes.

Introduction to Scrum for Project Managers provides a unique combination of traditional class room teaching and online learning to give students a real-life training experience through pre-recorded and indexed instructional eLearning modules.
In addition to learning the Scrum Methodology, the course also provides 1 PDU of credit recognized by the Project Management Institute, (PMI®).

The desire for fewer failures and speedier success is driving the rapid adoption of the Scrum process framework. Scrum is designed to improve the responsiveness to customer needs by reducing waste and reducing time to market.

Interest in the Scrum process framework is exploding as companies discover that Scrum enables them to manage software projects with greater reliability and improve responsiveness to customers. This class introduces the skills that project managers and team leaders need to perform the basic steps of a Scrum process for software development.

IDC research indicates that 70+% of software development failures are due to poor gathering and management of requirements, while a 2008 study by QSMA Associates showed that projects organized for agile development deliver products 37% faster to market, with 16% greater productivity, than industry averages.

Course topics include instruction on the three Scrum roles, the three Scrum meetings and the three Scrum artifacts. Project managers and team leads learn the basic planning, tracking, and management skills. Product Managers learn how to develop and prioritize requirements and team members learn how to estimate and break down work.

Learning on-demand is the new convenient alternative to classroom learning. Classes can be taken globally as long as an internet connection is present. These courses adapt to the most demanding schedules and provide the skills required to make a Scrum project successful.

For additional information on the news that is the subject of this release (or for a sample, copy or demo), please call 650-931-1651 or visit http://www.cprime.com/training

About cPrime:
cPrime Inc, focuses on relevant project management and IT training courses for Project Managers, Program Managers and PMO directors. cPrime Inc, is a PMI® Registered Education Provider and provides the understanding, preparation, and real world experience to help you achieve industry recognized certifications, earn professional development units (PDUs) and advance your career.

Contact:

cPrime Inc,
650-931-1651
http://www.cprime.com

###

How Uncertainty Works

February 18th, 2010 by

by Kevin Thompson, Ph.D, PMP, CSP

How Uncertainty Works

All estimates are subject to uncertainty, and project schedules are no exception. A schedule consists of a set of tasks, which are executed at times dictated by dependencies and resources. The simplest schedule, consists of a set of tasks that are executed one after the other, and we’ll look more at this case below.

The schedule for a project contains uncertainty because the estimated effort or duration of each task has some uncertainty associated with it. We would really like to know exactly how long a task will take. If we can’t know that, we would at least like to know how much uncertainty is associated with the task. Unfortunately, we will never know the first, and usually will never know the second, either. (The exception to the latter rule is for tasks that are repeated, identically, enough times for us to collect meaningful statistics about them.)

In this article, we will look at uncertainty: Why it exists, how it behaves, how it accumulates, how to reduce it, and how to cope with it.

Why Uncertainty Exists

Suppose we are estimating the effort required to remodel a house. We will start by breaking down the project “Remodel House” into a few smaller steps, namely

  • Remodel Kitchen
  • Remodel Bedroom
  • Remodel Living Room

We want to estimate the effort required for each of these steps, such as “Remodel Bedroom.” Unfortunately, our estimate will not be exact. Estimates differ from reality because of uncertainties, which arise in many ways

Incomplete Understanding of Scope

We may not have accounted for all the requirements. Do we need to replace the baseboards? If we didn’t think about the baseboards, our concept of scope is missing an important element, and our estimate will not include the work to replace them.

Incomplete Understanding of Work per Scope

Perhaps we did include baseboard replacement in scope, but we assumed the effort involved was limited to nailing the new ones in position. Unfortunately, we didn’t account for the work required to measure and cut the baseboards to the right size, so even though the scope was right, the effort estimate will be too low.

Imperfect Understanding of Known Work

Even if we did remember all of the work that needs to be done for the baseboards, and estimate accordingly, our estimates may be off because some of the boards split when nailed. We will either have to replace those baseboards, or drill them to avoid splitting when we nail them. Either way, the work will increase beyond our estimate.

Inability to Forecast the Unexpected

What happens if the paint we need is out of stock, or someone delivers the wrong baseboards? These external events are unpredictable, and disrupt our schedule.

How Uncertainty Behaves

Most people have an intuitive feeling that tasks are more likely to require more effort than planned, rather than less. This feeling is correct, for two reasons.

First, we are likely to omit scope or tasks that contribute to the work, and so underestimate the effort. This is obvious, and we reviewed some examples above.

Second, there is more room, in a mathematical sense, for work to grow beyond expectation than to shrink below expectation. This may be less obvious, but think about the work required for Remodel Bedroom. Assume we estimate this work at three days. The actual time may be more than three days over this estimate, but cannot be more than three days under the estimate!

In mathematical terms, we cannot estimate a task as requiring “X plus or minus Y days,” because the estimate becomes meaningless if Y is greater than X.

What we can do is replace the concept of an increment of uncertainty with that of an uncertainty factor, F. This means that we think that X is the most likely duration, but the range of values is between X divided by F, and X times F.

For example, suppose we estimate “Paint Bedroom” at 3 days, with an uncertainty factor of 2.

  • The most likely case is 3 days.
  • The best case is 1.5 days, which is 1.5 days under the estimate.
  • The worst case is 6 days, which is 3 days over the estimate.

The real behavior of uncertainty is more complex than this simple model. (More sophisticated models rely on lognormal probability distributions and Monte Carlo methods.) However, our concept of an uncertainty factor is a convenient way to describe the most significant behavior of uncertainty, and we will continue with it.

How Uncertainty Accumulates

If errors were uniformly distributed above and below the expected values, they would tend to cancel out, on average, for a large set of tasks. As we’ll see, this is not the case.

Suppose we have a project containing 10 tasks, to be done one at a time, and each one is expected to take 10 working days. The naïve estimate for the project schedule is 100 working days for all tasks. The real schedule will deviate from the expectation, due to uncertainty.

Now we will assume that each task has an associated uncertainty factor of two. In the worst case, every task would take twice as long as expected, and the project would take 200 working days to complete.

The worst case isn’t very likely, so let’s consider a more typical case, where half of the tasks are under the estimate by the uncertainty factor, while half are over

The half that were under estimate take 5 days each (under by 5), while the half that are over estimate take 20 days (over by 15). The total time for all tasks is then 125 days.

Our typical case isn’t as bad as the worst case, but it exceeds the naïve schedule by 25% (25 days). This behavior is common, and it occurs because tasks can be over their estimates by more than they can be under. More realistic calculations, which rely on lognormal probability distributions instead of our simple uncertainty factor, are even more pessimistic. The long tail of the lognormal distribution has no upper bound, and tells us that some projects will never complete.

How to Reduce Uncertainty

While we cannot eliminate uncertainty when estimating work, we can take some steps to reduce it. One way to reduce uncertainty is to reduce the size of the thing to be estimated. The fewer the elements are that must be considered when producing an estimate, the more reliable the estimate is likely to be.

For example, the process of remodeling a bedroom contains a number of steps. If we estimate “Remodel Bedroom” directly, we may not think of all of the issues involved, and our estimate may be uncertain by a factor of three. Painting the bedroom, however, is a much smaller task, and has fewer elements that we may leave out of our estimate, so our estimate might be uncertain by a factor of two.

The obvious strategy for reducing uncertainty is to break large specifications or work items into smaller pieces. Thus we might break down “Remodel Bedroom” into four smaller tasks:

  • Remove old carpet
  • Paint room
  • Cut new carpet to fit
  • Install new carpet

Now we can produce an estimate for each of the smaller tasks. When we add these together, we will have an estimate for the bedroom remodeling, which is likely to be better than what we would have produced if we had not broken the work into smaller pieces.

The strategy of decreasing the “granularity” (size or level of detail) of items to be estimated improves accuracy, but has limitations. It can produce more items than we have the time to analyze, and thus delay the project completion. Also, there is no point in reducing the size below a level where the relative uncertainty does not improve. The important thing is to pick a granularity that (1) enables a tolerable level of uncertainty, and (2) produces a set of things to estimate that is small enough to be practical.

How to Cope with Uncertainty

Once we have reduced uncertainty to a practical minimum, the only other thing we can do is to take the remaining uncertainty into account in our process. We’ll look at strategies suited for projects that are subject to different kinds of constraints below. (For simplicity, we’ll assume that resources are fixed, since the ability to add resources does not vary in a meaningful way between the different scenarios. Similarly, we also assume that scope is well-enough controlled to prevent scope creep.)

Fixed Schedule, Fixed Scope

The first thing to understand about this set of constraints is that success is not always possible. If scope is truly fixed, and schedule is subject to uncertainty, then we have already seen that extreme cases will break any schedule.

These projects are planned with uncertainty in mind, by adding enough buffer time into the schedule to handle a reasonable level of uncertainty (for example, allocate 30% of the schedule for this purpose). This approach works well in situations where uncertainty is small, such as for repeating processes (e.g., laying carpet, or painting houses).

Fixed Schedule, Adjustable Scope

Many agile project-management frameworks handle uncertainty by committing to the only thing that can truly be controlled, which is the schedule, and adjusting the scope as required to meet the schedule. This strategy is particularly useful in high-uncertainty environments, where estimation is known to be inaccurate, and where scope is not well-understood and may change frequently.

The Scrum framework handles this situation effectively. It requires careful planning, but in a way that handles high uncertainty gracefully. Scrum projects work in short cycles to deliver modest increments of scope quickly, and to allow for frequent changes in scope and priority. Within each cycle, scope is adjusted as necessary in order to guarantee that the schedule is met.

No Schedule, Unknown Scope

Uncertainty is greatest when the scope is not known prior to the start of execution. This is the case for reactive organizations, such as Customer Support groups, which receive urgent requests that must be handled quickly, but which cannot be scheduled or planned in any meaningful way.

Another agile process, Kanban, is useful for this scenario. Kanban processes re-prioritize requests daily, and throttle (control) the flow of work by limiting simultaneous work-in-progress to a specified number (e.g., up to three concurrent requests can be handled by the staff).

Conclusion

Uncertainty cannot be eliminated by any estimation methods. It arises partly because of imperfect knowledge of what to do and how long it should take, and partly because of unpredictable events. The nature of task estimates is such that uncertainty biases deviations up, on average, relative to expected values. Again, on average, these upward biases accumulate even when as many tasks are under estimate as over, lengthening the schedule beyond the sum of expected task durations.

Reducing scope helps to reduce uncertainty, but only to a point. When uncertainty has been reduced as much as practical, the next step is to design the process to cope with uncertainty. We have reviewed three strategies for handling uncertainty:

  • For fixed-schedule and fixed-scope projects, add buffer time in the schedule. This works for low-uncertainty projects, especially those that repeat the same type of work many times.
  • For fixed-schedule projects, use an agile process such as Scrum, and adjust scope in a planned way to meet the schedule. This is an effective way to conduct a project when estimates are poor, and scope is poorly-defined and changes frequently, while still allowing for planning and a useful degree of predictability.
  • For unscheduled projects with unknown scope, uncertainty is very high, and planning is not possible. In this case, a strategy such as Kanban, which focuses on constraining work-in-progress, is effective.

Introduction to Scrum: Benefits and Practices

December 15th, 2009 by

by Kevin Thompson, Ph.D, PMP, CSP

Scrum is a lightweight agile process framework used primarily for managing software development. Scrum is

  • lightweight because it has few prescribed elements
    • Three roles: Team, Scrum Master (often a Project Manager), Product Owner (often a Product Manager)
    • Three meetings: Sprint Planning, Daily Scrum, Retrospective
    • Three artifacts: Product Backlog, Sprint Backlog, Burndown chart
  • agile because it maximizes responsiveness to changing customer needs
  • a process framework because it is not a process, but a collection of practices and concepts around which a process can be built

For those who are not already “doing Scrum,” the key question is not, “How does it work?” but, “What are the benefits?” This question does not have a unique answer, because it depends on who is asking. Benefits to developers, project managers, and salespeople are different.

This article identifies key benefits of Scrum, and the Scrum practices that produce them.

The Benefits of Scrum

Different stakeholders want different things from a software development process.

  • Developers want to write code, not documents.
  • Quality Assurance engineers want to create test plans that ensure product quality, and have high-quality code to test.
  • Project Managers want a process that is easy to plan, execute, and track.
  • Product Managers want features implemented quickly, with no bugs.
  • Services and Support personnel want to know exactly what is in all product releases, and have a reliable means to satisfy customer requests for bug fixes and enhancements.
  • Sales personnel want to know what is “in the pipeline” for future releases.
  • Customers want all of their feature requests and bug-fixes done quickly.
  • Executives, Program Managers, and PMO personnel want to know exactly what is happening, and what is planned to happen.
  • Everyone wants happy customers.

The list seems long, but the key points are few:

  • Team satisfaction and productivity are maximized when effort spent on non-deliverable items (e.g., internal documentation) is kept to a minimum.
  • Maximizing quality at each stage minimizes re-work at following stages, and maximizes product quality seen by customers.
  • Responsiveness is best achieved by fulfilling customer requests quickly.
  • Project status and plans should be visible to everyone who has an interest in them.

Thus the best real-world development process devotes as little effort as possible to artifacts the customer doesn’t value, provides relatively bug-free code at the start of testing, delivers all relevant information to everyone who needs it, and fulfills customer requests quickly.

It is no coincidence that Scrum was designed to satisfy these points.

How Scrum Provides its Benefits

The following sections describe how Scrum practices produce the desired benefits.

Team Satisfaction and Productivity

The “team” consists of the development and Quality Assurance engineers who do the hands-on work of creating a high-quality product. Team members generally find their greatest satisfaction when they can do work that is rewarding.

  • For developers, this means designing and writing computer software.
  • For QA engineers, this means defining the exact criteria for success through the test cases they develop.
  • For all team members, this means producing something they are proud of.

Productivity goes hand-in-hand with eliminating unnecessary work. Scrum addresses team satisfaction and productivity by emphasizing work that is valuable (as a deliverable) and rewarding (to the team), and de-emphasizing what is not (non-deliverable artifacts).

In practice, “non-deliverable artifacts” usually consist of internal documentation about product requirements and design, which customers do not see or value. Scrum projects do require some written documentation, but minimize it by relying as much as possible on real-time communication between people. Thus a Product Manager will write brief requirement descriptions (called “Stories”), and elaborate on the details as needed in discussions with team members.

The requirement for effective real-time communication means that one of the following must be true for all team members, Product Managers, and Project Managers (in order of decreasing desirability):

  1. All are in the same building
  2. All are in the same city
  3. All are in time zones that overlap at least four hours per day
  4. All are willing to spend hours per day outside normal working times (e.g., transoceanic teams).

The last three cases can only be made to work if real-time teleconference and Web-conference capabilities are available on demand.

Maximizing Quality

Teams implement Stories to the requirements, in a very literal sense: An implementation is not complete (a story is not “done”) unless it satisfies the requirements, as defined in the test cases. While test-driven development is not required for Scrum, test cases do define whether the requirements have been met, and no story is complete unless it passes all of its test cases. If bugs arise, developers fix them until the tests succeed.

This practice ensures that each Story implementation is bug-free, with respect to the requirements, at the time of its completion. It does not prevent regression bugs, so additional testing is necessary after all development is frozen. However, the quality of the product going into regression testing is higher than is the case for products going into the final test period for waterfall projects, and high quality ripples through all stages of the process.

Maximizing Responsiveness to Customers

Responsiveness means providing turnaround to customer requests in a manner that is consistent with customer priorities. Since instant turnaround is not possible, the next best thing is to respond quickly to high priorities, and less quickly to low priorities.

The only way to deliver any new feature or bug-fix quickly is to work in short development cycles, which is why the basic unit of Scrum development, the “Sprint,” is typically 2-4 weeks in length. Longer cycles, composed of two or more Sprints, are also common and often referred to as “Releases” (which is not a Scrum term).

Productivity and job satisfaction both require that people are productively employed, not sitting idle, which means that parallel work for team members is the norm. The two strategies for parallelizing work on a set of Stories are

  • Parallel work on serial Stories. The whole team collaborates on one Story, until completion, then begins work on the next.
  • Parallel work on parallel Stories. Each team member works on a different Story, until completion, then starts on another one.

Since Sprint lengths are “time boxed” (have rigidly-enforced durations), and unexpected problems can occur, it is often not possible to complete all work planned for a Sprint. For this reason, it is critically important that Story development be serialized as much as possible. This allows us to deliver, say, eight of ten planned Stories when only 80% of the expected work can be completed. In contrast, the parallel-Story strategy might produce no completed Stories at all in this case, and deliver zero value to customers.

The need to serialize Story development implies another important Scrum concept: Ranking. The set of Stories planned for a Sprint is called the Sprint Backlog, within which Stories are ranked (sequenced) for implementation. The Product Manager (say) is responsible for ranking the Stories, so that the most important ones are done first. (The Sprint Backlog is a subset of the larger Product Backlog, which contains all un-implemented requirements.)

The combination of short development cycles and ranking of requirements maximizes responsiveness to customer needs.

Providing Transparency

“Transparency” means that all steps, inputs, and outputs of the development process are visible-but to whom?

In the narrow sense, as typically described in books on Scrum, transparency applies to the internal membership of the team, the Scrum Master, and the Product Owner, as they need to know the status of the project every day. In this case, and for co-located teams, transparency may be provided by posting index cards or sticky notes with the current Story and task status, along with the current burndown chart, in a public location. The Scrum framework essentially guarantees this level of transparency.

(A “burndown chart” is a bar or line chart showing, each day, the amount of this Sprint’s planned work that remains to be done. The ideal progress is indicated by a diagonal line, trending down to zero on the last day, against which the actual state is compared.)

Transparency in the wider sense means that every stakeholder who has a need for project status information has immediate access it. “Status information” includes not only the status of the current Sprint, but the content of past Sprints or Releases, and the Product Backlog. The Scrum framework does not provide a standard practice to meet this need, but it provides excellent an excellent foundation for meeting it.

Transparency for stakeholders and distributed teams can be achieved via agile project-management applications (e.g., Rally or ScrumWorks), to which all team members and stakeholders are given access. These applications store all requirements and task definitions, track work status, and provide sophisticated reports. They enable distributed teams to collaborate, and allow stakeholders to query for the information they need, without adding a burden on the team or Scrum Master.

Conclusion

Scrum is designed to optimize team satisfaction and productivity, product quality, responsiveness to customers, and transparency for stakeholders. The key practices that enable these benefits include de-emphasizing work on non-deliverable items, implementing and finishing each Story in a Sprint Backlog in rank order, working in short Sprints of 2-4 weeks, and making past, present, and future project information available to all stakeholders.

cPrime #4 Fastest Growing Company in Silicon Valley!

October 26th, 2009 by

In August, we made it into the Inc. 500 fastest growing companies list. Now, we’re proud to be named one of the fastest growing companies by the Silicon Valley/San Jose Business Journal. In the annual FastPrivate rankings, cPrime Inc was named the #4 fastest growing private company in Silicon Valley!

You can see a special feature article about cPrime here!