Did you face any situation where you have been confused between software scope and it’s requirements? If YES, I think you are not alone, There are a lot of misunderstanding in software engineering practices between software scope and its requirement specifications. Most of the time, the software project missed the scope and fall in scope creep dilemma without any notice, and without the alignment with the software scope which turns the project and software to be unsuccessful.
What is the scope?
Project scope is the part of project planning that involves determining and documenting a list of specific project goals, deliverables, tasks, cost and deadlines.
The Project Scope pertains to the work necessary to deliver a product. Requirements and deliverables define the project scope, and it is critical that the stakeholder is in agreement with the information discussed in the proposed plan.
Scope creep (also called requirement creep, function creep, feature creep, or kitchen sink syndrome) in project management refers to changes, continuous or uncontrolled growth in a project’s scope, at any point after the project begins. This can occur when the scope of a project is not properly defined, documented, or controlled. It is generally considered harmful.
In conclusion, Scope is the work to be done, is The features and functions that characterize a product, service, or result. The scope defines the boundaries of a project, what features will be included and implemented within this scope, what is the delivery dates and milestones need to be delivered as well the required budget to deliver that scope. If the project is poorly controlled and governed, then the scope creep is expected.
What are the specifications?
A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and nonfunctional requirements and may include a set of use cases that describe user interactions that the software must provide.
In conclusion, requirements are the expectations of the customer, stakeholders, and Sponsor which need to be fulfilled. It about what you need to build and you need to document that in the SRS.
Let us have an example, suppose a Telecom company has an automation program, this company needs a set of different integrated projects to realize this automation, for example, one project to enhance their service delivery to its customers, and another project for handling customer relationships, their accounts, services, and complaints, as well other different projects.
In this case, we have many projects, we will focus at one of them, let us assume that we will enhance the service delivery through an online portal, the Telecom company ABC has a lot of requirements and vision for this portal while they have a limited budget and time. And they cannot have all these features to be done due to these constraints.
They defined the scope, they set the boundaries of the online portal features and functionalities to only enable the customer to login and view their plans and bill and how they consumed the voice and data services. And they planned to have another extension project when they have the budget to enable the customer to request a service or disable existing one, as well to have online support and chat between customer and support agents to resolve any issues or complaints the customer may have.
Now, we defined the project scope to have a limited set of features, during the analysis phase of the online portal project, the software analyst should elicit the requirements and specifications related to these features and any set of features or functionalities not written in the project scope are actually out of scope. The output of the analysis should be documented in the software requirements specifications.
Out of scope is a bad word when you inform the customer that what are you asking for is out of scope, but we need to handle that by educating the customer what does it mean and what is the effect to do something out of scope. Also, to educate ourselves that out of scope does not mean that it is something cannot be done. It is actually can be done while it needs planning how this will affect the time and budget of the project, as well what if the software team implemented this feature how this will affect the current features, is there any integration required, dependencies, do I have enough resources to do that now, do I need to re-plan some features? All these questions and others more need to be discussed between analyst, project manager and the customer to decide what is the best of the project and this will be done in the best way to satisfy the customer need and do not fall in the scope creep. And this should be handled through change management process which is a part of project management practices.
If you are still confused, please add a comment below or send me a message.