Posts Tagged ‘agile development’

cPrime Ranks among the Top 500 Fastest-Growing Private Companies on Inc. 500.

Thursday, August 26th, 2010

cPrime, a project management consulting, staffing and training firm continues to gain market share at an impressive rate, reporting a 693% growth over the last three years. cPrime provides specialized IT project management solutions for individual and enterprise companies across the Fortune 500. This accomplishment marks the second year in a row that cPrime has earned this honor.

Foster City, CA. August 25rd 2010 – cPrime, a project management consulting, staffing and training firm was recognized today on Inc. 500’s list of fastest growing private companies in the United States for 2010. This year, cPrime ranked #433 across the Inc 5000 annual ranking list, ranking 35th for the IT project management industry as a whole. Last year, cPrime was also recognized by Inc. 500, recording a growth of 1,054% over ther prior 3 year period. They continue to push through the constraints of a challenging economy and deliver portfolio, program and project management governance solutions, CIO Services, methodology implementations and thought leadership success across the IT Project Management space. cPrime shares this prestigious award with such notable alumni as Intuit, Zappos, Microsoft, Visa, Oracle and other many other inspirational companies.

For 2010, cPrime has a growth rate of 693% over the last 3 years, growing from three full-time employees in 2003 to forty eight employees in 2009, with total revenue exceeding $4.7 million. The growth is due to the rapid expansion of their project management practice supported by their prestigious training curriculum consisting of project management classes in Agile, PMP®, PgMP®, ITIL and CBAP®. They continue to serve as the single resource for all consulting, staffing and training engagements. cPrime services numerous fortune 500 companies across a wide variety of industries from retail and ecommerce to technology and government.

The recent growth has facilitated the opening of a Los Angeles Office and a national presence giving them the ability to bring their solutions to a substantially greater audience.

CEO, Zubin Irani explains, “To win this prestigious award is one that only a select few companies ever win, and for us to accomplish this great feat for the second year in a row speaks to the incredible commitment, passion and talent of everyone at cPrime”. He continues, “I’m proud of what we have accomplished as a team, and even more excited about all the great things I know we will accomplish together in the future”.

cPrime continues to specialize in IT project and program management services, giving them an edge over traditional companies who spread across numerous fields with a volume based solutions approach. They have recently become a major contributor of Scrum and Agile Development, assisting companies looking to make the transition into Agile and Scrum from traditional project management methodologies. The interest in Scrum and Agile methodologies is widespread among companies looking to adapt to today’s real-time demands. cPrime has established a national presence in the Agile space, and hopes to continue their run as the benchmark for success across the Agile project management lifecycle.

cPrime’s Project Management Training Center has quickly made its way to becoming the Premier Training Center for IT Professionals and the leader in Agile and Scrum training with more students certified in Scrum than any other company in California. They provide popular project management certification training courses for public and private sector to include the Project Management Professional (PMP) Exam Preparation (PMP) course and the Certified ScrumMaster (CSM) course. cPrime is one of the few training providers in the country that is a Registered Education Provider for both the Scrum Alliance and Project Management Institute. Professionals looking to certify their project management experience and knowledge take these courses to stay at the forefront of project management and stand out by delivering excellence in project management.

cPrime’s consulting engagements consist of portfolio, program and project management solutions for fortune 500 companies. Their consultants have an average of 15 years of industry experience and have successfully delivered complex projects from Fortune 500 Companies to start-ups and small businesses. By leveraging their consultants, a well stocked bench of readily available candidates and hand picked partners, cPrime consulting is able to provide turn-key CIO Services. From one consultant to an entire development team, cPrime’s personnel solutions are geared for total project success.

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

Tuesday, July 20th, 2010

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.

cPrime Launches New Agile Development & Scrum Project Management Courses

Tuesday, May 11th, 2010

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.

# # #

How Uncertainty Works

Thursday, February 18th, 2010

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.