Welcome!

The Project Management Institute (PMI) encourages its members to advance the profession. One of  the ways to do this is by helping others increase their project management skills. The target audiences for this blog are professional PM’s early in their careers as well as those who manage projects but are not PM’s by title or trade. I will be posting every week or so, offering practical tips and tools on the full range of project management topics. I hope you will find this useful and help you advance your career.

PMprocess

Requirements Elicitation Techniques Part 5 – Data Modeling

Planning

Data modeling is a complex topic. Becoming a professional data modeler takes months or years of education plus practical experience. It is not my intent to teach data modeling in this brief post, but to show how it is related to requirements elicitation.

I introduced some of the concepts of data modeling in Part 4 of this series, “Business Rules Analysis”. The relationships between entities are the business rules and they are fixed in the structure of the data. Examples of these rules are “A Customer lives at one or more Addresses” and “An Address may contain one or more Customers”.

Entities can be found in the nouns in your requirements. They are people, places and things about which the organization wishes to store data. In the example above, “Customer” and “Address” are entities and are therefore capitalized in the rules statements.

Attributes are the elemental pieces of data that are associated with each Entity. In the logical data model, each attribute must be stored with one and only one Entity. The logical data model represents the business Entities, Attributes and Relationships without regard to physical implementation.

The physical data model represents how the logical data model will be implemented in a relational database. Here are two examples of the differences between the logical and physical data models:

  • In the logical model, you can have “many to many” relationships as in the Customer / Address example above. In the physical model you cannot implement many-to-many relationships, so there would need to be an additional table to store each Customer / Address combination.
  • In the logical model,  Attributes belong to one and only one entity. In the physical model, attributes can be included in multiple entities due to inclusion on table keys or for performance reasons.

The data is an important part of requirements gathering. It is an important tool in Event Discovery, as you will ask data related questions such as “What does having this data allow you to do?” and “If I took this data away, what would it prevent you from doing?” Other Event Discovery questions are “What events cause this attribute to be added (or changed, or deleted)?”

I would recommend all Project Managers at least be able to read and understand an Entity-Relationship diagram.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Elicitation Techniques Part 4 – Business Rules Analysis

Planning

According to the IIBA (International Institute of Business Analysis), a business rule is a specific, actionable, testable directive that is under the control of an organization and supports a business policy. Business rules should be documented independently of how they will be enforced.

“Operative Rules” are intended to guide the actions of people. They are typically found in an organization’s Standard Operating Procedures Manual. For example “an order cannot be placed if the billing address provided by the customer does not match the address on file with the credit card provider”. It is always possible that associates will not always follow an Operative Rule. When you are doing a current system analysis, you may very well find documented rules that are handled differently in each location. By finding out the root cause of why a rule isn’t being followed, it could present a good opportunity to change the rule.

“Structural Rules” structure the knowledge of the organization and cannot be violated. For example “an order must have one and only one payment method”. This type of rule is usually enforced systemically. They can be uncovered during data analysis by constructing an Entity-Relationship diagram. The relationships between entities are the Business Structural Rules.

Other examples of Structural Rules:

  • A Product can be purchased by zero, one or many Customers.
  • A Sales Transaction contains one or more Products
  • A Discount can be applied to zero, one or more Products.
  • A Customer may Purchase zero, one or more Products.

The “zero” relationship is of special interest. It is useful for uncovering additional requirements. For example, in the example above “A Customer may purchase zero, one or more Products” you may ask “How can a Customer purchase zero products?”

The answer may be “A Customer might only apply for a Store Credit Card” or “A Customer may only wish to be added to an email list”. These answers would generate follow up questions regarding the scope of the project.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Kick The Field Goal! What American Football Can Teach Us About Project Management

With the NFL season about to begin I thought I would share a project management lesson I learned many years ago from, oddly enough, watching an NFL telecast. The color analyst was the legendary John Madden.

Team A was trailing Team B 21-0 but it was still early (mid second quarter). They were confronted with a 4th down and goal to go situation from the 5 yard line. Fans of Team A, concerned with the large deficit, were no doubt screaming for their team to go for the touchdown. This is when Madden made the point that resonated with me from a project management perspective:

“I would kick the field goal here. The longer you are at 0 points, the harder it becomes to move off of 0. Once you have points you have something to build on.”

There are those in the modern sports analytics field who might argue this but that is not the point of this post. Madden’s comment made me realize that the longer a project goes without delivering business value (known as the “Business Objectives” of the project), the harder it gets to deliver them. Some of the main reasons for this are:

  1. Business or IT Management and Stakeholders continue to propose grand ideas which significantly increase the scope without going through formal Scope Change Management.
  2. The Project lacks a Charter or Definition with sufficient detail, making “scope creep” hard to define.
  3. The Project is trying to deliver the Project Objectives all at once instead of a phased approach which can deliver some business value earlier.

I recommend having well defined Business and Project Objectives. Manage Scope jealously. Deliver at least some of the Business Value as early as possible and in phases.

The longer a project drags on without delivering something, the harder it gets to deliver anything. So”Kick the Field Goal”. Get off of “zero” as soon as possible. Your business and project (and your career) will be the better for it.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Elicitation Techniques Part 3 – Benchmarking

Planning

The technique of “Benchmarking” is sometimes used in the Requirements gathering process. You compare your company’s processes and performance metrics to industry best practices from other companies. The knowledge uncovered in these investigations can be used in process improvement initiatives or to solve thorny problems you encounter on your project. I have managed many projects where a typical question in a meeting is “What does Company X do in this case?”. “Company X” is typically the main competition for your company and is usually recognized as an industry leader in the area under study. You may or may not get “Company X” to speak with you on a particular topic, depending on the relationship and the level of competition.

Benchmarking can save a lot of time on a project by avoiding the “let’s reinvent the wheel” syndrome. If someone else has figured it out, why waste your own time? Now you may find their solution cannot be completely adapted to your specific situation but there are usually as least some pieces that can be used and be very valuable.

Benchmarking is a supplementary requirements technique. It will never be the only technique you use but can add important additional information to the requirements process. On every project you should at least ask yourself if Benchmarking can add value to the requirements process.

Note: Part 4 of this series will be published on September 12.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Elicitation Techniques Part 2 – Acceptance Criteria

Planning

If you search the Internet for “Acceptance Criteria” you will see definitions like this: “Acceptance Criteria are the conditions that a software product must satisfy to be accepted by a user, customer or external system.” There are no shades of grey, the condition either satisfies the criteria or not. There are no “90% satisfies”.

Acceptance Criteria should be established before development begins. The reason for this is that the criteria needs to guide the development. If you write them during or after the development, you will just be verifying what was built and not the customer intent.

Like all good business requirements, the criteria should be “what” not “how”. For example, you might state “Upon submission of the completed application a notification is sent to the Director”. You don’t want to state “Upon clicking ‘Submit’ an email is sent to the Director”. Avoiding implementation specifics opens up new possibilities for a design solution.

In many ways, the “Event/Response method” (see my prior posts on this topic) and “Acceptance Criteria” are very similar. With Event/Response, we document a triggering event, the data sent and who sends it, what we do with it, the outputs and who receives them. With Acceptance Criteria, many use the format “Given some precondition, when I do some action, I expect some result”. These are essentially the same things although Acceptance Criteria can be at a lower level (the Use Case and Functional Requirements level).

You do not approach your user or customer and ask “What are your acceptance criteria?”. This will mostly elicit blank stares. You will want to use other elicitation methods such as Event/Response and Use Cases, and derive the Acceptance Criteria from there. You can do this by prioritizing your requirements (e.g. “priority 1 = must have or cannot go live, priority 2 = can go live without it but must have within 1 month of go live, priority 3 = nice to have if it fits within the budget and schedule”). In this case, priority 1 requirements are the acceptance criteria for go live and priority 2 requirements are the acceptance criteria for project completion.

Some examples of Acceptance Criteria:

  • If I am a System Administrator, I can add, update or delete accounts.
  • I can search for users by last name and can enter a partial string and receive the results of all that qualify
  • I can filter my staff by availability for a given shift

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Elicitation Techniques Part 1 – Overview

Planning

In the previous series of posts I introduced my favorite requirements elicitation technique, “Business Event/Response”. Of course there are many other techniques which can act either as complementary to or in place of “Business Event/Response”. The techniques you choose depend on many factors including the type of project, knowledge depth of the Subject Matter Experts (SME), the availability of documentation, time constraints, etc.

A skilled Project Manager that is also a seasoned Business Analyst (BA) is a very valuable commodity. I encourage all PM’s to increase their BA ability by reading books, attending webinars and seminars, and putting their new knowledge to practice. There is no substitute for actual work experience in this realm.

Here are the topics I will address in this series of upcoming posts:

  • Part 1 – Overview
  • Part 2 – Acceptance Criteria
  • Part 3 – Benchmarking
  • Part 4 – Business Rules Analysis
  • Part 5 – Data Modeling
  • Part 6 – Document Analysis
  • Part 7 – Interviews
  • Part 8 – Non-functional Requirements
  • Part 9 – Observation
  • Part 10 – Prototyping
  • Part 11 – Root Cause Analysis
  • Part 12 – Surveys and Questionnaires
  • Part 13 – SWOT Analysis
  • Part 14 – Summary

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

It’s OK To Not Have A Five Year Plan

Have you ever encountered the dreaded “Where do you see yourself in five years?” question during a job interview? I would guess most of us have. There are not many great answers to this question. Many will sound like either you are already plotting to leave the job for which you are currently interviewing or you lack ambition.

I admire those who, at an early age, already know what they want to do and plot a course of action. I was not one of them. Even after college graduation, I wondered what I was good at and what type of work I could be happy with. Ultimately I settled on an approach of being ready for opportunity.

For those of you who don’t have a ready answer to the “Where do you see yourself in five years?” question, I offer the following guidance: Be the type of person that is ready for opportunity when it presents itself.

So how do you do that? Here is a blueprint:

  1. Do your current job, even one you don’t like, with diligence. Trust me, people will notice.
  2. Go beyond your current job description and take on some of the tasks associated with the next level which you wish to be promoted. Promotion becomes easy when you have already demonstrated your competence at that level.
  3. Make learning a lifetime habit. Take evening courses at your local community college. Read books. Search the internet for current best practices in your areas of interest. Listen to relevant career-oriented podcasts. Attend seminars. Work towards a certification. Spend your spare time wisely. Invest in yourself.
  4. Never be satisfied with how good of a job you are doing. Always be looking for better ways to accomplish your tasks. Document your processes and evolve them over time with new information. Share them with others.

So back to the original question “Where do you see yourself in five years?” I will leave the exact phrasing of the answer to you, but incorporate the concept of “I’m always ready for opportunity” with the blueprint steps noted above. If I were interviewing someone, that would be an answer that would impress me.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Analysis Using Event/Response And Use Cases – Final Summary

Planning

In the preceding posts, I gave you some guidance on how to execute the Event/Response methodology for scope and requirements analysis. In this last of the series of posts on this topic, I will take the 5,000 foot view and put it all together in a summary of steps.

  • Step 1 – Define the Business Objectives (the measurable benefits realized after implementation). These will be used to verify the scope and requirements.
  • Step 2 – Define the Project Objectives (the products, services and/or results delivered at project implementation). These will also be used to verify scope and requirements.
  • Step 3 – The Context Diagram. Look at the area under study as an outsourced business, with Suppliers (of data) and Customers (recipients of data/information/results).
  • Step 4 – The Event List. This represents your “business model”. You define all of the events that “wake up” your business and require a planned response. In the prior posts, I presented a variety of techniques for fleshing out these events. Included in the Event List are your business processes and stakeholders.
  • Step 5 – Validate the Event Model. Compare your event scope with the Business and Project Objectives and verify with the Project Sponsor that all objectives are covered by this scope.
  • Step 6 – Construct Use Cases. Use the defined business processes in the Event Model as the starting point for creating Use Cases. Some steps in the Use Cases can be extracted as “Functional Requirements”.
  • Step 7 – Test Planning and Execution. The Event Model is a wonderful framework in which to define your test scenarios and cases. Take advantage of all the work you did in the requirements phase to make your test planning and execution easier.

That’s it for this topic. I hope you found it informative and useful. I have used this technique successfully in many real-world projects.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Analysis Using Event/Response And Use Cases – Test Planning And Execution

Planning

In addition to being a great way to elicit the complete scope of a project, the Event/Response methodology delivers a comprehensive framework for test planning and execution. When using this methodology, what many call “User Acceptance Testing” can be replaced by the term “Event Testing”.

In my prior posts on this topic, I identified the primary deliverables of the Event/Response methodology as:

  1. The Event List (containing the event that triggers the response, the origin and data content of the information flow into your “business”, the named processes, the outputs of the processes and the destinations of the outputs), and
  2. The Use Cases. You can plan to test by simulating the actual Events, creating the data flows, executing the processes and examining the outputs. The Use Cases give you a good start on creating the data and usage variations for each Event. Doing this yields a direct mapping of the scope and requirements to the test cases and execution.

Note that since the Event List also contains the roles of the actors initiating the events and processes, as well as the roles receiving the outputs, security testing can also be built into this framework.

Another major plus of planning and executing the tests this way is that you are testing the system as it will actually be used in context, as opposed to functional testing which tests bits of functionality in isolation.

A recent project of mine used this methodology and yielded 180 Events and over 1,600 test cases. Because of this comprehensive approach, this complex system was very well tested and only experienced few minor problems after implementation.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN

Requirements Analysis Using Event/Response And Use Cases – Functional Requirements

Planning

In my previous post on the topic of Requirements Analysis, I showed you how to derive your Use Cases from the Event List. I also presented a list of recommended elements to be included in each Use Case. The primary element is the list of steps taken by the Actors and the System they interact with. Within these steps are the Functional Requirements.

In my initial post in this series, I mentioned that starting and ending requirements gathering with functional requirements was not very effective. Why? Because functional requirements are at too low of a level and places the burden on the memories of SME’s (Subject Matter Experts) instead of the analytical questions of the Business Analyst, where the burden really belongs. For large systems, if you start and end with functional requirements you will almost assuredly have an incomplete set of requirements.

Using the Event/Response methodology, we started with Event Discovery, using a wide variety of techniques to generate the questions the Business Analyst needs to ask. We fleshed out the Events, which led to discovery of the business processes in scope. We validated the model to make sure we had the complete list of Events and processes. We used the processes to create our Use Cases. We will now examine the Use Cases to derive the functional requirements. This is an organized, top down approach to requirements that will output as complete a set of requirements as is possible.

Within the steps of the Use Cases are things like “Insert Debit Card”, “Read Card”, “Select Action”, “Browse by Last Name”, etc. These are all functional requirements that must be satisfied by the solution. The system design must address all of these requirements. However, these are low-level capabilities and are not a good source for overall system design. By using the Event Model, the system designer can see the big picture and design a friendlier, more efficient system than is possible using just the functional requirements.

In the next post I will address the advantages of the Event Model when designing and executing tests.

A reminder that my Kindle book “Project Management For The Real World” is available at

http://www.amazon.com/dp/B089KRDDVN