SlideShare a Scribd company logo
Generic Areas for Software
  Angles that you can use to set your brain on different gear when thinking of your software.




Towo Toivola 2005-2012
Disclaimer

 • There is nothing revolutionary about PUBS FIRST(Tm), it is simply
   an extended version of FURPS.
 • The definitions are my own. I’m sure there are better ones, but
   these are good enough to be used.
 • The point of PUBS FIRST(Tm) aspect split is to help you in your
   work. Don’t use it if it bothers you.
 • It is generic. Thus there is always a more accurate split for your
   software if you wish to make one.
 • PUBS FIRST(Tm) split should be useful to all as a checklist.
 • PUBS FIRST(Tm) is useful if you need to standardize the split
   between very different software’s.
 • In theory you could just use the ‘F’ word for everything, but it
   wouldn’t be much of a split then, would it.


                               Towo Toivola                             Page 2
PUBS FIRST

        P – Performance
        U – Usability
        B – Business support
        S – Supportability
        F – Functionality
        I – Interoperability
        R – Reliability
        S – Security

        T – Testability
        (Tm) - Time

                     Towo Toivola   Page 3
Performance is..

Ability of the software to cope with
large loads and challenging tasks,
the speed with witch it can handle
normal tasks, and how it will perform
in low-end environments.
For example
 • Can it sort a million pictures in 10
   minutes
 • Can it process a 1GB file
 • Can it find an internet page quickly
   enough
 • Can it handle 1000 simultaneous
   users
 • …


                                          Towo Toivola   Page 4
User experience is..

How nice is it for intended users of
the software to do whatever it is that
the software is intended for.
For example
 • Is it easy to install
 • Is it easy to configure
 • Is it easy to complete basic use-
   cases
 • Is it easy to understand the
   software’s purpose
 • Does it feel fantastic to use
 • …



                                       Towo Toivola   Page 5
Business support is..

How well the software supports our
company in doing our business?
For example:
•Amount/ratio of successful installs?
•How many active users?
•Can we up/cross-sell ?
•What are users clicking?
•…




                                  Towo Toivola   Page 6
Supportability is..

How easy and cheap is it for your
organization to support the software.
For example
 • Is it easy for end user to contact
   support, describe the situation, and
   receive help
 • Is it easy to debug / fix (remotely)
 • Is it easy to reinstall to all customers
 • Is it easy and cheap to implement
   fixes and improvements to the
   software without introducing bugs
 • How little the software created
   contacts
 • …


                                          Towo Toivola   Page 7
Functionality is..

How much of the visioned features
are working properly in the software.
This is the classical “does it do what
was intended”. Typically people
think of this first when thinking of
“how ready is the software”. Some
people also stop right there. That’s
why TFIRPUSS is needed.




                                   Towo Toivola   Page 8
Interoperability is..

How well the software co-exists with
possible environments where it may
be used.
Includes
 • Co-existing with other products
   made by the same organization
 • Operating systems
 • Hardware
 • 3rd party applications that will work
   together with the software
 • Common 3rd party applications that
   may just happen to exist in the same
   system
 • …


                                           Towo Toivola   Page 9
Reliability is..

How well you can rely on the
software behaving in an expected
manner.
Includes
 • No crashes
 • No hangs
 • Same input generates same output,
   every time
 • Repeating actions many, many times
   does not cause a problem
 • No unintended feeling of random
   behaviour
 • …


                                     Towo Toivola   Page 10
Security is..

How hard is it for someone to
intentionally use the software to
benefit illegally, or hurt you or your
users.
Includes..
 • Functionality is only accessible to
   authorized users
 • Application will not execute
   unintended arbitrary commands
 • The software does not break any
   laws in the country where it is
   used/sold
 • It is hard for others to pretend to be
   the software
 • …

                                         Towo Toivola   Page 11
Testability is..

How convenient is it to test the
software and report problems.
Includes
 • Availability of builds
 • Identifiability of builds
 • Tools available for testing
 • Debug logging clarity and availability
 • Installability
 • Controllability
 • Automation interfaces
 • …



                                      Towo Toivola   Page 12
Time (Tm) is..

How much time do we have to do all
this? What kind of hurry do we
expect? Is timing more important
than features? Or security? Or
performance..
Includes..
 • Absolute timing, a calendar date for
   release
 • Subjective timing: resources in
   relation to amount of work
 • The importance of timing, is it a
   driver or a passanger
 • …


                                       Towo Toivola   Page 13
What’s PUBS FIRST(Tm) Good For?

• Checklist when coming up with use-cases and requirements
• Unified reporting of quality status
• Terms for discussing different aspects of software
• Checklist when designing test cases that should be run against the
  software
• Checklist when you are thinking “Is there anything that prevents us from
  releasing?”
• Help for creating a trade-off matrix when setting project/release goals
  (Time! Quality! Features!!!!)


..it does not replace common sense or good engineers, but augments them.




                                 Towo Toivola                                Page 14
Example Quality Status Using areas
 Test area            Todays quality    Accuracy of estimate    Comments

 v 2.1


 Testability          High              High                    Logs needing some improvement


 Functionality        Fair              Fair


 Interoperability     High              Fair


 Reliability          Fair              Low                     Unpacker module


 Performance          Fair              Low                     Unpacker module


 Usability            Fair              High


 Supportability       Fair              Low                     Stability of updates uncertain


 Security             Low               Fair                    Unpacker module


 Notes
             Test-case coverage is about:               Low     Test Cases drafted

             Goal for release: 50% Green, 50% yellow, NO RED.


                                               Towo Toivola                                      Page 15
Levels in the Quality Situation

So, what is ‘Fair’ then?
This is a highly subjective matter, largely depending on the gut feeling
of the QE/SM making the estimate.
I could put it like this:
        Low: Clearly below expectations. Unacceptable for any regular
        delivery. Seriously needs effort.
        Fair: Typical software of this kind in our organization. Nothing
        glamorous, but doesn’t suck either.
      High: This attribute is in especially good shape. It will fair
favourably compared to other similar software. We are proud of         it.



                                Towo Toivola                               Page 16

More Related Content

PPT
Twelve practices of XP_Se lect5 btech
PPT
Pair Programming
PPT
Agile Software Development with XP
PPT
Extreme programming
PDF
Pair Programming (2014)
PDF
Mer from User's Perspective
PPTX
Agile software development and extreme Programming
PPT
Pair Programming Presentation
Twelve practices of XP_Se lect5 btech
Pair Programming
Agile Software Development with XP
Extreme programming
Pair Programming (2014)
Mer from User's Perspective
Agile software development and extreme Programming
Pair Programming Presentation

What's hot (15)

PPTX
Extreme Programming (XP) for Dummies
PPT
extreme Programming
PPT
Introduction To Extreme Programming
PDF
Audrys Kažukauskas - Introduction into Extreme Programming
PPTX
Agile Practices - eXtreme Programming
PPTX
Extreme programming
PDF
XP In 10 slides
PPTX
Extreme Programming
PPT
ABC of Agile (Scrum & Extreme Programming)
PPTX
extreme programming
PDF
Hiring a developer: step by step debugging
PPS
Xp Slideshow
PPTX
PDF
Introduction to Extreme Programming
PPTX
Xp exterme-programming-model
Extreme Programming (XP) for Dummies
extreme Programming
Introduction To Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
Agile Practices - eXtreme Programming
Extreme programming
XP In 10 slides
Extreme Programming
ABC of Agile (Scrum & Extreme Programming)
extreme programming
Hiring a developer: step by step debugging
Xp Slideshow
Introduction to Extreme Programming
Xp exterme-programming-model
Ad

Viewers also liked (9)

PPTX
Ta backbone of-agile_team
PPT
Test automation workshop slideset
PPTX
Experience: Practical Methods for Scaling Scrum
PPTX
F secure team-self-assessment-1.6
PPTX
Mitä minun pitäisi tietää tietokoneiden tietoturvasta
PPTX
A balanced metrics set for software business
PPTX
Value-Stream-Mapping,
PPTX
Selling ideas, an introduction
PPTX
What the DevOps - What is it, how did it come here, what does it feel like?
Ta backbone of-agile_team
Test automation workshop slideset
Experience: Practical Methods for Scaling Scrum
F secure team-self-assessment-1.6
Mitä minun pitäisi tietää tietokoneiden tietoturvasta
A balanced metrics set for software business
Value-Stream-Mapping,
Selling ideas, an introduction
What the DevOps - What is it, how did it come here, what does it feel like?
Ad

Similar to Pubs first (20)

PPTX
DevOps interview questions and answers
PDF
Software Testing
PDF
Tenants for Going at DevSecOps Speed - LASCON 2023
PDF
5-Ways-to-Revolutionize-Your-Software-Testing
PDF
Tiếng Anh công nghệ thông tin VHU Tuần 5
PPTX
CIS512_Topic1.pptx
PDF
An Introduction To Mobile Software Testing
PPTX
Why is software testing important
PDF
Why is software testing important
PDF
Agile Software Development for Non-Developers
PDF
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
PPTX
Software Reliability and Availability in Software Engineering, Measure of Rel...
PPTX
AI in Construction-Demystifying AI Agents
PDF
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
PPTX
Performance testing
PDF
Using DevOps to Improve Software Quality in the Cloud
PDF
Services, tools & practices for a software house
PPTX
Watching Somebody Else's Computer: Cloud Native Observability
PDF
The Final Frontier, Automating Dynamic Security Testing
PDF
software testing and quality assurance .pdf
DevOps interview questions and answers
Software Testing
Tenants for Going at DevSecOps Speed - LASCON 2023
5-Ways-to-Revolutionize-Your-Software-Testing
Tiếng Anh công nghệ thông tin VHU Tuần 5
CIS512_Topic1.pptx
An Introduction To Mobile Software Testing
Why is software testing important
Why is software testing important
Agile Software Development for Non-Developers
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
Software Reliability and Availability in Software Engineering, Measure of Rel...
AI in Construction-Demystifying AI Agents
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
Performance testing
Using DevOps to Improve Software Quality in the Cloud
Services, tools & practices for a software house
Watching Somebody Else's Computer: Cloud Native Observability
The Final Frontier, Automating Dynamic Security Testing
software testing and quality assurance .pdf

Recently uploaded (20)

PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Advanced IT Governance
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
cuic standard and advanced reporting.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
GamePlan Trading System Review: Professional Trader's Honest Take
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Network Security Unit 5.pdf for BCA BBA.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Advanced IT Governance
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
cuic standard and advanced reporting.pdf

Pubs first

  • 1. Generic Areas for Software Angles that you can use to set your brain on different gear when thinking of your software. Towo Toivola 2005-2012
  • 2. Disclaimer • There is nothing revolutionary about PUBS FIRST(Tm), it is simply an extended version of FURPS. • The definitions are my own. I’m sure there are better ones, but these are good enough to be used. • The point of PUBS FIRST(Tm) aspect split is to help you in your work. Don’t use it if it bothers you. • It is generic. Thus there is always a more accurate split for your software if you wish to make one. • PUBS FIRST(Tm) split should be useful to all as a checklist. • PUBS FIRST(Tm) is useful if you need to standardize the split between very different software’s. • In theory you could just use the ‘F’ word for everything, but it wouldn’t be much of a split then, would it. Towo Toivola Page 2
  • 3. PUBS FIRST P – Performance U – Usability B – Business support S – Supportability F – Functionality I – Interoperability R – Reliability S – Security T – Testability (Tm) - Time Towo Toivola Page 3
  • 4. Performance is.. Ability of the software to cope with large loads and challenging tasks, the speed with witch it can handle normal tasks, and how it will perform in low-end environments. For example • Can it sort a million pictures in 10 minutes • Can it process a 1GB file • Can it find an internet page quickly enough • Can it handle 1000 simultaneous users • … Towo Toivola Page 4
  • 5. User experience is.. How nice is it for intended users of the software to do whatever it is that the software is intended for. For example • Is it easy to install • Is it easy to configure • Is it easy to complete basic use- cases • Is it easy to understand the software’s purpose • Does it feel fantastic to use • … Towo Toivola Page 5
  • 6. Business support is.. How well the software supports our company in doing our business? For example: •Amount/ratio of successful installs? •How many active users? •Can we up/cross-sell ? •What are users clicking? •… Towo Toivola Page 6
  • 7. Supportability is.. How easy and cheap is it for your organization to support the software. For example • Is it easy for end user to contact support, describe the situation, and receive help • Is it easy to debug / fix (remotely) • Is it easy to reinstall to all customers • Is it easy and cheap to implement fixes and improvements to the software without introducing bugs • How little the software created contacts • … Towo Toivola Page 7
  • 8. Functionality is.. How much of the visioned features are working properly in the software. This is the classical “does it do what was intended”. Typically people think of this first when thinking of “how ready is the software”. Some people also stop right there. That’s why TFIRPUSS is needed. Towo Toivola Page 8
  • 9. Interoperability is.. How well the software co-exists with possible environments where it may be used. Includes • Co-existing with other products made by the same organization • Operating systems • Hardware • 3rd party applications that will work together with the software • Common 3rd party applications that may just happen to exist in the same system • … Towo Toivola Page 9
  • 10. Reliability is.. How well you can rely on the software behaving in an expected manner. Includes • No crashes • No hangs • Same input generates same output, every time • Repeating actions many, many times does not cause a problem • No unintended feeling of random behaviour • … Towo Toivola Page 10
  • 11. Security is.. How hard is it for someone to intentionally use the software to benefit illegally, or hurt you or your users. Includes.. • Functionality is only accessible to authorized users • Application will not execute unintended arbitrary commands • The software does not break any laws in the country where it is used/sold • It is hard for others to pretend to be the software • … Towo Toivola Page 11
  • 12. Testability is.. How convenient is it to test the software and report problems. Includes • Availability of builds • Identifiability of builds • Tools available for testing • Debug logging clarity and availability • Installability • Controllability • Automation interfaces • … Towo Toivola Page 12
  • 13. Time (Tm) is.. How much time do we have to do all this? What kind of hurry do we expect? Is timing more important than features? Or security? Or performance.. Includes.. • Absolute timing, a calendar date for release • Subjective timing: resources in relation to amount of work • The importance of timing, is it a driver or a passanger • … Towo Toivola Page 13
  • 14. What’s PUBS FIRST(Tm) Good For? • Checklist when coming up with use-cases and requirements • Unified reporting of quality status • Terms for discussing different aspects of software • Checklist when designing test cases that should be run against the software • Checklist when you are thinking “Is there anything that prevents us from releasing?” • Help for creating a trade-off matrix when setting project/release goals (Time! Quality! Features!!!!) ..it does not replace common sense or good engineers, but augments them. Towo Toivola Page 14
  • 15. Example Quality Status Using areas Test area Todays quality Accuracy of estimate Comments v 2.1 Testability High High Logs needing some improvement Functionality Fair Fair Interoperability High Fair Reliability Fair Low Unpacker module Performance Fair Low Unpacker module Usability Fair High Supportability Fair Low Stability of updates uncertain Security Low Fair Unpacker module Notes Test-case coverage is about: Low Test Cases drafted Goal for release: 50% Green, 50% yellow, NO RED. Towo Toivola Page 15
  • 16. Levels in the Quality Situation So, what is ‘Fair’ then? This is a highly subjective matter, largely depending on the gut feeling of the QE/SM making the estimate. I could put it like this: Low: Clearly below expectations. Unacceptable for any regular delivery. Seriously needs effort. Fair: Typical software of this kind in our organization. Nothing glamorous, but doesn’t suck either. High: This attribute is in especially good shape. It will fair favourably compared to other similar software. We are proud of it. Towo Toivola Page 16