A recurring challenge with agile practices is how to address non-functional requirements. A non-functional requirement specifies "how well" the "what" must behave. They focus on characteristics such as security, maintainability, availability and performance that typically cut across functional requirements. Improperly dealing with nonfunctional requirements leads to the source code difficult to evolve or software with an unpleasant execution quality. During this session, you will learn how to specify these recurring concerns using self-contained constraints that can be satisfied iteration after iteration, in a finite period of time. Overall, you will acquire a different perspective on how to connect requirements and architecture using agile practices.
Non functional requirements. do we really care…?OSSCube
Non Functional requirements are an essential part of a project’s success, sometimes it becomes less focused area as everyone tries to make project successful in terms of functionality. This recorded webinar uncovers what can happen if Non Functional requirements are not addressed properly. What are the after impacts? You also learn the importance of Non Functional requirement, their identification, implementation and verification.
A website have lot of interactive elements and static attributes associated with it. It contain written words’ images’ multimedia applications’ graphics etc.
Non-Functional Requirements are as important as Functional Requirements. Requirement that cannot be measured is not a requirement. NFR's are critical for successful software architecture development
This version of the presentation includes extra slides with the text of the speaker's notes as I discovered that Slideshare does not make the notes visible to users.
Non functional requirements. do we really care…?OSSCube
Non Functional requirements are an essential part of a project’s success, sometimes it becomes less focused area as everyone tries to make project successful in terms of functionality. This recorded webinar uncovers what can happen if Non Functional requirements are not addressed properly. What are the after impacts? You also learn the importance of Non Functional requirement, their identification, implementation and verification.
A website have lot of interactive elements and static attributes associated with it. It contain written words’ images’ multimedia applications’ graphics etc.
Non-Functional Requirements are as important as Functional Requirements. Requirement that cannot be measured is not a requirement. NFR's are critical for successful software architecture development
This version of the presentation includes extra slides with the text of the speaker's notes as I discovered that Slideshare does not make the notes visible to users.
Non functional performance requirements v2.2Ian McDonald
How to write and structure non-functional requirements. Focusing upon performance requirements. This is a quick get you going guide in how to avoid writing untestable requirements and make sure what you want is delivered.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Requirements engineering scenario based software requirement specificationWolfgang Kuchinke
Requirements Engineering – Writing the Software Requirements Specification (SRS). A CRI Group Workshop. The requirements engineering approach employed successfully in the EHR4CR process is shown and discussed in order to extract lessons learned and to use it for new projects.
Requirements engineering is the process of eliciting stakeholder needs and desires and develope them into an agreed set of detailed requirements. It serves as basis for all subsequent software development activities.
In general, a project begins with the requirement acquisition phase and ends with the specification of requirements in form of the Software Requirement Specification (SRS). Requirements specification may even be used to manage the consistency of the entire system.
Learning from the Requirements Engineering process in the the EU project EHR4CR. Especially the topics of Requirements Scenarios in the process of requirement gathering and the iterative writing and validation of software requirements specification (SRS) document can be applied to new projects. The Requirements Process consists of 4 steps: Requirements Elicitation – the art to receive meaningful requirements. Requirements Analysis – iterative improvement of quality of requirements. Writing the Requirements Specification document (Software Requirement Specification) and Requirements Validation - this is also done iteratively with several workshops.
Novel is the introduction of an iterative process for requirements engineering. Start with only a subset of software requirements, iterate the collection and validation until the full system is implemented. In each iteration, design modifications are made and new functional capabilities are added. Following tools for requirements gathering were used: Use Cases, Descriptions of current situation and workflow, Context diagram, Stakeholder interviews, Scenarios and Use Case workshops.
A novel scenario based approach for requirements engineering is being introduced: The domain scenario is used to estimate probable effects (situation analysis and long-range planning). The domain scenario is broken down into high-level "Usage Scenarios". Usage Scenarios describe critical business interactions and their anticipated operations; they serve as context for the use cases and the generation of requirements; they make sure requirements are complete.
Development of the SRS with involvement of scenarios: 1. Begin with Domain Scenarios; 2. Development of Usage Scenarios; 3. Software Requirements Specification document. Several round of change management were employed during writing the SRS. This possibility for correction and improvement ensured that the requirements are of high quality and applicability.
Using Doors® And Taug2® To Support A Simplifiedcbb010
In order to become a market leader, it is imperative that all stakeholders (customers, financial sponsors, developers and testers) be aware of the customer’s needs as captured in the requirements of the products and/or services that are to be produced. This is especially so within both large and small globally distributed companies since the product development organizations often are separated by geography, time and communications. An efficient way to eliminate these potential issues is to develop a common and intuitive requirements management process, which can be deployed across the product development lifecycle. The object of developing a Common Simplified Requirements Management Process is to improve customer satisfaction, eliminate escaping defects and reduce the cost of the development lifecycle. This paper describes the problems of using localised procedures and how these problems can be eliminated by implementing a common requirements management process that is intuitive, scalable and deployed across the System Development Lifecycle. This process has been supported by the industry leading DOORS tool and more recently by the TauG2 tool. An auxiliary benefit of deploying this process is that the process was developed in compliance with standardized methods of documenting and tracing requirements as expected by TL9000 and CMM/CMMI. The net benefits of this simplified requirements process include: increased customer satisfaction due to systems being developed in accordance with the customer’s needs as captured in the requirements, compliance with industry acknowledged process standards and improved cost of quality by eliminating duplication of process maintenance since a common process has been deployed across the development organization.
Introduction: What is software engineering? Software Development Life Cycle, Requirements Analysis, Software Design, Coding, Testing, Maintenance etc.
Software Requirements: Functional and Non-functional requirements, User Requirements, System Requirements, Documentation of the software requirements.
Software Processes:
Process and Project, Component Software Processes.
Software Development Process Models.
Waterfall Model. Prototyping.
Iterative Development.
The RAD Model
Handling Non Functional Requirements on an Agile ProjectKen Howard
When adjectives and adverbs appear in User Stories, they can be easily overlooked and seen as simple adornments to the story. There are a couple schools of thought on how to handle non-functional requirements on Agile projects. Mike Cohn recommends writing a User Story for each non-functional requirement, while others recommend creating task cards to drive out specification using Thomas Gilb’s approach. In this session, examples of various techniques for handling non-functional requirements will be demonstrated, with a discussion of pros and cons of each technique.
This paper describes a framework of non-functional requirements (NFR), based largely on ISO, and then goes on to provide guidance and a methodology for splitting the responsibility of determining each individual NFR between the Solution Architect and the BA.
Non functional performance requirements v2.2Ian McDonald
How to write and structure non-functional requirements. Focusing upon performance requirements. This is a quick get you going guide in how to avoid writing untestable requirements and make sure what you want is delivered.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Requirements engineering scenario based software requirement specificationWolfgang Kuchinke
Requirements Engineering – Writing the Software Requirements Specification (SRS). A CRI Group Workshop. The requirements engineering approach employed successfully in the EHR4CR process is shown and discussed in order to extract lessons learned and to use it for new projects.
Requirements engineering is the process of eliciting stakeholder needs and desires and develope them into an agreed set of detailed requirements. It serves as basis for all subsequent software development activities.
In general, a project begins with the requirement acquisition phase and ends with the specification of requirements in form of the Software Requirement Specification (SRS). Requirements specification may even be used to manage the consistency of the entire system.
Learning from the Requirements Engineering process in the the EU project EHR4CR. Especially the topics of Requirements Scenarios in the process of requirement gathering and the iterative writing and validation of software requirements specification (SRS) document can be applied to new projects. The Requirements Process consists of 4 steps: Requirements Elicitation – the art to receive meaningful requirements. Requirements Analysis – iterative improvement of quality of requirements. Writing the Requirements Specification document (Software Requirement Specification) and Requirements Validation - this is also done iteratively with several workshops.
Novel is the introduction of an iterative process for requirements engineering. Start with only a subset of software requirements, iterate the collection and validation until the full system is implemented. In each iteration, design modifications are made and new functional capabilities are added. Following tools for requirements gathering were used: Use Cases, Descriptions of current situation and workflow, Context diagram, Stakeholder interviews, Scenarios and Use Case workshops.
A novel scenario based approach for requirements engineering is being introduced: The domain scenario is used to estimate probable effects (situation analysis and long-range planning). The domain scenario is broken down into high-level "Usage Scenarios". Usage Scenarios describe critical business interactions and their anticipated operations; they serve as context for the use cases and the generation of requirements; they make sure requirements are complete.
Development of the SRS with involvement of scenarios: 1. Begin with Domain Scenarios; 2. Development of Usage Scenarios; 3. Software Requirements Specification document. Several round of change management were employed during writing the SRS. This possibility for correction and improvement ensured that the requirements are of high quality and applicability.
Using Doors® And Taug2® To Support A Simplifiedcbb010
In order to become a market leader, it is imperative that all stakeholders (customers, financial sponsors, developers and testers) be aware of the customer’s needs as captured in the requirements of the products and/or services that are to be produced. This is especially so within both large and small globally distributed companies since the product development organizations often are separated by geography, time and communications. An efficient way to eliminate these potential issues is to develop a common and intuitive requirements management process, which can be deployed across the product development lifecycle. The object of developing a Common Simplified Requirements Management Process is to improve customer satisfaction, eliminate escaping defects and reduce the cost of the development lifecycle. This paper describes the problems of using localised procedures and how these problems can be eliminated by implementing a common requirements management process that is intuitive, scalable and deployed across the System Development Lifecycle. This process has been supported by the industry leading DOORS tool and more recently by the TauG2 tool. An auxiliary benefit of deploying this process is that the process was developed in compliance with standardized methods of documenting and tracing requirements as expected by TL9000 and CMM/CMMI. The net benefits of this simplified requirements process include: increased customer satisfaction due to systems being developed in accordance with the customer’s needs as captured in the requirements, compliance with industry acknowledged process standards and improved cost of quality by eliminating duplication of process maintenance since a common process has been deployed across the development organization.
Introduction: What is software engineering? Software Development Life Cycle, Requirements Analysis, Software Design, Coding, Testing, Maintenance etc.
Software Requirements: Functional and Non-functional requirements, User Requirements, System Requirements, Documentation of the software requirements.
Software Processes:
Process and Project, Component Software Processes.
Software Development Process Models.
Waterfall Model. Prototyping.
Iterative Development.
The RAD Model
Handling Non Functional Requirements on an Agile ProjectKen Howard
When adjectives and adverbs appear in User Stories, they can be easily overlooked and seen as simple adornments to the story. There are a couple schools of thought on how to handle non-functional requirements on Agile projects. Mike Cohn recommends writing a User Story for each non-functional requirement, while others recommend creating task cards to drive out specification using Thomas Gilb’s approach. In this session, examples of various techniques for handling non-functional requirements will be demonstrated, with a discussion of pros and cons of each technique.
This paper describes a framework of non-functional requirements (NFR), based largely on ISO, and then goes on to provide guidance and a methodology for splitting the responsibility of determining each individual NFR between the Solution Architect and the BA.
HTTP is the protocol of the web, and in this session we will look at HTTP from a web developer's perspective. We will cover resources, messages, cookies, and authentication protocols and we will see how the web scales to meet demand using cache headers. Armed with the fundamentals about HTTP, you will have the knowledge not only to build better Web/Mobile applications but also for consuming Web API.
Best Practices for Architecting a Pragmatic Web API.Mario Cardinal
This presentation teach how to design a real-world and pragmatic web API. It draws from the experience Mario Cardinal have gained over the years being involved architecting many Web API. This presentation begins by differencing between a Web and a REST API, and then continue with the design process. We conclude with the core learnings of the session which is a review of the best practices when designing a web API. Armed with skills acquired, you can expect to see significant improvements in your ability to design a pragmatic web API.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
For informative discussions on software testing please see. http://forum.360logica.com/
Please see description below
360logica software testing company specializes in financial application testing, software as a service applications testing, functional test automation, security testing, performance engineering, manual test methodologies and test management and we make sure that the customers get the value of each dollar invested. We implement Risk Based Methodologies to create test scenarios and test scripts. We choose model and methodologies based on customer requirement and make sure they get more than expected in their approved budget.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
2. • Agile Coach & Software architect
• Leading independent consultant
• www.mariocardinal.com
Who am I ?
3. "The real voyage of discovery consists, not in seeking new landscapes, but in
having new eyes.”
Marcel Proust
A. Nonfunctional requirements
– External and internal quality
B. Functional requirements and agile
framework
C. Nonfunctional requirements and agile
framework
Why are we here?
Agenda
5. Nonfunctional Requirements
What are they?
• Specify"howwell"the"what"mustbehave
• Notaboutnewfeaturestodeliver,butratheraboutdesirable
characteristicsofexistingfeatures
• Setconstraintsthattypicallycutacrossfunctional
requirements
• Alsoknownas"technicalrequirements",“quality
attributes”or"qualityofservicerequirements“
6. Nonfunctional Requirements
It is all about quality
Canbedividedintotwomaincategories:
1. Externalqualitysuchasperformance,correctness,security
andusability,whichcarryoutthesoftware'sfunctionsat
runtime,andassuch,isnotonlyvisiblebystakeholdersbut
alsohighlydesirable
2. Internalqualitysuchasmaintainability,modifiabilityand
testability,whichisbarelyvisiblebystakeholdersbut
simplifyhowtobuildthesoftware
7. Nonfunctional Requirements
Knowledge is not experience
• Idonotintendtotellyouhowtosatisfythemany
nonfunctionalrequirements
• Itisaskillthatoneacquireswithexperience
8. Nonfunctional Requirements
I aim for a simpler goal
• IwillexplainhowtotranslateNonfunctional
requirementsintorestrictions
• Restrictionssetalimittocomplywith
• Restrictionsguideyourwork
• Restrictionshelpdeterminewhetheryouhavesatisfiedthe
nonfunctionalrequirements
11. Functional Requirements
Express desirements with user stories
• Auserstoryisashortdescriptionwrittenineveryday
languagethatrepresentsadiscretepieceof
demonstrablefunctionality
• Itisadesirableoutcomebystakeholders
• Classictemplate
• “Asa<role>,Iwant<goal>sothat<benefit>”
12. Functional Requirements
Example: User stories for a TransitAuthority
• Asa<student>,Iwant<tobuyapassvalidonlyon
schooldays>sothatIcan<gotoschool>
• Asa<worker>,Iwant<tobuyamonthlypass>sothat
Ican<gotowork>
18. Nonfunctional Requirements
Two categories of constraint
• Externalquality
• Restrictionsimposeconditionsthatsetsalimittocomply
duringsoftwareexecution
• Internalquality
• Practicesensurethatthesoftwareconstructionisdone
correctly
19. External Quality
What is it?
Nonfunctional
Requirement
Definition
Correctness Ability with which the software respects the specification.
Performance Ease with which the software is doing the work it is supposed to do. Usually it is
measured as a response time or a throughput.
Reliability Ability with which the software performs its required functions under stated
conditions for a specified period of time.
Robustness Ability with which the software copes with errors during execution.
Scalability Ability with which the software handles growing amounts of work in a graceful
manner.
Security Degree to which the software protects against threats.
Usability Ease with which the software can be used by specific users to achieve specific
goals.
20. External Quality
Restrictions should be SMART
• Specific
• Itshouldtargetapieceoffunctionalitythatissmall,consistentandsimple
• Measurable
• Itimposesalimitthatismeasurable,otherwisehowwouldyouknow
whenyou’veaddressedit
• Attainable
• Itisrecognizedasachievablebytheteam
• Relevant
• Itisdirectlyrelated,connected,andpertinenttothenonfunctional
requirement
• Traceable
• Itislinkedwitharequirementandatargetthatjustifieswhyitexists
21. Restriction
The most important element is the ‘measure’
• Easiertoimposeifyou
• Reducethescaleofwhatneedstobemeasured
• Reducefunctionalscope
30. External Quality
Test Restrictions with Proven Practices
• Accessibility:Verifyvisualimpairments,mobilitydifficulty,hearing
inabilityandcognitivedisabilities
• Correctness:Determineifthesoftwarerespectsthespecification
(Acceptancetesting)
• Performance:Measureresponsetimeandinspectthroughput
• Reliability:Seekforextraordinaryresourceconsumptionovera
specifiedperiodoftime(memory,CPU,diskspace)
31. External Quality
Test Restrictions with Proven Practices
• Robustness:Determineabilityofthesoftwaretofunction
correctlyinthepresenceofinvalidinputsorstressful
environmentalconditions
• Scalability:Verifysoftwarebehaviorunderbothnormaland
anticipatedpeakloadconditions(Loadtesting)
• Security:Performintrusiondetectionandvulnerabilityscanning
• Usability:Conductheuristicevaluation,consistencyinspection
andactivityanalysistoverifyifusersachievespecifiedgoals
32. External Quality
Less is more
• Negotiatewithstakeholderstoreducenumberof
restrictions
• Isit«really,really»adesirableoutcome?
• Trytotargetaspecificiterationfortestinga
nonfunctionalrequirement
• Benefit:Transformfromarecurrentconcerntoaone-time
concern
33. • Reduce the scope of requirements
– User Story
– Scenario
• Start expressing Restriction
– Add restrictions as success criteria
Next Steps
What should you do tomorrow?
Editor's Notes
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Master complexity by addressing goals. They are engaging; they enable conversations about how to create valueIt is a placeholder containing just enough information so that the stakeholders can prioritize it and the team can produce a reasonable estimate of the effort to implement it.Quick way of documenting a stakeholder’s desirable outcome without having to elaborate vast formalized requirement documentsEncourage the team to defer collecting detailsAn initial high level story can be written as a first cut and then split into more stories when the team successively refines the software and it becomes important to have the details
Role: Student, goal: buy a pass valid only on school days, benefit: go to schoolRole: Worker, goal: buy a monthly pass, benefit: go to work
Success criteria convey additional information about the storyThey are a specification as important, if not more important, than the storyThey are a key element of agile specifications
Given-When-Thenis the Gherkin langage promote by Behavior-DrivenDevelopment (BDD)Widelypromote by the Ruby community (Rspec and Cucumber)
Slide to announce last two sections
carry out the software's functions at run time, and as such, are not only visible by stakeholders but also highly desirable
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Slide to restart discussingNonfunctionalrequirements
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Constraintis self-contained and shouldbe satisfied in a finite period of timeIntroduce the next section “Functional requirement” by explaining that you will explain in more detail what are User Story and Scenario
Robustness: Client-server architecture remove the server, does the client code copes gracefully with errors during execution?
Robustness: Client-server architecture remove the server, does the client code copes gracefully with errors during execution?
Bewarethattoomany restrictions caneasilyspoil the success of an iteration