The document discusses the software requirements process and what constitutes a software requirement. It addresses that a software requirement can exist at the business, user, or functional level and includes conditions or capabilities needed by stakeholders. Requirements must be well-formed to be unambiguous and validateable. They should be documented to ensure common understanding as a project progresses.
This document discusses requirement types and how they should be categorized and used. It defines requirements and lists several common types, but notes there is no single agreed-upon list. It recommends organizing types by target audience, level of detail, or domain to make them more useful. Integrating multiple perspectives is important to fully understand requirements like the blind men and elephant story illustrates. Examples from Borland, EDS, and BABOK demonstrate categorizing types to improve communication and effectiveness.
This document outlines RJS Software's solution design and business analysis process. It discusses conducting a solution design to comprehensively plan IT projects by analyzing business processes, identifying improvement areas, and establishing a project plan. It also describes how a business analysis can help optimize current software and systems. The six-step process involves: 1) understanding the problem, 2) identifying goals and requirements, 3) mapping the current process, 4) designing the solution, 5) calculating ROI, and 6) documenting and presenting the solution design. Conducting this analysis helps ensure stakeholders agree on objectives, requirements are defined, and surprises are avoided during implementation.
Structured Approach to Solution ArchitectureAlan McSweeney
The role of solution architecture is to identify answer to a business problem and set of solution options and their components. There will be many potential solutions to a problem with varying degrees of suitability to the underlying business need. Solution options are derived from a combination of Solution Architecture Dimensions/Views which describe characteristics, features, qualities, requirements and Solution Design Factors, Limitations And Boundaries which delineate limitations. Use of structured approach can assist with solution design to create consistency. The TOGAF approach to enterprise architecture can be adapted to perform some of the analysis and design for elements of Solution Architecture Dimensions/Views.
Learn about the importance of measuring the right things and how to use metrics and data to improve performance. Get the right metrics and KPIs to improve performance so you can deliver on your organization’s most important initiatives.
Read The Seven Deadly Sins of Agile Measurement http://2ral.ly/Zqa to make sure you’re measuring performance in a way that actually improves results.
The document discusses key performance indicators (KPIs) for social media moderators. It provides information on developing KPIs, including defining objectives and key result areas, identifying tasks, and determining how to measure results. The document recommends that KPIs be clearly linked to strategy and empower employees. It also lists different types of KPIs such as process, input, output, leading, and lagging KPIs. Additional KPI materials can be found on the kpi123 website.
This document discusses requirement types and how they should be categorized and used. It defines requirements and lists several common types, but notes there is no single agreed-upon list. It recommends organizing types by target audience, level of detail, or domain to make them more useful. Integrating multiple perspectives is important to fully understand requirements like the blind men and elephant story illustrates. Examples from Borland, EDS, and BABOK demonstrate categorizing types to improve communication and effectiveness.
This document outlines RJS Software's solution design and business analysis process. It discusses conducting a solution design to comprehensively plan IT projects by analyzing business processes, identifying improvement areas, and establishing a project plan. It also describes how a business analysis can help optimize current software and systems. The six-step process involves: 1) understanding the problem, 2) identifying goals and requirements, 3) mapping the current process, 4) designing the solution, 5) calculating ROI, and 6) documenting and presenting the solution design. Conducting this analysis helps ensure stakeholders agree on objectives, requirements are defined, and surprises are avoided during implementation.
Structured Approach to Solution ArchitectureAlan McSweeney
The role of solution architecture is to identify answer to a business problem and set of solution options and their components. There will be many potential solutions to a problem with varying degrees of suitability to the underlying business need. Solution options are derived from a combination of Solution Architecture Dimensions/Views which describe characteristics, features, qualities, requirements and Solution Design Factors, Limitations And Boundaries which delineate limitations. Use of structured approach can assist with solution design to create consistency. The TOGAF approach to enterprise architecture can be adapted to perform some of the analysis and design for elements of Solution Architecture Dimensions/Views.
Learn about the importance of measuring the right things and how to use metrics and data to improve performance. Get the right metrics and KPIs to improve performance so you can deliver on your organization’s most important initiatives.
Read The Seven Deadly Sins of Agile Measurement http://2ral.ly/Zqa to make sure you’re measuring performance in a way that actually improves results.
The document discusses key performance indicators (KPIs) for social media moderators. It provides information on developing KPIs, including defining objectives and key result areas, identifying tasks, and determining how to measure results. The document recommends that KPIs be clearly linked to strategy and empower employees. It also lists different types of KPIs such as process, input, output, leading, and lagging KPIs. Additional KPI materials can be found on the kpi123 website.
Solution architects must be aware of the need for solution security and of the need to have enterprise-level controls that solutions can adopt.
The sets of components that comprise the extended solution landscape, including those components that provide common or shared functionality, are located in different zones, each with different security characteristics.
The functional and operational design of any solution and therefore its security will include many of these components, including those inherited by the solution or common components used by the solution.
The complete solution security view should refer explicitly to the components and their controls.
While each individual solution should be able to inherit the security controls provided by these components, the solution design should include explicit reference to them for completeness and to avoid unvalidated assumptions.
There is a common and generalised set of components, many of which are shared, within the wider solution topology that should be considered when assessing overall solution architecture and solution security.
Individual solutions must be able to inherit security controls, facilities and standards from common enterprise-level controls, standards, toolsets and frameworks.
Individual solutions must not be forced to implement individual infrastructural security facilities and controls. This is wasteful of solution implementation resources, results in multiple non-standard approaches to security and represents a security risk to the organisation.
The extended solution landscape potentially consists of a large number of interacting components and entities located in different zones, each with different security profiles, requirements and concerns. Different security concerns and therefore controls apply to each of these components.
Solution security is not covered by a single control. It involves multiple overlapping sets of controls providing layers of security.
The document discusses software architecture, where it comes from, and what it is. Architectures are influenced by system stakeholders and their requirements, the developing organization, and the architects' experience. An architecture defines elements, their relationships, and properties. It is important because it represents early design decisions, dictates implementation, organizational structure, and quality attributes. Architectural patterns, reference models, and reference architectures capture common architectural elements but are not full architectures themselves.
The document discusses Leverages Co.'s data-driven initiatives to improve service quality. It introduces the speaker and their role as head of the Data Strategy Office. It then outlines some of Leverages' challenges around customer experience, employee productivity and marketing ROI. It provides an overview of their data infrastructure and tools used for analysis like Python, R and SQL. It presents three case studies: 1) calculating LTV and optimizing ad spend, 2) analyzing resume data to enable better matching and search, and 3) a proof of concept using model interpretability for input assistance.
What is the Value of Mature Enterprise Architecture TOGAFxavblai
This document summarizes the key points made by Judith Jones, CEO of Architecting the Enterprise, in her presentation at the Telelogic Conference on November 4th 2008 about the value of mature enterprise architecture. She discusses how enterprise architecture exists within every organization and affects its efficiency and effectiveness. It is not optional. She outlines TOGAF as the industry standard architecture framework and how it provides best practices and professionalism. Mature enterprise architecture helps organizations get work done quicker, reduce risks, and lower running costs, demonstrating its business value.
The document is a guide to the Business Analysis Body of Knowledge (BABOK), which defines the profession of business analysis. It describes the knowledge areas, tasks, skills, and techniques that business analysts use to work with stakeholders and recommend solutions that help organizations achieve their goals. The guide provides an introduction to key business analysis concepts and structures the remainder of the document around knowledge areas, tasks, competencies, and techniques.
1. The document discusses two approaches to displaying attachment files from a SharePoint custom list in Power Apps.
2. The first approach uses a "gallery within a gallery" to display attachment files nested within the main gallery. The second approach forcibly moves the standard "Attachments" control into a gallery.
3. Both approaches have benefits and drawbacks. The gallery within gallery method has more flexibility but is more complex, while moving the attachments control is easier but has less customization. Choosing the best approach depends on priorities like flexibility versus simplicity.
Requirement engineering is the process of identifying stakeholders' needs and defining the requirements of a system. The presenter outlines key activities in requirement engineering including elicitation, analysis, modeling, communication, management, agreeing, and evolving requirements. Research focuses on improving elicitation techniques, quality requirements, risk analysis, scenario modeling, formal modeling, and bridging the gap between research and practice in requirements engineering.
The document discusses various aspects of software design including the design process, concepts, models, heuristics, and styles. It describes software design as translating requirements into a finished product through iterative refinement. Key aspects covered include data/class design, architectural design, interface design, component design, abstraction, modularity, patterns, and information hiding. Architectural styles provide patterns for creating system architecture for given problems.
The Requirements Process Workshop PresentationIvarsLenss
The document discusses the requirements process. It defines requirements, explains how requirements are developed and elicited from stakeholders, and how they are modeled. The key steps in the requirements process are requirements planning, elicitation using techniques like interviews and workshops, and modeling requirements using analytical models to express different views. Maintaining good requirements is important as defects found later in the project life cycle are much more costly to fix.
Vinit Kumar Maurya has over 5 years of experience in software development and IT support. He has expertise in Maximo customization, implementation, and support. He has worked on projects in various domains including utilities, mining, and nuclear energy. Currently, he works as a Senior Software Engineer at Tech Mahindra on projects involving Maximo and middleware technologies.
Solution architects must be aware of the need for solution security and of the need to have enterprise-level controls that solutions can adopt.
The sets of components that comprise the extended solution landscape, including those components that provide common or shared functionality, are located in different zones, each with different security characteristics.
The functional and operational design of any solution and therefore its security will include many of these components, including those inherited by the solution or common components used by the solution.
The complete solution security view should refer explicitly to the components and their controls.
While each individual solution should be able to inherit the security controls provided by these components, the solution design should include explicit reference to them for completeness and to avoid unvalidated assumptions.
There is a common and generalised set of components, many of which are shared, within the wider solution topology that should be considered when assessing overall solution architecture and solution security.
Individual solutions must be able to inherit security controls, facilities and standards from common enterprise-level controls, standards, toolsets and frameworks.
Individual solutions must not be forced to implement individual infrastructural security facilities and controls. This is wasteful of solution implementation resources, results in multiple non-standard approaches to security and represents a security risk to the organisation.
The extended solution landscape potentially consists of a large number of interacting components and entities located in different zones, each with different security profiles, requirements and concerns. Different security concerns and therefore controls apply to each of these components.
Solution security is not covered by a single control. It involves multiple overlapping sets of controls providing layers of security.
The document discusses software architecture, where it comes from, and what it is. Architectures are influenced by system stakeholders and their requirements, the developing organization, and the architects' experience. An architecture defines elements, their relationships, and properties. It is important because it represents early design decisions, dictates implementation, organizational structure, and quality attributes. Architectural patterns, reference models, and reference architectures capture common architectural elements but are not full architectures themselves.
The document discusses Leverages Co.'s data-driven initiatives to improve service quality. It introduces the speaker and their role as head of the Data Strategy Office. It then outlines some of Leverages' challenges around customer experience, employee productivity and marketing ROI. It provides an overview of their data infrastructure and tools used for analysis like Python, R and SQL. It presents three case studies: 1) calculating LTV and optimizing ad spend, 2) analyzing resume data to enable better matching and search, and 3) a proof of concept using model interpretability for input assistance.
What is the Value of Mature Enterprise Architecture TOGAFxavblai
This document summarizes the key points made by Judith Jones, CEO of Architecting the Enterprise, in her presentation at the Telelogic Conference on November 4th 2008 about the value of mature enterprise architecture. She discusses how enterprise architecture exists within every organization and affects its efficiency and effectiveness. It is not optional. She outlines TOGAF as the industry standard architecture framework and how it provides best practices and professionalism. Mature enterprise architecture helps organizations get work done quicker, reduce risks, and lower running costs, demonstrating its business value.
The document is a guide to the Business Analysis Body of Knowledge (BABOK), which defines the profession of business analysis. It describes the knowledge areas, tasks, skills, and techniques that business analysts use to work with stakeholders and recommend solutions that help organizations achieve their goals. The guide provides an introduction to key business analysis concepts and structures the remainder of the document around knowledge areas, tasks, competencies, and techniques.
1. The document discusses two approaches to displaying attachment files from a SharePoint custom list in Power Apps.
2. The first approach uses a "gallery within a gallery" to display attachment files nested within the main gallery. The second approach forcibly moves the standard "Attachments" control into a gallery.
3. Both approaches have benefits and drawbacks. The gallery within gallery method has more flexibility but is more complex, while moving the attachments control is easier but has less customization. Choosing the best approach depends on priorities like flexibility versus simplicity.
Requirement engineering is the process of identifying stakeholders' needs and defining the requirements of a system. The presenter outlines key activities in requirement engineering including elicitation, analysis, modeling, communication, management, agreeing, and evolving requirements. Research focuses on improving elicitation techniques, quality requirements, risk analysis, scenario modeling, formal modeling, and bridging the gap between research and practice in requirements engineering.
The document discusses various aspects of software design including the design process, concepts, models, heuristics, and styles. It describes software design as translating requirements into a finished product through iterative refinement. Key aspects covered include data/class design, architectural design, interface design, component design, abstraction, modularity, patterns, and information hiding. Architectural styles provide patterns for creating system architecture for given problems.
The Requirements Process Workshop PresentationIvarsLenss
The document discusses the requirements process. It defines requirements, explains how requirements are developed and elicited from stakeholders, and how they are modeled. The key steps in the requirements process are requirements planning, elicitation using techniques like interviews and workshops, and modeling requirements using analytical models to express different views. Maintaining good requirements is important as defects found later in the project life cycle are much more costly to fix.
Vinit Kumar Maurya has over 5 years of experience in software development and IT support. He has expertise in Maximo customization, implementation, and support. He has worked on projects in various domains including utilities, mining, and nuclear energy. Currently, he works as a Senior Software Engineer at Tech Mahindra on projects involving Maximo and middleware technologies.
The document provides an overview of software architecture in an agile world. It discusses the need for speed in software development driven by factors like scaling, heterogeneous systems, and reduced infrastructure costs. It then covers foundations of software architecture including definitions, skills, deliverables, and examples of great reference architectures. The remainder outlines an agile approach to software architecture, including preparing an architecture vision, early decisions, decomposition, identifying significant elements, a risk-based roadmap, measuring progress, and communicating. The summary emphasizes that architects now play a continuous role on development teams.
The document provides an introduction to software engineering and discusses the software development process, including project management. It describes various software development models like the waterfall model and iterative development. Key aspects of project management are also covered, such as feasibility studies, requirements definition, scheduling techniques, and the role of the project manager.
Appendix AProof of effectiveness of some of the agile methods us.docxarmitageclaire49
Appendix A
Proof of effectiveness of some of the agile methods used to develop systems requirements
In all software development methodologies, the process of collecting, understanding and managing all requirements for a system is a crucial process in software development. Similar to all this other methods, agile methods are not exceptional. Most agile method handle requirements in order to implement them as much accurately as possible to satisfy all the customer demands. This is usually achieved by maintaining a continuous interaction with the customers to address their needs according to priority and functionalities. In this appendix, we shall be focusing on continuous process of improving the development process.
Some agile methods include the following
1. eXtreme Programming (XP) – it improves a software project in communication, simplicity, feedback and courage.
2. scrum- this is an agile, iterative and incremental method which takes care of all changes that may come across in the life-cycle of the project. Basically, it adds energy, focus and clarity to development teams. Its major aim is ot see the whole system being a successful product.
3. Dynamic system, development method (DSDM)
4. Adaptive software development (ASD)- this is a development process that is a product of rapid application development. It has four phases of communication and planning, analysis, testing & deployment and design and deployment.
5. the crystal family
Due to availability of these various methods, the potential adopters may experience a challenge of determining what to apply on its own and therefore there was need to define a document containing all the necessary values and common qualities to be used across all agile methods. This document is the Agile Manifesto and focuses mainly on human interactivity and processes management.
1. Individual and interaction over various processes and tasks. Usually the agile process will focus more on people and their interactivity but not on the structural processes and tools.
2. Working software and documentation. Main objective of the developers is actually delivering a functional code which will always add value to our users. Well documented code is always self-documented.
3. Responding to change over planning. Here developers are required to respond very fast to the requirements variations. Time used in planning is minimal compared to what our users actually requires.
4. Customer collaboration over contracts. The mutual relationship of the developers and susers of our system is monitored and regulated through engaging the customer in the development process.
The figure below shows the steps in agile methodologies which focus on an iteration and adaptable change.
5.
Tools needed for requirement management in agile methods of system development.
1. The most popular tools in agile methods include paper, pencil a drawing pin board. If we consider eXtreme programming requirements are obtained from user stories which ar.
The SDP was created to provide a single access point for partners to connect to O2's capabilities through standardized protocols. It launched in 2005 with 6 core services accessible through a single security model. Since then, it has reduced time to market, increased integrations and deliveries, and will continue to transform to further improve reuse, flexibility and speed of development through additional services and APIs. Key tips for implementing an SDP include thorough documentation, a standardized security model, support for common programming languages, independent governance, and allowing time for migrating applications.
The document summarizes key concepts from a lecture on requirement engineering. It defines requirements as descriptions of the services and constraints needed for a system. Requirement engineering is the process of discovering, analyzing, documenting, and validating system requirements through tasks like stakeholder interviews, document analysis, and specification. It explains that requirements come from users and stakeholders, and are documented in various forms like user requirements, system requirements, and software design specifications to communicate needs to different audiences like clients, engineers, and developers.
The document discusses the structure and content of a software requirements specification (SRS) document. It defines the SRS as stating the functions, characteristics, and constraints that a software system must provide. It notes that the SRS serves as the basis for project planning, design, coding, testing, and documentation. It also lists some common audiences for the SRS, such as customers, developers, testers, and maintenance staff. Finally, it provides recommendations for labeling individual requirements with unique identifiers and discusses pros and cons of including user interface designs in the SRS.
This document provides an agenda for a training on WebSphere Message Broker concepts, technical walkthroughs, and application development. The agenda covers prerequisites, introductions to application integration challenges, enterprise application integration, service oriented architecture, the enterprise service bus, WebSphere Message Broker, ESQL, developing applications using ESQL, Java, and mappings. It also covers installing and configuring WebSphere Message Broker, examples, and troubleshooting. The training will provide concepts and hands-on labs related to integrating applications and developing integration solutions using WebSphere Message Broker.
The document discusses the importance of taking a top-down approach to network design that begins by analyzing business goals and constraints. It emphasizes understanding the applications used, user needs, and collecting information on the existing network before developing logical and physical network designs. The network design process involves multiple phases including analyzing requirements, developing logical and physical designs, testing and optimizing the network, and documenting the final design.
Sudhir Srivastava is a senior software engineer with over 4 years of experience in Java/J2EE development. He is currently working on the Global Sales Platform for MetLife Insurance, which provides quoting and point of sale capabilities using technologies like Spring, Hibernate, and IBM WebSphere. Previously, he worked on the Enterprise Claim System for StateFarm Insurance, developing solutions involving Java, XSL, and DB2 and providing defect support. He has expertise in the software development life cycle, agile methodologies, and technologies like Java, SQL, and XML.
The document discusses various types of computer software including application software, system software, and operating systems. It provides examples of popular productivity software, integrated software suites, web browsers, email clients, spreadsheets, and presentation software. It also describes the functions of operating systems such as managing resources, files, tasks, and providing a user interface. Case studies are presented on companies using software for accounting, data sharing, and law enforcement.
Microsoft Dynamics CRM and xRM were presented as platforms for managing relationships across various entities through a flexible and customizable application framework. xRM allows building industry-specific or line-of-business applications more quickly and at a lower cost than custom development by providing reusable components, a consistent user experience, and a shared environment and resources. Examples of government and commercial organizations successfully using xRM for tasks, grants, and other relationship management were described.
1. Requirements engineering is concerned with identifying user needs and communicating the purpose and context of a software system.
2. There are different levels and types of requirements including business, user, and system requirements. Good requirements are unitary, complete, consistent, unambiguous, and verifiable.
3. The requirements engineering process includes elicitation, analysis, specification, verification and documentation according to standards. Effective requirements engineering is critical for project success.
Using the power of OpenAI with your own data: what's possible and how to start?Maxim Salnikov
This document provides an overview of a talk by Maxim Salnikov and Jon Jahren at Oslo Spektrum from November 7-9. It discusses using OpenAI with your own data and how to get started. Examples of enterprise use cases for generative AI are presented, such as chatbots, document indexing, and financial analysis. Tools for prompt engineering like LangChain and Semantic Kernel are introduced. Best practices for fine-tuning models on proprietary data are covered, including data formatting, training data size, and an iterative tuning process. Responsible AI techniques like grounding responses and maintaining a positive tone are also discussed.
This document discusses how APIs can act as digital connectors for enterprises. It notes that business is often shortsighted in prioritizing quick wins over future-proof solutions. The document advocates for an agile, iterative approach focused on the consumer where APIs are designed at every layer from frontend to backend. It outlines how microservices architectures and RESTful APIs have become the standard for building flexible systems and encouraging innovation. The key is providing documentation, samples and support to help developers adopt the new API-led approaches.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This document provides a professional profile for Siddarth Mandalika, a senior technical writer with over 5 years of experience in technical writing and 9 years of total corporate experience. He has worked on documentation projects for Cisco Prime LAN Management Solution, PNOC SP Video, PNOC SP Wi-Fi, Service Provisioning Platform, and Cisco IOS XE. Siddarth has experience using documentation tools like Adobe FrameMaker and capturing tools like Snag IT. He holds an MBA and Bachelor's in Commerce and has worked in roles involving technical writing, editing, recruiting, and administration.
Human Factors in Product Data Management outlines a process for evaluating the usability of Product Data Management (PDM) systems using human factors methods. The process involves:
1. Identifying user profiles and scenarios based on common tasks.
2. Performing a Collaboration Usability Analysis of the tasks and subtasks to evaluate ease of use and learnability.
3. Heuristically evaluating the user interface against standards for suitability, learnability, controllability and error prevention.
4. Scoring and analyzing the results to identify low usability tasks and provide recommendations for improving the system design and user interactions.
Flexible Custom Workflows for Banner ERP and the CampusBonitasoft
BonitaSoft and our partner, Vivantech presented at the Banner User Conference on creating 'Flexible Custom Workflows for Banner ERP and the Campus.' Learn advice and tips on workflow options for BannerERP, and ideas on how to extend other functionalities of ERP with computerized forms.
Similar to Software Requirements Workshop Presentation (20)
2. What Is a Requirement?
(1) A condition or capability needed by a stakeholder
to solve a problem or achieve an objective.
(2) A condition or capability that must be met or
possessed by a system or system component to
satisfy a contract, standard, specification, or other
formally imposed documents.
(3) A documented representation of a condition or
capability as in (1) or (2)
Source: IEEE Std 610.12-1990
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
3. What Is a Requirement?
The IIBA built on the IEEE definition:
A requirement is a condition or capability needed by a
stakeholder to solve a problem or achieve an
objective.
[source: IIBA Business Analysis Body of Knowledge (IIBA, 2008]
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
4. What Does a Requirement Look Like?
• A sentence (“The system shall…”)
• A structured sentence (as in a business rule)
• A structured text template
• A table or spreadsheet (list of stakeholders)
• A diagram (workflow)
• A model (entity-relationship diagram and details)
• A prototype
• A graph
• Any format that communicates
[source: Seven Steps to Mastering Business Analysis, Barret, 2009]
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
5. How Requirements Work
Requirements are not solutions
Design translates requirements into solutions
Many stakeholders mix requirements with their
proposed solutions
Requirements gathering is discovering the
essence of the system
Essence is the business reason of the work -
what the work would be if there was no project
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
6. Raw Requirements
A raw requirement is an environmental or customer
requirement that has not been analyzed and
formulated as a well-formed requirement. (IEEE Std 1233, 1998 Edition)
Higher-level statements of the business
goals, objectives, and success factors
Often expressed in initiating documents
Often vague and subjectively interpreted
Can be intermingled with ideas and
suggestions for potential designs
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
7. Example
Requirement: “The traffic monitor running in the
background shall provide status messages at
regular intervals not less than every minute.”
What are the status messages?
How are they provided to the user?
If displayed, how long are they displayed?
What is the acceptable timing interval?
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
8. Well-Formed Requirements
A well-formed requirement is a statement of system functionality
(a capability) that can be validated, and that must be possessed
by a system to solve a customer objective, and is qualified by
measurable conditions and bounded by constraints. (IEEE Std 1233, 1998 Edition)
Abstract: Independent of its implementation
Unambiguous: Interpreted in only one way
Traceable: Associated with source
Validateable: Fit criteria
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
9. Example
Requirement: “The traffic monitor running in the
background shall provide status messages at
regular intervals not less than every minute.”
The traffic monitor shall display status
messages in a designated area of the user
interface
The messages shall be updated every 60
seconds, plus or minus five seconds
Messages shall remain visible continuously
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
10. Requirements Classification
Functional Requirements
- Things the product must do
- Action verbs – calculate, produce, inspect, publish
Nonfunctional Requirements
- Qualities the product must have
- Look and feel, performance, security, regulatory
Constraints
- Boundaries and limits on the solution
- Business constraints
- Technical constraints
- Glossary and naming conventions
- Training, knowledge transfer
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
11. Examples
Functional
The rail system shall move people from San
Francisco to Los Angeles
Nonfunctional
The rail system shall operate at an optimal
cruise speed of 100 miles per hour
Constraint
The rail system shall operate at a maximum
speed of 130 miles per hour
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
12. Software Requirements Approaches
Traditional
Requirements specification produced before
starting design and build
Agile
Developers and architects do not have a
requirements specification as a starting point
The requirements are somewhere (they separate
the what from the how)
If you identify a requirement, record it
Incremental
Combination of traditional and agile approaches
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
13. Why Document Requirements?
People forget things
Verbal communication is subjective
People sometimes answer the same question differently
if asked twice
Writing something down forces a person to think about
it more carefully than when they say it
Having more eyes to review highlights ambiguity
New people joining the project need to know
requirements
If it’s not in writing, it doesn’t exist
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
14. What are Software
Requirements?
PMI Tools & Techniques Forum
Ivars K. Lenss, PMP
15. What is a Software Requirement?
Software requirements include 3 distinct levels
Business Requirements
Why the project exists
Business objectives
User requirements
What the user will be able to do with the product
Functional requirements
Behaviors or operations under specific conditions
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
16. What is a Software Requirement?
Nonfunctional requirements
Properties or qualities that the solution must have (look
& feel, usability, performance, operational,…)
Technical constraints
Pose restrictions on acceptable solution options:
Predetermined language
Predetermined hardware
Restrictions on message sizes, software sizes, number and size
of files, protocols, architecture standards, etc.
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
17. Software Requirements Players
Customer
User
Supplier
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
18. Software Requirements Levels
SOFTWARE REQUIREMENTS
BUSINESS BUSINESS USER FUNCTIONAL
DESIGN BUILD
ANALYSIS REQUIREMENTS REQUIREMENTS REQUIREMENTS
CUSTOMER USER SUPPLIER
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
19. User Requirements
Bridge the requirements of the business and the
requirements of the software
A user is anyone who is affected by the project
Includes people and external systems that interact directly
Includes people and external systems that receive system
by-products (reports, decisions, questions)
Software development provokes change in the
behavior of users
Business workflow often changes, along with
policies, procedures, interactions between people
When defining user requirements, users will be
faced with decisions about how and where to change
their work
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
20. Functional Requirements
Describe software functionality that
developers must build
Sometimes called behavioral
requirements
Typically in the form of “shall”
statements
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
21. Software Requirements Specification
Basic issues addressed in an SRS are:
Functionality
External interfaces
Performance
Non-functional requirements
Constraints imposed on the solution
[IEEE Standard]
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
23. Exercise
You have been assigned a project to manage
development of software for an ATM machine.
Your customer provides you with some business
requirements, a use case diagram and
architecture diagram for the ATM machine.
You are planning to meet with your stakeholders
to discuss software requirements.
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
24. Use Case Diagram
ATM
START
SESSION CANCEL
TRANSACTION
VIEW
BALANCE
WITHDRAW
CASH
BANK
CUSTOMER TRANSFER
MONEY
MAKE
DEPOSIT
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
25. Architecture Diagram
ADMINISTRATOR
ACCESS INTERFACE MONEY
STORAGE
ATM UNIT
HARDWARE
ATM ACCESS
DEPOSIT
INTERFACE
INTERFACE
CUSTOMER ACCESS
STORAGE
ATM UNIT
INTERFACE
SOFTWARE
BANK INTERFACE CAPTURE
CUSTOMER
CARD
DATA
DATA
BASE
REPOSITIORY ATM DEVICE
INTERFACE
HOST
COMMUNICATION
MODULE
Ivars K. Lenss, BANK HOST
PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
SYSTEM
26. Exercise
Divide into groups
Each group will make a list of questions to
ask to define requirements for the ATM
software
Write any questions that you would need
to ask of your software supplier, your
users, or your customer to elicit
requirements for your software
specification
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
27. What is a Software Requirement?
Software requirements include 3 distinct levels
Business Requirements
Why the project exists
Business objectives
User requirements
What the user will be able to do with the product
Functional requirements
Behaviors or operations under specific conditions
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
28. Software Requirements Specification
Software specifications may contain all of the
functionality of the product or part of a larger
system
Larger systems will typically have an SRS
stating the interfaces between the systems
The interfaces place external performance and
functionality requirements upon the software
Avoid placing design requirements in an SRS
Specify the problem, not the solution
Specify the system, not the project
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
29. Software Requirements Attributes
Stability
Status
Acceptance criteria [metric]
Complexity [metric]
Performance [metric]
Urgency [metric]
Business value [metric]
Risk [metric]
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
30. Establishing Metrics
Project Metrics – measurements associated with
the project
Cost, effort, schedule, risk, resources, etc.
Product Metrics – measurements associated
with the product
Defects, performance, size, etc.
Software requirements are a good place to
choose appropriate product metrics
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
31. Some Useful Software Metrics
Product size
Estimated and actual duration
Estimated and actual effort
Work effort distribution
Defects
Requirements status
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
33. Requirements Patterns
Requirement patterns recur repeatedly
across commercial systems
Eight domains
1. Fundamental (things needed for any kind of system)
2. Information (information the systems needs)
3. Data Entity (divide data entities by characteristics)
4. User Function (inquiry, report, accessibility, interface)
5. Performance (how fast, how long, how big, how much)
6. Flexibility (ability to adapt to suit changing circumstances)
7. Access Control (user registration, authorization)
8. Commercial (pertaining to systems used to run a business)
Ivars K. Lenss, PMP PMI Tools & Techniques Forum Ivars@Lenss.us
March 4, 2009
Source: Software Reruirements Patterns, Withall, 2007
34. Further Reading
1. Wiegers, Karl E., Software Requirements , 2nd ed., Microsoft Press, 2003
2. Wiegers Karl, E., More about Software Requirements: Thorny Issues and
Practical Advice, Microsoft Press, 2006
3. Withall, Stephen, Software Requirement Patterns, Microsoft Press, 2007
4. Hass K., Wessels D., Brennan K., Getting It Right, Business Requirement
Analysis Tools & Techniques, Management Concepts, 2008
5. IEEE Std 830-1998, IEEE Recommended Practice for Software
Requirements Specifications
6. IEEE Std 1233, 1998 Edition, IEEE Guide for Developing System
Requirements Specifications
7. IEEE Std 1074-2006, IEEE Standard for Developing a Software Project
Life Cycle Process