11 Tips to make the requirements definition process more effective and results more usable



Similar documents
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Requirements engineering

Requirements Management Practice Description

Requirements Management

Software Requirements, Third Edition

A Comparison of SOA Methodologies Analysis & Design Phases

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

ITIL Service Lifecycles and the Project Manager

Requirements engineering and quality attributes

Requirements Engineering Process

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Surveying and evaluating tools for managing processes for software intensive systems

TOGAF usage in outsourcing of software development

Chap 1. Introduction to Software Architecture

Basic Unified Process: A Process for Small and Agile Projects

Karunya University Dept. of Information Technology

Appendix 2-A. Application and System Development Requirements

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Enterprise Architecture Assessment Guide

White Paper What Solutions Architects Should Know About The TOGAF ADM

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

To introduce software process models To describe three generic process models and when they may be used

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

VAIL-Plant Asset Integrity Management System. Software Development Process

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

The Role of the Software Architect

Software Development in the Large!

Approach to Service Management

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Requirements Definition and Management Processes

TOGAF TOGAF & Major IT Frameworks, Architecting the Family

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Becoming a Business Analyst

Software Architecture Action Guide. Why do we care about Software Architecture?

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

TOGAF. TOGAF & Major IT Frameworks, Architecting the Family. by Danny Greefhorst, MSc., Director of ArchiXL. IT Governance and Strategy

CREDENTIALS & CERTIFICATIONS 2015

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

Oracle Real Time Decisions

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

How To Develop Software

Object-Oriented Systems Analysis and Design

Software Development Life Cycle (SDLC)

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Realizing business flexibility through integrated SOA policy management.

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Increasing Development Knowledge with EPFC

Enterprise Architecture at Work

Five best practices for deploying a successful service-oriented architecture

JOURNAL OF OBJECT TECHNOLOGY

Applying 4+1 View Architecture with UML 2. White Paper

Aerospace Software Engineering

CDC UNIFIED PROCESS PRACTICES GUIDE

IV. Software Lifecycles

Balancing the Outsourcing Equation

Program Lifecycle Methodology Version 1.7

Analysis and Design with UML

Development of AUTOSAR Software Components within Model-Based Design

IT Financial Management and Cost Recovery

The role of integrated requirements management in software delivery.

CS4507 Advanced Software Engineering

(BA122) Software Engineer s Workshop (SEW)

Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar

SOA: The missing link between Enterprise Architecture and Solution Architecture

Interactive system specification. Interactive system definition. Issues to be taken into account for interactive systems

CDC UNIFIED PROCESS PRACTICES GUIDE

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

How to bridge the gap between business, IT and networks

Redesigned Framework and Approach for IT Project Management

White Paper. Business Analysis meets Business Information Management

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Requirements Traceability. Mirka Palo

Introduction to ITIL for Project Managers

Quantification and Traceability of Requirements

CACI Cloud Consulting Services

CMS Policy for Configuration Management

Towards Collaborative Requirements Engineering Tool for ERP product customization

Data Modeling Basics

EU CUSTOMS BUSINESS PROCESS MODELLING POLICY

What is a life cycle model?

Iterative Project Management 1

JOB DESCRIPTION APPLICATION LEAD

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

How To Understand The Business Analysis Lifecycle

How To Understand The Software Development Lifecycle

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

The IT Infrastructure Library (ITIL)

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Software Engineering Reference Framework

see >analyze >control >align < WhitePaper > planningit: alfabet s Logical IT Inventory

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

How To Compare Itil To Togaf

Transcription:

1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to project. 1. Do timely scoping to organize work From the s point of view, the ultimate reason for scoping is to ensure the integrity of s that you produce. Without correctly scoping your work, you may produce the s that are not needed or redundant with the s produced by others. You may also omit some important s (Figure 1). Either reason may translate into poor designs or even solutions that do not work. Redundant scope Scope conflict Your peer scope Your scope Team scope Project scope Missed scope Redundant scope Figure 1 'scoping' anomalies 2. Assess what categories of are right for a project Understanding implementation differences and standardizing on only certain categories of s is essential to a project as it affects the selection of methodology and tools. The most commonly used flavors of s are functional and nonfunctional, however other types may need to be occasionally captured as well, such as s, and operational, contract, and process s. (See Figure 2 below.)

2 Requirement Solution Requirement Organizational / Operational Requirement Process/project Requirement Non-functional Constraint Behavioural Algorithmic Figure 2 Requirement categories "Project and process s" have a project perspective and include things like tasks, objectives, and methodology. "Organizational and operational s" span the entire enterprise and include, among other things, training, monitoring, and configuration issues. Within the solution implementation space functional s describe flows and activities, while non-functional s describe their execution characteristics, and s describe their limitations. Additionally, a project may need to capture events, needs, dependencies and other solution or enterprise s which would otherwise be captured during the pre-project work. 3. Adapt a standard methodology that deals with s Normally, a company would either reuse a standard methodologies (Figure 3) or develop its own methodology that, usually, inherits from a standard methodology. An advantage of an of-the-shelf standard methodology over a custom one is, however, in a much larger pool of information and guidance available to its users.

3 RUP/UP - Use Cases - Non-functional -Constraints ITIL OPEN - Function -Data -Quality -Interface -Constraints COBIT PMBOK -Scope -Quality -Communication -Compliance - Integration -Data... - Governance - IT - Process - Data -Automation... Agile Whichever types a project team deems necessary MSF - Personas - Usage scenarios - Quality attributes - Quality of service... Figure 3 Popular methodologies and frameworks and their s scope Understanding that types of s that are expected is a good departing point in a process of choosing the right methodology. Here are some other questions to ask: does the methodology support all identified categories of s? how comfortable are you and your team are with the methodology? how much guidance on the methodology is available to the team? how well the methodology is supported by tools? 4. Choose a s tool that fits the methodology Tools are as critical because they provide the process guidance and ensure that the methodology is correctly followed. The effort required to support any given discipline may spread over multiple project phases which, in turn, affects the tool usage (Figure 4).

4 Phases of a project Pre-project planning Definition Design Implementation Transition Enterprise architecture tool Definition, Analysis, and Management tool Design tool Implementation tool tool usage cycle Figure 4 Illustration of domain tool usage throughout project phases The tool selection for the discipline has to revolve around the categories identified in the beginning of the project and the chosen project methodology. Since functional s are formulated differently then non-functional s and s they also demand a different tool. 5. Implement a s grouping strategy to support growth A need for the s categorization is usually recognized when their number reaches a threshold at which managing them from the same pool becomes uncomfortable. A typical solution then is to group s into logical classes, according to a pre-defined criteria (Figure 5). A criteria used for grouping may vary from project to project and typically depends on such factors as a project type, identified categories, and a project methodology. Some of the most common criteria are: by importance by delivery factors (iteration and priority) by resource assignment (John Smith, and Vitalie Temnenco) by expected physical components (screens, web pages, and reports) by common solution layers (integration, user interface, and business logic) by business context (function, area, and process)

5 Figure 5 Examples of using grouping to classify s 6. Maintain a balance between different types of s The problem often is that when a functional methodology is selected as a principal in project, the non-functional s are largely ignored (or viceversa), which results in ill-suited implementations that cannot fulfill, presumably, the poorly documented needs. All categories are important to a successful implementation and must be paid adequate attention during a project (Figure 6). Ideally, all s should be confined in a single document where they can be crosslinked for quick traceability. In practice, some methodologies separate s into different documents, according to their type. Notwithstanding the actual s and project configurations, a balance between distinct categories must be maintained. Maintaining a balance is the key to delivering solutions that meet users' needs. Non-functional Non-functional Non-functional Non-functional Solution Solution Non-functional Non-functional Solution Solution Organization Organization Process Project Project Project Figure 6 Conceptual s composition

6 7. Introduce a s definition process management is an evolutionary process that kicks in when the is discovered and completes after it is implemented and tested. Few realizations of a s definition process were put together by different companies which resulted in some terminology differences. Generally, a process is an iterative activity that looks something like shown in the Figure 7. While larger projects may require a process that consists of multiple phases and activities, smaller projects may get away with less rigor. From a point of view of a solution implementation methodology, such as RUP or ITIL 1, s definition starts long before an implementation project commences. The Conception, therefore, does not belong to a solution implementation methodologies lifecycle. It belongs to a domain of Enterprise Architecture which has its own implementation methodologies, such as the TOGAF 2 [5]. The enterprise architecture is a domain of its own with the main objectives of identifying solution needs and creating an implementation blueprint, which leaves the solution definition s gathering to the implementation projects. Conception - Identify needs - examine options Generation - define s - produce s specification Analysis - assess impacts - determine acceptability - determine implmentability & testability Inspection - discuss proposed s - discuss operational scenarios - identify and correct issues, and errors Approval - evaluate risks and benefits - decide on resource expenditures -establish a s baseline 1 ITIL stands for the Information Technology Infrastructure Library. For more information about ITIL go to www.itil.org and www.itilcommunity.com 2 TOGAF stands for The Open Group Architecture Framework. For more information about TOGAF go to www.opengroup.org

7 Figure 7 Sample Definition Process 8. Start high-level, low-detail and iterate During the s definition process capture the high-level knowledge first, as it will further drive the definition of more granular s. Although this is generally a "common sense" principle, it is also an often violated one. Do not push for more detail until you, as well as the other stakeholders (!), are comfortable with the present level of detail, as this is key to maintaining s in-check, and users satisfied. As far as the s definition process is concerned, you should never proceed to the next iteration 3 of the Generation until the Inspection phase (Figure 7) is successfully completed and all issues and errors resolved with the stakeholders. 9. Use interface prototyping to elicit and analyze s Interface prototyping has very different objectives from proof-of-concept prototyping. Few main objectives of user interface prototyping are: To elicit s through visual presentation and dialog with users and more specifically to discover new actors and use cases To gather users feedback on visual look and navigation To educate users and reduce implementation risks associated with look and feel and behavior exposed through the GUI The first objective listed is of the most help for s analysis as it allows discovering new and refining existing s, actors, and use cases (Figure 8). An alternative is to model s visually using UML or another graphical presentation scheme. Claim Management Claim Adjudication Claim Adjudicator Claim Details Case Manager Edit Claim Re-open a Claim Close Re-open Cancel Close a Claim 1. System checks if.. 2. System asks the... 3. Case Manager conf.... 3 Do not mix up an iteration of the Definition Process (RDP) with a concept of an iteration that exists in RUP and other project methodologies as they are not the same thing. Aligning the iterations of the RDP with iterations of RUP is a project-level activity.

8 Figure 8 Example of using interface prototyping to elicit s 10. Model s visually Draw a picture or two to promote the s you created. Not only the functional s, such as use cases, may be depicted, but the nonfunctional s and s can be visualized as well (Figure 9). If visual modeling is not a part of the methodology you selected, then you may still visualize s using a standard notation or a free format. Use Cases Activity diagrams maps Free-format visualizations Figure 9 Sample types of visualizations Note that some tools support automatic s visualization [4] a feature that may help to reduce duration and improve precision of your work. Interface s prototyping is yet another visualization technique that may be useful from time to time. 11. Consider using s for planning purposes A well organized s specification is a highly valuable source of information about the project. The simplest thing to do would be to take the s structure you created and export it as a hierarchy that can be loaded in a project management tool. Majority of tools let you do just that, while some, like Optimal Trace, ship with the pre-defined format map for the Microsoft Project tool (Figure 10). Figure 10 Example of using s for project planning Conclusion I have to run, but here are some more tips:

Start s work early Obtain as much theoretical knowledge of the business domain as possible Study the existing solutions Analyze usage scenarios and using environment for the solution Use collaborative tools, such as forums to discuss s Start and complete s elicitation with the dialog with the users Do not create multiple editable instances of the s document 9