Wednesday, April 15, 2009

Requirements Management & Traceability

Requirements management and traceability has always been a pain in the Software Development Life Cycle (SDLC). Luckily, for majority of small and medium sized Software companies in Pakistan, this is not an issue, because they are way ahead in their SDLC right from the word go, and often found them selves in the middle of the development phase while skipping the initial ones with out much deliberation. Too smart… if it hurts, cut it out !

Through out my career, I’ve seen very few projects following proper requirements management processes. Why I said “projects” and not “companies”? because in some cases a company which follows standard procedures and practices in one project, resort to ad hoc processes (or no processes) on other projects. There can be a number of constraints involved which ultimately boils down to time and effort (and hence cost). Though, reluctance to “change” is also a major factor.

I’m not going to argue on how to strike a balance in different working environments and circumstances in this post (next time inshaAllah (God willing)). My intention here is to share a solution with you, which we recently brain stormed and which helps us to manage requirements effectively.

Motivation: Resolve to manage & track requirements properly
Project Type: Product
Size: Medium to Large
Duration: 5 years or more
First Cut: Within a year

Hierarchy of Artifacts:

  • Project/Product (PRJ/PRD) – namespace – text - 1
    • System Requirements (SYS) – details - text – 0*
      • Sub Requirements – system requirements – SYS – 0*
    • Sub systems or Modules (MOD) – namespace - text – 0*
      • Business Processes (BPR) – flowchart – image – 0*
        • User Interface Screens (SCR) – wireframes – image – 0*
          • Screen Elements (SCE) – details – image/text – 0*
            • Screen Validation Rules (SCV) – text – 0*
        • Business Rules (BZR) – details – text – 0*
        • Sub processes – business process – BPR – 0*

Example:

  • PRD-001 – Supply Chain Management System SCMS
    • SYS-001-001 – Cross Platform (details…)
      • SYS-001-001.001 – Database (details…)
      • SYS-001-001.002 – Cross Browser UI (details…)
      • SYS-001-001.003 – …
    • SYS-001-002 – Scalable (details…)
      • SYS-001-002.001 – Web Server (details…)
      • SYS-001-002.002 – Middleware (details…)
      • SYS-001-002.003 – DB Server (details…)
      • SYS-001-002.004 – …
    • SYS-001-003 – …
    • MOD-001-001 – Inventory
      • BPR-001-001-001 – Move Stock – flowchart Image
        • SCR-001-001-001-001 – Stock Out – wireframe image
          • SCE-001-001-001-001-001 – Source Location (details…)
            • SCV-001-001-001-001-001-001 – Mandatory
            • SCV-001-001-001-001-001-002 – …
          • SCE-001-001-001-001-002 – …
        • SCR-001-001-001-002 – …
        • BZR-001-001-001-001 – …
        • BZR-001-001-001-002 – …
      • BPR-001-001-002 – …
    • MOD-001-002 – …

Now, you can map these requirement artifacts to QA (Test Cases – TC), Dev (Source Code - SC) and Content (Manuals, Guides, Help - CNT) artifacts easily to have comprehensive Traceability Matrices.

PRD SYS TC SC CNT
         
         
PRD MOD BPR SCR SCE SCV TC SC CNT
                 
                 
PRD MOD BPR BZR TC SC CNT
             
             

Monday, April 13, 2009

Stay Hungry, Stay Foolish – Steve Jobs

Drawing from some of the most pivotal points in his life, Steve Jobs, chief executive officer and co-founder of Apple Computer and of Pixar Animation Studios, urged graduates to pursue their dreams and see the opportunities in life's setbacks -- including death itself -- at the university's 114th Commencement on June 12, 2005.

Transcript of Steve Jobs' address:
http://news-service.stanford.edu/news...

Wednesday, April 1, 2009

Missing in Pakistan

Independently produced documentary about the abduction and illegal detention of Pakistani citizens by Pakistani intelligence agencies. The film is circulating informally among concerned citizens in Pakistan as the subject is too "hot" for commercial channels. Follow up.