You’ve probably heard the saying ‘If you don’t ask the right questions, you don’t get the right answers.’ As a matter of fact, the same goes for software projects: If the developer doesn’t know what it is they’re solving, the finished product won’t answer the user’s need.
A project must hit each of the following criteria to be successful:
Delivered on time Delivered on, or under, budget Works and contains zero, or very few, bugs People use it They like using it Meets the requirements that defined the project
If you miss just one of these points, the project could be a failure. As the illustration above shows, poor requirements — or poor handling of those requirements — is one of the primary causes of project failure. “As many as 71% of [embedded] software projects that fail do so because of poor requirements management, making it the single biggest reason for project failure,” says Christopher Lindquist in CIO magazine.
Part of the issue is the difference between the way users talk, and the way developers talk: One side has a need only they understand, the other talks in terms of features and technicalities.
This is where a project manager comes in: they’re the go-between. That means they’re in charge of the project requirement documents that articulate both parties’ needs — but if they don’t handle the project properly, then storm clouds will start gathering.
First, let’s take a look at what requirements are, then we’ll go into more detail about how and why effective project management should be a priority.
What are requirements?
Project requirements are features that must meet a user’s needs. For example, the requirements of a bride might be to have a white, puffy gown. If the tailor delivers that, then it meets their requirements. If they deliver something slinky and red, then… not so much.
In software development, requirements can encompass a wide range of sources — from compliance and legal requirements, though to market needs and business problems — all of which fall under two main categories: functional and non-functional.
Functional requirements (also known as ‘business requirements) are the fundamental features the software needs to have to meet the user’s needs. They are the bare minimum in terms of capabilities that allow the users to do their work. Non-functional requirements are things that enhance the experience and include performance, reliability, security, and usability. They are equally as vital as functional requirements: If the product meets the functional requirements but doesn’t hit all the non-functionals, then the project can still fail. What does a requirement manager do?
It’s the requirement manager’s job to ensure the project doesn’t fail. As such, their job description primarily focuses on the following responsibilities:
Ensuring requirements are accurate and complete Involving users and fostering collaboration Ensuring there are sufficient resources and scheduling Making sure expectations are achievable Supporting the team Keeping track of changing requirements and planning effectively Making sure the product meets needs
They do this by following a requirement management process, which consists of requirement planning, collection/gathering, structuring, classification, verifying requirements are being met, tracking, prioritizing, testing, and documenting.
As you can tell, building a product is complicated. It requires lots of research, planning, and communication. So whereContinue reading