Skip to main content

Tag: Agile

Striking an Agile Balance when Evaluating Project Requests

balanceIt’s the classic Catch-22. If your organization does not spend sufficient time evaluating requests before projects are formally authorized or executed, predictability of project outcomes decreases. 

On the other hand, time spent in evaluating requests (especially for those that will never be approved) is often perceived as an opportunity cost. The skills needed to perform the evaluation are likely the same skills needed to staff key projects.

No one contends that we should not expend effort in evaluating project requests prior to their approval.  Even organizations that only use the “squeaky wheel gets the grease” process for project selection and prioritization will usually expend a minimum amount of effort to ensure that truly insane concepts don’t get furthered. 

The dilemma is to know whether the effort being spent results in a cost justifiable improvement in project predictability.  This is where measurement and agile techniques can help.

Measurement begins with capturing effort spent on project request analysis and evaluation activities separately from other time reporting “buckets”.  This is not a normal non-project activity category in most organization’s time reporting systems, and there should be clear guidelines on its usage. Ideally, it should be used to capture any effort spent on project request analysis from the point of initial submission tol the point of official approval (at which time further effort spent against the project would be considered part of the cost of that project).  This effort should be reported to governance bodies at quarterly or semi-annual intervals and can help to tune your work intake processes.

Checklists or other such tools can improve the efficiency of processing requests and can improve the consistency of the assessment projects.  For certain types of projects, commercial estimation tools can accelerate the process of coming up with ballpark costs using either parametric or analogous estimation methods.

However, agile principles can best guide us to avoid wasting unnecessary effort on detailed planning, especially when there is a significant potential for requirements or scope flux. 

Project requests should be able to demonstrate the delivery of business value in a phased or iterative approach as opposed to the traditional “big bang”.  This can reduce the organization’s sunk cost in low value projects and will help to increase the realism or accuracy of business cases. 

Assuming a phased value delivery approach, request evaluation can focus on the first couple of iterations. If a project does not merit funding based on those, there is a high likelihood that it would not benefit the organization after its final iteration.  This sounds like classic “short term” thinking, but it avoids “Holy Grail” quests that consume tremendous resources but return very little when they are finally over.

Analysis of project requests to support “go/no-go” decisions is not free, but through regular effort measurement and by the appropriate application of agile principles, the value achieved through better project selection and prioritization can justify its costs.

Don’t forget to leave your comments below

Who Should Model Requirements? Business Analysts or Project Managers?

During a recent client visit I encouraged the use of modeling as a way to uncover hidden requirements and expectations. One of my clients expressed her rather strong opinion that modeling requirements was not and should not be a part of business analysis work. Oh, she could accept the fact that uncovering gaps between the “as-is” and “to-be” using process models made some sense, but she was adamant that this gap analysis should be done by a business SME, not by a business analyst (BA). As to data modeling, well that was technical in nature and if done at all, she said, it should be done by the technical IT staff. Use cases were helpful to the testing staff, but were clearly technical and were not to be done by BAs. Prototyping? This should be done by developers-no question about that one!

I was surprised at this reaction, which was expressed so emphatically. Perhaps she had no experience modeling requirements and felt insecure about her ability to do so. Perhaps she assumed that the norm for her organization was the norm for the industry. Perhaps she thought that models were truly technical in nature. Perhaps the line in the sand between business analysis and design was clear in her mind and modeling of requirements went into the technical bucket. Perhaps she thought that “solution” requirements (functional and non-functional) had no place in business analysis.

Is the real answer the consultant’s mantra “it depends?” In this instance I’m not convinced that it is. It seems to me that business analysis has to be concerned with what affects the business. If we’re creating a new web page or modifying one, we want to be sure that the navigation makes business sense (process modeling), that the information on the page is flexible and correct (data modeling), that how our customers interact with the website works for them (use case modeling). And I know that when we show people pictures, we uncover requirements that they would never have thought of.

Do these models have to be completed by a BA? No, they don’t. They can be performed by anyone in the organization who has knowledge of and experience in creating these documents. Having just said that anyone can model requirements, however, I’m now going to go out on a limb and make the case that BAs are best suited to model them. Here’s why:

  1. Modeling is a great way to uncover expectations-those unarticulated requirements that are rarely revealed at the beginning of business analysis, if at all. One of the advantages of modeling is that it provides a structure that encourages questions. Business analysts are in the best position to understand this structure and ask questions of the business subject matter experts (SME)s. They also are in the best position to interpret the answers and understand the impacts of responses they receive. Also, BAs generally recognize the importance of asking a variety of questions from multiple perspectives. Creating different models (business process, data, use case, low-tech prototypes) provide these different viewpoints (more about which in a future blog).
  2. Being consultants and liaisons, BAs are in a unique position to understand the business and to translate the requirements into something the designers can design and the builders can build. They can also translate the technical design back into something the business clients can understand and approve.
  3. BAs who can model requirements will almost certainly see gaps that jump out at them, screaming to be addressed. BAs, it seems to me, are uniquely qualified to address these gaps in a way that serves the business and makes sense technically.
  4. BAs are probably more likely than technical staff to go to the business to get questions answered. At the risk of gross generalizations, technical people may have a tendency to answer the questions themselves, without getting input from those who will be most affected-the business users.

My advice is to recognize that business modeling is best done during the business analysis phase(s) of a project and is best done be those who understand their importance in eliciting requirements.

Don’t forget to leave your comments below

Top 10 Project Management Trends for 2010

top10The key theme for 2010 is metrics, metrics and more metrics. As organizations switch their focus from surviving to demonstrating business value, metrics will play an increasingly important role in keeping management informed about project performance and its impact on the bottom line and customer service. A global panel of consultants and senior executives assembled by ESI in November identified the following trends.

The Implementation of New PPM Solutions Will Soar

Program and project managers, under pressure from senior management to demonstrate project portfolio performance and its impact on the enterprise, will make the pitch for – and win – resources to implement project portfolio management solutions. This will provide the fact-based decision-making senior management needs.

Reliance on Requirements Metrics to Measure Performance Will Increase

In 2009 our experts predicted a greater role for requirements management and development, also known as business analysis. Reliance on RMD to determine metrics to track project performance will increase in 2010, helping to quantify organizational performance improvement for management.

Senior Executives Will Embrace the Value of Project and Program Governance

To facilitate improved organizational performance, project and program governance will be embraced from executive management to the project managers. This will help performance by ensuring the portfolio, programs and projects align with organizational resources and goals across the enterprise.

PMOs Will Go to the Next Level with BA Centers of Excellence

During the previous decade we saw the number of PMOs and their positive business impact increase significantly. PMOs will use this position of strength as a jumping-off point to establish business analysis centers of excellence, either within the PMO or alongside it to further improve project outcomes.

Demand for Agile Project Metrics Will Increase

With the increased use of Agile project management approaches, including the various implementations of Agile methods (e.g., Scrum), senior management will demand quality metrics that clearly demonstrate the value of Agile over other PM approaches for specific projects, as well as Agile’s impact on the achievement of organizational objectives.

Vendor Management and Program Outsourcing Will Move Front and Center

The trend of outsourcing will leap forward in 2010 as organizations continue to look to do more without permanent increases in staffing and other resources. Thought leading organizations will use project management principles to guide their contracting and outsourcing processes, leveraging project managers’ skills and knowledge in schedule, risk, requirements and quality management to remove gray areas and hold the contractor’s “feet to the fire.”

Risk Management Will Become a PM Obsession

The greater emphasis on financial risk management will trickle through to other parts of the enterprise where risk assessment principles can be used to drive performance. This will lead to an increased focus on PM risk assessment with an emphasis at the program as well as the portfolio level. Organizations will seek a clear delineation between systemic and non-systemic risks; the determination and management of risk factors that could jeopardize success; and dependencies between program and portfolio components.

Crisis Environments Will Leverage Project Portfolio Principles for Better Outcomes

War zones, global pandemics and natural disasters will continue to present new challenges for non-governmental organizations and governments worldwide as they seek to do more with limited resources. Project portfolio management principles will help ensure that the right projects are selected and achieve the desired outcome. PPM will serve double duty in helping to effectively measure and communicate progress to donors and taxpayers.

PM Learning Measurement Will No Longer be a “Nice to Have”

In 2009, many organizations implemented first-time learning initiatives focused on project management maturity as a way to jump ahead of the competition. These forward looking organizations required programs be based on insightful pre-assessments that drove the design of learning programs, along with ways to assess progress and demonstrate performance improvement. 2010 will see an unprecedented increase in organizations using assessments to pinpoint their PM learning needs, track progress and identify the ROI senior management is looking for in this critical investment.

PM Learning Will Push out of the Classroom

To improve PM learning retention rates, and keep employees on-the-job as they learn, organizations will seek to leverage recent technological advances that help adults learn outside of the traditional classroom. This will be achieved via a range of learning modalities such as “burst” learning that focuses on a particular skill area for two to four hours, on-demand reference tools, electronic performance systems, job-aids and increases in formal coaching.

While 2008 and 2009 weren’t easy, PM professionals got a rare opportunity to demonstrate their value, and the value of a systematic project management approach, under extreme pressure. This is why wise senior managers continue to invest in increasing their organization’s PM skills and capacity. They want to ensure success of projects essential to producing great products, improving customer satisfaction and driving revenue and profit growth.

Don’t forget to leave your comments below


J. LeRoy Ward, PMP, PgMP, Executive Vice President, Product Strategy & Management, ESI International (www.esi-intl.com) brings more than 33 years of expertise in project and program management to the refinement of ESI’s portfolio of learning programs. He works closely with ESI clients worldwide to guide the assessment, implementation and reinforcement of knowledge and skills that provide for the effective measurement and successful adoption of learning program objectives.

The “Ideal” Iteration Length Revealed…

As agile project management methods are becoming more widely adopted in companies around the world, many of those companies struggle with one of the most basic decisions when starting iterative incremental project approaches: what is the ideal iteration length to use? Let’s see if we can tackle that question.

Definitions

First off, for those of you new to agile management concepts, an iteration is a defined timebox during which a portion of a solution is worked upon. There is a lot of misuse of this term, as many people mix up the terms iteration and increment.

Strictly defined, an iteration is a timebox used in an iterative project model. In an iterative model, a whole solution is developed over the course of a project, with snapshot views of “work in progress” being presented to the sponsor and/or stakeholders for feedback at the end of each timebox cycle, called an iteration. In this model, the solution is not completed and fully tested until the end of the project.

In an incremental project model, the aspects (features) of a solution are prioritized and are completed in order of priority. Each increment is a timebox during which a selected group of features are completed and fully tested. Under incremental approaches, there is no work in progress at the end of any increment. Instead, each timebox adds more complete, working features to the ones already developed, growing the completed solution over time.

Agile methods combine both iterative and incremental approaches. As such, a timebox in agile (also called an iteration) defines a cycle during which an increment of functionality is completed. Yet agile tends to have a broader view of the solution than pure incremental methods (more about that in a future article).

Standard Iteration Lengths

There is no consensus in the agile community on the ideal iteration length. The Scrum method suggests 3-4 weeks as an iteration length, while eXtreme Programming and Feature-Driven Development suggest 1-2 weeks.

When choosing a standard iteration length, you should consider your team’s maturity with agile methods. Generally speaking, teams new to agile should probably start with iterations on the longer side, and then choose shorter iterations as their expertise with the new methods improves.

That being said, the shorter the iteration length, the more a team needs to rely on automated tools to help with project work. In software development projects, this means automated build and automated testing tools, primarily. This is especially important in later iterations in the project, where there is a growing list of new features that need to be regression tested every iteration – eventually, they can’t be fully regression tested by hand in the available time.

Another factor to consider is the value that can be received through shorter versus longer iteration lengths. If you have limited opportunities to meet up with the sponsor and stakeholders to make end-of-iteration demonstrations and capture resulting feedback, then perhaps a longer length might be more realistic. On the other hand, if your sponsor is very concerned about eliminating risk in the project or if you want to build trust by showing rapid delivery of value in the early stages of a project, then perhaps shorter iterations are in order. You need to think about how you can optimize your delivery of business value through your iteration length. Business value is often measured in dollars, but it can also include other elements like strengthening relationships, risk reduction, improvements in service levels, rapid learning, and many more factors.

Variable Iteration Lengths

Having a defined iteration length for your project that does not vary helps the team “get into the groove” or adjust to the cadence/rhythm of working under, within a particular timebox. This iteration cadence is important in helping the team optimize their internal processes as the project proceeds through its multiple iterations. As well, it helps the team perform at higher levels, as the members can estimate more accurately and build more accurate plans.

There is a case, however, for occasionally varying iteration lengths within a project. While this can be a controversial position with some purists, it bears closer examination. In rare circumstances, it may make sense to break the cadence of the team to include a longer or shorter iteration for specific business reasons. Perhaps you have one large piece of work that cannot meaningfully be broken down into pieces small enough to fit into a single iteration. For example, if your project is to install and configure/customize some complex packaged software, perhaps the first iteration is to perform the base install, while future iterations are devoted to the customization of that package. In this case, the first iteration could be 3-4 weeks to get the base infrastructure set up and working, while future work could be a series of 2-week customization iterations. In another example, you may have standardized on 3-week iterations throughout a project to develop a new product, but then switch to a short series of 2-week iterations to rapidly adapt to feedback from key customers once the project has reached a critical mass of functionality, or after it has been announced at a key industry trade show. In both of these cases, there is a specific business benefit to varying the iteration length – though I am careful to point out that I am not suggesting that you vary the length of each iteration; what I am proposing is that there may be business value in switching iteration lengths during a project.

Please note, however, that switching iteration lengths does not come without cost. As mentioned before, you will likely break the cadence of the team, possibly reducing their performance slightly until they adjust to the new rhythm. Also, you’ll have to be careful with how you are tracking and forecasting using velocity, as the metrics will recalibrate as the iteration lengths change. You may not be able to reliably compare pre-change metrics with post-change metrics, at least not without detailed explanations and careful consideration.

Conclusion

Ultimately, there is no ideal answer to the iteration length question. What is important is that you choose a length that is suited to your team, the technology available, and the project context, and the business case. While you may start with a default iteration length for your organization, it is wise to consider all of the above factors and adjust that default length if it will help optimize your project, while still respecting overall organizational objectives.

Don’t forget to leave your comments below.

Slaying the Dragon: Oldies but Goodies in an Agile World

Attending the PMI Global Congress a couple of weeks ago reminded me that good ideas have staying power. There were several presentations on managing agile projects. As I listened, I was reminded of some of my past projects. Here are a few principles that have always worked for me and that can apply to agile projects.

Divide and Conquer

When I was first promoted to project manager, I was given a large new project to tackle. One of my colleagues told me that he was glad I was assigned the project. He said that he dreaded hearing of a new initiative, because he imagined a large dragon with its head peeking around the cubicle wall. I loved being a dragon slayer. I took that fire-breathing beast and cut it into several pieces, which we prioritized and completed more or less successfully. The “less” had more to do with not getting input from enough business subject matter experts, but the principle of breaking a large project into smaller chunks worked wonderfully.

The Project Management “what” vs. “how”

Deliverables have always counted more on my projects than activities and tasks. Deliverables focus on what needs to be done. Tasks provide actions – how each deliverable will be produced. In his Global Congress presentation, Why Agile Focuses on the Work-Breakdown-Structure and Frequent Communications, Clement J Goebel described the application of the Work Breakdown Structure (WBS) to the agile environment. I continue to believe that the deliverable WBS is one of the most useful concepts in the PMBOK, and I was delighted to hear how it applies to agile projects. As a project manager, I was the only one I knew who never used a Gantt chart. Sure I had activity lists, but each task was tied to a deliverable. A feature if you will.

Whose Project is it, anyhow?

I learned early in my project management career that trying to control scope was a losing battle – one I fought courageously, but never won. I learned that requirements, the basis of the project scope, needed to be prioritized by the business, not by me. On some agile projects features are prioritized by the role of the product owner, or business representative, not the acting project manager.

The Three “I’s.”

In the mid-90s I worked on a large project, one of the organization’s early “RAD” projects. RAD stood for Rapid Application Design/Development. We were trained by a consultant, who taught us the principle of the Three-I’s” – Iteration, Increment, and Involvement. We learned to do iterations, focusing on prototyping as a way to drive out requirements, although in all honesty, our iterations were more of a hybrid approach than is used today.  The increments were time boxes. Again, our time boxes were longer and looser than those today, but they certainly helped.

Perhaps the most important of the “I’s” was Involvement. We were fortunate, indeed, to have a full-time business expert move from her office in the merchandising department, where she was one of hundreds of buyers, to our IS area where our team was co-located. Her presence was invaluable to the project. Today we would probably call her the product owner, but we called her a BUC– Business User Coordinator.  She facilitated the requirements workshops, prototyping sessions, and user acceptance testing. As code was developed, she brought other client representatives into our area to show them prototypes and ensure they were on board with the new system. She participated in sponsor meetings, particularly when there was conflict between SMEs.

Our BUC worked in true partnership with the business analyst who ensured that the requirements were clear, that dependencies were taken into account, and that the design, code, and testing addressed the approved requirements. She also helped ensure that the interfacing systems and programs were completed, since there were many hundreds of programs that needed to be changed to accommodate the new system. There was virtually no conflict between these two roles. The term “collaborate” was not in our vernacular, but that’s exactly what they did.

Although the project was considered highly successful, one of the main missing ingredients had to do with me, the project manager. In retrospect, I should have spent more of my time removing obstacles (of which there were massive numbers) and let the team figure out how to get the project done. I should have worked for the team, instead of viewing the team as working for me.

Final thought. It seems to me that agile was built on some pretty solid principles, but these have been taken to a whole new level, vastly improving the software development process.

Don’t forget to leave your comments below