By the end of this chapter, you will be able to:
These skills are essential because gathering clear and accurate user requirements is the foundation for building software systems that really work well for the people who use them.
Gathering user requirements is a critical phase in software system development that determines the success or failure of a project. It involves identifying and understanding the needs of all stakeholders who will interact with or be affected by the system. In Kenya’s diverse professional landscape, this process must incorporate input from various sectors such as healthcare, education, finance, and public administration to ensure the system is relevant, usable, and sustainable. Engaging stakeholders effectively lays the foundation for a system that delivers value and meets organizational goals.
The requirements of key project stakeholders vary according to their roles, responsibilities and interests in the software system. Each group brings a different perspective that influences the system's functionality, usability and strategic alignment. In Kenyan organisations, recognising and balancing these diverse requirements promotes buy-in and reduces the risk of costly rework. In this unit, the key stakeholders are grouped into the project team, the system users and the organization management.
The project team is directly responsible for analysing, designing, developing, testing, implementing and maintaining the software system. Their requirements focus on clarity, feasibility and resource availability, so that each member can carry out assigned tasks effectively. When the requirements given to the team are vague, the same ambiguity is passed on into the code, the tests and the final product.
A typical project team includes people with different skills, and each role determines the kind of requirements that person needs and prioritises. For example, a developer needs detailed technical specifications, while a business analyst needs comprehensive user stories to translate business needs into functional designs. Clear role definitions prevent overlaps and gaps: in a team building a loan tracking application for a lending firm, one member owns the database design, another owns the user interface and a third owns testing, so accountability is never in doubt.
Common roles and what each one needs:
Technical requirements from the team: the team requires precise technical specifications, including system architecture, programming languages, data models and integration protocols. These ensure the system is scalable, secure and maintainable. For instance, a team building an asset tracking system for a logistics company may specify mobile compatibility and integration with the existing database so that updates and reports are available in real time.
The project manager plans, coordinates and controls the project so that it is delivered on time, within budget and to the agreed scope. Unlike other team members, the project manager needs information about the whole project: available budget, human resources, tools, deadlines and risks. Requirements gathered from stakeholders feed directly into the project plan, so poorly defined requirements lead to poor estimates.
Main responsibilities of the project manager:
Resource and time constraints: the project manager must know the real resources and realistic timelines before committing to a delivery date. A software team that allocates too little time for testing, for example, will often release a system with bugs, which shows why scheduling requirements must be well defined.
Communication and collaboration needs: effective communication channels and collaboration tools are essential so that activities are coordinated and issues are solved promptly. A project management platform for task tracking, shared documents and feedback, for example, improves transparency and reduces delays during the rollout of a stock control system.
System users are the people who operate, maintain, build on or depend on the software once it exists. Their requirements emphasise ease of use, functionality and support, so that the system improves productivity and meets daily operational needs. Different users interact with the system in different ways, so each user group must be identified and consulted separately during requirements gathering.
Developers are users of the system's technical side: its source code, application programming interfaces (APIs), database structures and documentation. They extend, fix and integrate the system long after the first release, so their requirements concern maintainability and clarity rather than screens and reports. A developer asked to add a mobile payment feature to an existing sales system, for example, depends on documented interfaces and a working test environment.
Typical developer requirements:
System analysts act as the link between business users and the technical team. They study current processes, gather and document requirements, model the proposed system and check that the finished product meets the need. In a hotel reservation project, for instance, the analyst interviews reception staff, draws the booking process and converts it into requirements the developers can build.
Typical system analyst requirements:
End-users are the people who use the system daily to perform their work, such as shop attendants, receptionists, clerks and customers using a self-service portal. They know the real business process, so their requirements shape the features and screens more than any other group. If their needs are ignored, the system may be technically correct yet unused.
Typical end-user requirements:
System administrators keep the system running after it goes live. They install and configure the software, create user accounts, assign access rights, monitor performance, apply updates and restore data when something fails. A system administrator at a distribution company, for example, must be able to add a new warehouse user and remove a former employee's access on the same day.
Typical system administrator requirements:
Management's requirements focus on strategic alignment, compliance and return on investment. Management sponsors the project, approves the budget and decides whether the delivered system is accepted. Their input ensures the system supports organisational goals and regulatory frameworks, and the way the organisation is structured determines who gives that input and who has authority to approve it.
Management requires the software to support key business goals such as efficiency, cost reduction and service improvement. A document management system that speeds up approval of purchase requests and reduces paperwork, for example, supports an organisation's digital transformation plan. Requirements that cannot be linked to a business objective should be questioned, since they add cost without adding value.
The system must comply with relevant laws and internal policies, including data protection and financial rules. For example, a customer records portal handling personal information must include features that respect the requirements of the Data Protection Act, 2019, such as controlled access and care in how personal data is stored and shared. Compliance requirements are usually non-negotiable and must be recorded early.
Management requires clear cost-benefit analyses, adherence to budget and transparent reporting on expenditure. For example, the management of a retail chain may require the inventory system to produce periodic financial reports so that stock levels can be monitored and losses reduced. Such requirements affect the choice of technology, the number of features and the delivery phases.
The system should give management dashboards and analytics to monitor performance and inform decisions. A loan portfolio system, for example, can generate real-time reports on disbursements and repayments, allowing managers to act before problems grow. These reporting requirements must be captured early because they determine which data the system must collect and store.
Organization structure is the way an organisation arranges its people, departments and reporting lines. For a requirements analyst it is a map of who makes decisions, who uses the system and who must approve changes. In a distribution company with sales, warehouse and finance departments, for example, each department head may state different, and sometimes conflicting, requirements for the same stock system.
Management is usually seen at three levels:
Common structures compared:
| Structure | Description | Effect on requirements gathering |
|---|---|---|
| Functional | Staff grouped by function such as finance or sales | Requirements come from separate departments and may need to be reconciled |
| Divisional | Grouped by product, region or customer | Each division may need its own variations of the same system |
| Matrix | Staff report to both a functional and a project manager | Several people may need to approve one requirement |
| Flat | Few management levels | Decisions are quick and users can be reached directly |
Understanding the structure helps the analyst to identify all stakeholders, direct questions to the right person, find the person with authority to sign off requirements and plan how information will flow during the project.
Explain the different types of requirements that the project team needs to gather for successful software system development. (10 marks)
Discuss the importance of usability and accessibility requirements from the perspective of system users in a Kenyan hospital setting. (10 marks)
Describe how organization management’s requirements influence the design and implementation of a software system in a county government office. (10 marks)
Identify and explain four communication needs of a project team during software development. (10 marks)
Create a free account to open more of this chapter.
Free: practical guides, quick cards, workplace scenarios and more.
Create a free accountThis chapter explored the process of gathering user requirements for software systems by first identifying key project stakeholders and their distinct roles, including project team members, managers, developers, system analysts, end-users, system administrators, and the organization's management structure. Understanding these stakeholders is crucial for capturing comprehensive requirements. The chapter then examined various data collection tools essential for eliciting user needs, such as questionnaires, observations, experimentation, interviews, surveys, and case studies. Attention was given to the preparation of these tools, emphasizing the design of effective questionnaires, observation checklists, and interview questions to ensure accurate data collection. Finally, the chapter detailed the practical application of these methods in collecting user requirements data, highlighting how each technique contributes uniquely to understanding user expectations and system functionality. This holistic approach ensures that software development aligns with stakeholder needs and organizational objectives.
Which of the following is NOT typically considered a project stakeholder in software requirements gathering? (2 marks)
a) System users
b) Project manager
c) External competitors
d) System administrators
Describe the primary role of a system analyst during the requirements gathering phase. (3 marks)
At the start of this chapter we promised you would be able to:
Tick each one you can genuinely do.
So, are you there yet?
You're competent when you can confidently do 50% or more of what this chapter promised.
Sign in to record how you're doing.