How to do the gathering of requirements for starting a project

Turpial Development
Turpial Dev
Published in
2 min readJul 7, 2022

Over the years we have observed that the construction of software projects has become more structured and rigid based on requirements or requirements that represent a fundamental piece in the development. These requirements mark the starting point for activities such as planning, cost estimation, time determination and scope of the product to be developed. It is not uncommon to hear in the software industry that a project fails for not having an adequate definition, specification, and management of requirements.

According to what has just been mentioned, it is important to identify the factors that may be present in a bad management, such as low user participation, incomplete requirements, ambiguity in the definition of requirements, and even poor adaptability to change. For example, developing a software system without having carried out a good survey of the requirements is like constructing a building without having seen the architect’s plans.

In order to guarantee the success of our projects we will be studying the most important aspects concerning the adequate management of the requirements, but not before defining what this means and what would be the characteristics that should be taken into account.

According to the IEEE glossary, the definition of a requirement is “a condition or need of a user to solve a problem or achieve an objective” (Std 610.12–1900, IEEE: 62); alternatively it is “a condition or capability that must be present in a system or system components to satisfy a contract, standard, specification or other formal document”.

After understanding what a requirement means, it is important to mention that they can be divided into two types or categories: Functional requirements and non-functional requirements.

Functional requirements are those that define the functions that the system will be able to perform, they are oriented to answer “What” should be done and not “How”. These requirements end up mutating into what will eventually become the algorithms and logic of the system and that shape much of the system code. On the other hand, non-functional requirements are directly related to the behavior of the software system and to the characteristics that can limit its performance, such as adaptability, portability, reliability, usability, efficiency and security.

In this series we will be reviewing the main aspects of functional requirements, as well as what are the activities that we must carry out to perform a good elicitation of these and how to execute these activities properly.

Please stay tuned for the next edition. Follow Turpial Development here and in our social networks for more information.

Author: Daniel Zeait.

Visit our website and learn about our services: https://turpialdev.com/

Follow us!

https://www.instagram.com/turpialdev/
https://www.facebook.com/turpialdev
https://www.linkedin.com/company/turpial-development

--

--

Turpial Development
Turpial Dev

Posts by Turpial Development and some team members. Follow everything we post at our publication: https://medium.com/TurpialDev