Tag Archives: Confluence

How to Discover Requirements

Problem:

You want to quickly capture and analyze requirements for a project developed using Scrum or Kanban method however misunderstandings happen too frequently among your team members.

Suggestion:
  1. Define and get agreement about terminologies (terms).
  2. Decompose a user story into end-to-end workflow with screenshots or mock-ups.
  3. Define test scenarios for a user story.
  4. Use a tool such as Confluence pages for documenting and clarifying user story.
  5. If the problem still persists then try elaborating a user story to a use case, and/or a flow chart, and/or a domain model, and/or mind map, and/or a sequence diagram.
  6. If possible always use face-to-face meetings for communication.

Topic 10 – Software Requirements

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?

Please read
– this Suzanne Robertson and James Robertson (2012). Mastering the Requirements Process. Addison Wesley Professional book to learn how to develop enterprise software requirements step by step, and
– this Karl Wiegers and Joy Beatty (2013). Software Requirements. Microsoft Press book to learn about techniques for engineering software requirements.

After that please read this Joy Beatty and Anthony Chen (2012). Visual Models for Software Requirements. Microsoft Press book to learn how to use models for representing software requirements.

After that, please read this Alistair Cockburn (2001). Writing Effective Use Cases. Addison-Wesley book to learn how to write use cases effectively.

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 Dean Leffingwell (2011). Agile Software Requirements. Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley Professional book.

After that please read this Project Management Institute (2015). Business Analysis for Practitioners – A Practice Guide. Project Management Institute book.

Terminology Review:

  • Business Requirements.
  • Stakeholders.
  • Sponsors.
  • Customers.
  • Users.
  • Business Analysts.
  • Terminologies, Terms.
  • Problems.
  • Business Goals.
  • Evaluator Pitch.
  • Work Context Diagrams.
  • Executive Summary.
  • User Requirements.
  • Glossary.
  • Business Rules.
  • Business Use Cases.
  • Scenarios, Business Workflows, Business Processes.
  • Storyboards.
  • Process Flows.
  • Activity Diagrams.
  • Swimlane Diagrams.
  • The Brown Cow Model.
  • Business Rules.
  • Domain Models.
  • Business Data.
  • Entity Relationship Diagrams.
  • Data Flow Diagrams.
  • State Models.
  • Features.
  • Project Vision.
  • Software Requirements.
  • 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.