Why do I need to learn about software requirements?
Your software can only be successful if it helps people do their work better, faster, with lower cost. In order to achieve this objective, it must fulfill the need of various users. In order to fulfill users’ needs you need to be able to identify their context, problems and needs, then propose software solutions for their issues.
Your software solutions must be built based on its users’ requirements that help them solve their problems. So you need to be able to collect, document, manage and validate their requirements. Software requirements engineering will provide you knowledge for completing these tasks.
Do not waste your time to create software that NO ONE will use. Your software will only become useful if its requirements are correctly engineered.
What can I do after finishing learning software requirements engineering?
You will know how to elicit, document, manage and validate software requirements so that they can be used for creating your software.
Hmm! Is it really useful?
If you still have a doubt about its usefulness then you can delay learning about software requirements until you are tasked to create a software system but you do not know where to begin or what are the inputs for your coding.
Another scenario that may suggest that you should come back to this topic is when you create a software system but unfortunately you find that no one wants to use it.
Alright! What should I do now?
– this Suzanne Robertson and James Robertson (2012). Mastering the Requirements Process. Addison Wesley Professional book, and
– this Karl Wiegers and Joy Beatty (2013). Software Requirements. Microsoft Press book.
After that please read this Joy Beatty and Anthony Chen (2012). Visual Models for Software Requirements. Microsoft Press book.
After that, please read this Alistair Cockburn (2001). Writing Effective Use Cases. Addison-Wesley book.
Then please review this ISO/IEC/IEEE 29148:2011(E) standard so that you could create a quality software requirements specification for projects require high formal specification.
After that please read this Mike Cohn (2004). User Stories Applied: For Agile Software Development. Addison-Wesley Professional book.
After that please read this Jeff Patton and Peter Economy (2014). User Story Mapping. O’Reilly Media book.
After that please read this Project Management Institute (2015). Business Analysis for Practitioners – A Practice Guide. Project Management Institute book.
- Business Workflows.
- Business Processes.
- State Models.
- Swimlane Diagrams.
- Business Data.
- Entity Relationship Diagrams.
- Data Flow Diagrams.
- Domain Models.
- Work Context Diagrams.
- Business Use Cases.
- Executive Summary.
- Project Vision.
- Functional Requirements.
- Use Cases.
- Non-Functional Requirements.
- Software Requirements Specification.
- User Stories.
- Business Values.
- Story Map.
- Product Backlog.
- User-Interface Prototypes.
- User Interface Flow Diagrams.
- ISO/IEC/IEEE 29148:2011(E).
After finishing learning about software requirements please click Topic 11 – Software Construction to continue.