Sunday, February 17, 2019

Functional Requirement

Any software/application development project ends up in the creation of a unique product or a service. However, for the project to succeed, shouldn’t the features and functionalities expected in the system uniquely identified?
Yes, they should and are called Functional Requirements!

What are Functional Requirements – Quick Overview

Functional Requirements describes the functionalities, capabilities and activities a system must be able to perform and they specify the overall behavior of the system to be developed.
At a basic level, they specify what any service/product should be able to perform.
Let’s try to understand it better with some simple examples. Functional Requirement for a:
  • ‘Key’ – Shall be able to lock and open a door
  • ‘Pen’ – Should be able to apply ink on a surface
However, since functional requirements are expected to describe all the ‘functionality’ related aspects of the solution to be developed, they are usually not as simple as the examples above and consists a lot within themselves. For instance – business rules, processes and flows, authorization and security needs, legal/compliance requirements. Since functional requirements define the features and capabilities expected from the solution, they are sometimes called as Solution Requirements.
Functional requirements are generally written in the format “system shall do/perform <followed by the description of the requirement>”.

Examples of functional Requirements

Let’s assume Rob is the owner of RobRolls, a company which manufactures basketballs. Now, Rob wishes to expand his products range and produce baseballs and footballs as well. This requires better management at his manufacturing plant and thus Rob wants an ‘Inventory management system’.
The functional requirements for the ‘Inventory management system’ will be:
  1. The system shall save the details of the goods available in the warehouse by dividing them into different categories
  2. The system should maintain tracking of sales of products and inventory levels
  3. The system should provide alerts when an item in the inventory goes below a threshold level.
  4. Maintain the balance between too much and too little inventory
  5. Only authorized persons will have access to the system and the role of the administrator shall be assigned to only one person at a time
  6. The system should reduce wastage of raw materials while improving cost savings
  7. The system should provide weekly/monthly selling trend details by analyzing past data

Characteristics of Functional Requirements

  • Are given by the users/business stakeholders
  • only states ‘what’ the system is expected to do/perform and not ‘how’ the system is expected to do that (that’s in Application design document)
  • Are written from the perspective of the system and not from the viewpoint of the user (remember the prefix “The system should ….”)
  • Deal exclusively with the functionalities and features and do not contain any technical requirements within them
  • Should be crisp, non-ambiguous and written in non-technical language
  • Form the basis of the ‘functional scope’ of any application or product

Where are Functional Requirements captured?

Functional requirements are documented in a Functional requirement specification (FRS)/ Functional Specification Document (FSD)
Functional requirement specification or Functional Specification Document describes the intended behavior of a system including data, operations, input, output and the properties of the system.
A functional specification document is prepared by a Business Analyst and it’s a detailed, descriptive and precise requirement document. Owing to their NON-technical nature, FRS/FSD are equally used by developers, testers and the business stakeholders of a project.
Don’t you wish to take a peek into what all the Functional requirement specification (FRS)/Functional Specification Document (FSD) contain? Here’s what one contains –
  • Product Context: Description of the product or application being developed along with its background and other associated details
  • Data Requirements: what type of data could be entered into the system? What is the format of the data? How should this data be stored?
  • Business Rules: What are the rules that define the expected functioning of the system? What operations should the system handle? What are the work-flows typical to the system?
  • User Interface Requirements: How shall an external user interact with the system? What are the different actions possible on screen? What are the fields and icons available on the screen?
  • Authorization and Security Requirements: What all users could interact with the system? What are the different user roles? What are their access permissions?
  • Legal/Compliance Requirements: What are the standards and protocols the system must comply with? Are there any government laws applicable? Are there any regulations that must be imposed on the system?
  • Performance: How fast the system should perform? What is the maximum load system could handle? What are the factors that might affect performance?
  • Dependencies: Is the system dependent upon any external systems? What is the level of interaction between them? How severe are those dependencies?
  • Assumptions: A listing of things that are supposed to be true for the system being developed
  • Constraints: The known restrictions you have while developing the product. These could be budget constraints, technological constraints or even environmental constraints.
The format of an FRS/FSD could be altered based on the organization policies and needs and sections could be added and deleted based on the system being developed.

Who documents Functional Requirements?

It’s the sole responsibility of a Business Analyst to elicit and document the functional requirements in a Functional requirement specification (FRS) document / Functional Specification Document (FSD) / Use case / User story.
The general flow of activities performed by a Business Analyst to documents functional requirements is:
  • Make a listing of all the functionalities, features and capabilities of the application being developed by studying the artifacts of the project. These artifacts include – Project charter, Project vision document, Statement of work (SOW), Business requirement document (BRD)
  • Identify the key business stakeholders of the project – These are the people who decide and defines the functionalities of the application/product being developed
  • Discuss each feature and functionality with the business stakeholders, in-depth
  • Elicit any hidden requirements while gaining consensus and approval on the identified functional requirements
  • Record each functional requirement in the document appropriate as per the organization policies
  • Share the documents with the project stakeholders for feedback and approvals

Thursday, January 17, 2019

Six Sigma

Six Sigma is a quality management methodology which helps you reduce defects and maintain consistent quality in products.
Six Sigma is a very useful methodology which helps you improve the quality of your deliverable. 

What is Six Sigma?

Six Sigma was developed by Motorola in 1986 with main focus to remove the causes of defects from a process before it starts.
This methodology proved to be very successful for Motorola. GE also adopted it and also had excellent results, after that, the fame of the Six Sigma methodology skyrocketed and many manufacturing industries started to adopt it.
Six Sigma can be defined as a “data-driven, customer-focused and result-oriented methodology.”
Six Sigma is a data-driven process and product improvement methodology, the goal is to improve quality to the extent where no more than 3.4 failures per million are allowed, or 99.9967% accuracy.
The chart below shows the Six Sigma graph.
6_sigma_normal_distribution
Image Credit: Jayen466, Fleshgrinder [Public domain], via Wikimedia Commons
In this graph, you can say that Six Sigma is the six standard deviations from either side of the mean. Here, LSL stands for lower specification limit, and USL stands for upper specification limit. Any measurement outside of these limits is considered a defect.
The mean line is the target and this is the ideal measurement.

Roles in the Six Sigma Organization

You can divide the Six Sigma roles into two segments:
  1. Initiative Leadership
  2. Project Leadership
Along with these segments, Six Sigma roles can be divided into six categories:
  1. Six Sigma Executing Leadership or Deployment Leader
  2. Six Sigma Champions
  3. Six Sigma Master Black Belts (MBB)
  4. Six Sigma Black Belts (BB)
  5. Six Sigma Green Belts (GB)
  6. Six Sigma Project Team or Yellow Belt (YB)
Out of these six categories, Executive Leadership, Champions, and Master Black Belts are considered a part of initiative leadership. Black Belt, Green Belt, and Yellow Belt are a part of project leadership.
A champion and Master Black belt can be part of project leadership as well as initiative leadership.

Six Sigma Executing Leadership or Deployment Leader

Executing leadership includes project sponsors or top management. They are the ones who establish the business objectives, create the Six Sigma vision for the organization, and make sure everyone understands it.
Their active participation is mandatory for an organization to achieve the Six Sigma objectives.
Executing leadership is responsible for hiring Master Black Belts, Black Belts, and other top-level members and provide them with the necessary support.

Six Sigma Champions

They are selected by the Executing Leadership and are responsible for the implementation of Six Sigma. They manage Master Black Belts, Black Belts, and Green Belts. Champions work with these professionals to understand the issues they face and provide support to resolve them. They are responsible for managing the Six Sigma environment across the entire operative base.
Champions manage the projects from a high level. They can distribute the projects in programs or develop a portfolio to manage them efficiently.

Six Sigma Master Black Belt

Master Black Belts are selected by Champions. They are responsible for project selection and human resource training. They train Black Belts and Green Belts.
Master Black Belts are responsible for the development of Six Sigma skills within the organization and ensure the sustainability of Six Sigma quality in the project.
They are directly responsible for rolling out Six Sigma methodologies in the project and ensuring activity compliance. They mentor the project team and can engage the Deployment Leadership if any issue arises.

Six Sigma Black Belts

Black Belts are responsible for executing and implementing Six Sigma in the project and can be part-time or full-time project team members.
They create the Six Sigma environment and challenge the status quo where there is resistance to implementing the Six Sigma methodology. They help utilize project resources, mentor the project team including Green Belts, and share best practices.

Six Sigma Green Belts

Green Belts have fewer functions than the Black Belts and they are involved with other project activities in addition to the Six Sigma activities.
They are sometimes called the “engine” of Six Sigma projects. They are responsible for day-to-day Six Sigma activities, solving issues, and, if needed, calling for help and ensuring sustainable results.
Green Belts are responsible for their respective processes and have the authority over them to complete the work effectively. This is a very important aspect of the organization because Green Belts can build process improvement structures within each process.
They work at the project execution level, are responsible for Six Sigma results, and share best practices and lessons learned.

Project Team

Project Team or Yellow Belts include project managers and team members. They are directly responsible for executing project activities. These people work with Green Belts or Black Belts to achieve the Six Sigma objectives.
These people are subject matter experts who support Green or Black Belts in developing the process maps and doing data capture for further analysis.
They need not be either Black or Green Belt holders but they should aware of basic Six Sigma functions.

Stakeholders in Six Sigma Projects

The following are the main stakeholders in any Six Sigma project:
  • Customer
  • Employee
  • Supplier
  • End users

Six Sigma Methodologies

You can achieve Six Sigma objectives by using two Six Sigma sub-methodologies:
  • DMAIC
  • DMADV
DMAIC helps you improve the existing processes incrementally.
The DMDAV process is used to develop a new process or product. You can also use this methodology to existing processes when you need more than an incremental improvement.

What is DMAIC?

DMAIC is a Six Sigma sub-methodology. You can use this methodology as a standalone process for improvement or along with Six Sigma initiatives.
It is a structured problem-solving methodology where each phase depends on the successful completion of the previous phase.
DMAIC stands for: Define, Measure, Analyze, Improve, and Control.
Define
In the define phase, you define the customer, their problems and issues, their expectations, and their requirements. You also define the process with the help of a process map, identify the areas of improvement, define the Critical-to-Quality (CTQ), set the goal, define the project boundaries, and make sure that the required resources are available whenever they are needed.
Measure
In this phase, you measure the outcome and determine the current process performance.
Here you draft a plan to collect reliable data from the process and determine the defects. This data should help you see how the process is performing.
You may use customer surveys to find the defects, areas of improvement, or any feature requirements. In this phase, the baseline performance is established. It helps you understand the process so you can then take further steps to improve it.
Analyze
Here you analyze the data collected in the measure phase and identify the issues which may affect your project or its outcome. In this phase, you identify the gap between the baseline and the current performance. If there is a variation, you identify the sources of variation and correct them.
You also look for any opportunities and use them to improve your project.
In this phase, your main focus is to isolate the top causes behind the Critical-to-Quality characteristics (CTQ). You also quantify the economic benefits of solving the problems.
Improve
Once you get to the root cause of the problem in the analyze phase, you identify a permanent solution and implement it to improve the process.
In this phase, you carefully study the main cause of the error and find ways to contain it. Here you develop and implement your new plan and new method so that defects are stopped and do not recur in future. After the implementation, you measure the results of the change.
Control
This phase controls the process for stable performance and prevents the process from reverting to the “old way”. This is an important phase to ensuring lasting results and sustained changes. Here you continuously monitor the process, ensuring every approved change is implemented and followed accordingly.

What is DMADV?

DMADV is used to develop new processes or when the improvement received through the DMAIC is not up to the client’s expectations.
DMADV stands for Define, Measure, Analyze, Design, and Validate.
In both methodologies DMA is similar; however, the last two letters “DV” stand for design and validate.
In the design phase, you design the process or product that fulfills all Critical-to-Quality requirements. In the validate process, you check if all CTQs are as expected and if the final product is meeting or exceeding the customer’s expectations.

Difference between DMAIC and DMADV

Although both are Six Sigma methodologies with a similar objective of eliminating defects and improving the process, there are many differences between how and when they are implemented. Some of the differences between these two methodologies are as follows:
  • DMAIC is used for existing processes while DMADV is used for a new process.
  • DMAIC represents correction and DMADV represents prevention.
  • In DMAIC Six Sigma focuses on a few CTQ, while in DMADV Six Sigma is focused on all possible CTQs.
  • DMAIC are usually a shorter duration while DMADV takes a longer time.

Tools Used in Six Sigma

If you are preparing for the PMP exam or are a PMP holder, you should aware of these tools.
These are the same seven basic quality tools you have studied in the quality management knowledge area.
  1. Tally Sheet
  2. Flow Chart
  3. Histograms
  4. Cause and Effect Diagram
  5. Pareto Diagram
  6. Scatter Diagram
  7. Control Charts
I have written several posts to cover some of the above tools. For others, I will try to provide you with a link to follow.

Tally Sheet

The tally sheet is also known as the check sheet or checklist.
With a tally sheet, you record the data by marking it in real time. To record the data you go to the location and observe the process and record it on the sheet. Most of the time you only have to tick or cross it off.

Flow Chart

A flowchart is a diagram that consists of several boxes connected with lines. This diagram shows you the workflow, process procedure or an algorithm. The flowchart helps you visualize the process flow and find any issues or bottlenecks.
The flow chart is a useful communication tool and can help you significantly while studying process improvement or documenting a process.

Histogram

A histogram is similar to a bar chart and displays the graphical distribution of numerical data. It is primarily used to show frequency distribution.
A histogram can assist in discovering if a process change has occurred from one period to another. It is also a good communication tool to express data quickly.

Cause and Effect Diagram

This diagram is also known as an Ishikawa or fishbone diagram.
The cause and effect diagram helps you find possible causes for a problem or effect. With the help of this tool, you can also find bottlenecks in your process and determine any issues within the process, such as why a particular process is not working.

Pareto Diagram

A Pareto Diagram is a bar chart where the longest bar is on the left side, and shortest is on the right side. The height of bar decreases gradually from left to right and displays the frequency of various errors.
With the help of a Pareto Diagram, you can focus on the problem with the most frequent occurrence.

Scatter Diagram

In a scatter diagram you use two variables: One is the dependent variable and the other is the independent variable.
This diagram can help to determine a relationship between the two variables. After determining the correlation between the variables, you can easily predict the behavior of the other variable.

Control Charts

Control charts are one of the most widely used charts in quality management. With the help of this chart, you can determine if a process is stable or not.
In this graph, you have the mean, lower control limit, upper control limit, lower specification limit, and upper specification limit.
Specification limits are set by the client and any measurement outside of these limits are considered defects.

Advantages of Six Sigma

Six Sigma helps organizations immensely; some of the benefits of this methodology include:
  1. It is customer driven.
  2. It covers the entire production process rather than the final outcome.
  3. It is a proactive process. It helps you improve the process even before you discover your first defect.
  4. It improves quality, eliminates defects, and reduces waste, which means more profit and brand recognition and hence more satisfied customers.
  5. Low variation in deliverables.
Six Sigma can help your company save a lot of money by avoiding rework, scrap, return cost, and after-sale support.

Disadvantages of Six Sigma

Although there are no inherent disadvantages of this methodology, in some cases it may not produce the desired result or a delay may occur. A few examples of these situations are:
  1. For production work Six Sigma works well, but for research work it does not work (source).
  2. Sometimes it may create rigid boundaries which could delay the process.
  3. It might be costly to apply to a small-sized company.
  4. According to some experts, 3.4 defects per million is too low, which may lead to putting more focus on areas with low yield.
  5. If the top management is not supportive, it will not give the desired result.
This was a short review of Six Sigma, and I believe you now have a better understanding of this methodology.
However, before I conclude this blog post let’s discuss the differences between Six Sigma and the PMP certification.
First, you should note that Six Sigma and the PMP certification do not compete. Both certifications are different and serve different purposes, though at some points they interact with each other.
The Six Sigma methodology is mainly applicable to manufacturing and financial industries. On the other hand, the PMP methodology applies to all aspects of projects, regardless of industry.
Six Sigma focuses on eliminating defects and reducing waste, or you can say that it increases the quality of the product or the process. PMP concentrates on completing the project successfully.
The Six Sigma methodology is forced from top management down to operations, and active involvement from management is mandatory for its successful implementation. 

Conclusion

The Six Sigma methodology must be implemented and monitored by top management and only their active involvement and support can make this methodology successful. If you are Green Belt or Black Belt holder, it will help you in improving the quality of the deliverable and influence leadership.
Implementing the Six Sigma methodology involves a lot of expense, especially in training and applying changes to the process. However, if implemented correctly it can bring a fruitful result to organizations, such as profitability and brand recognition.