SlideShare a Scribd company logo
1 of 32
Principles of Responsible
Technology Suppliers
Alan Ward – August
From a business perspective,
not a pure IT perspective
Why?
Principles: guidelines on how to behave and
what to provide
Responsible: Avoiding immature or
underhand practices; let’s call them out
Technology Suppliers: that’s the scope of
this presentation
1: Charge only for the live
instance
Clients should only pay for the single
instance that is used in a live
environment
Implications of the aim
Clients should not pay for training, dev,
testing environments
Clients should not pay for hot-backup
environments
Clients should pay for the components
to enable hot-backups and other
instances, and the backup service
Some quirks
Specifically, clients shouldn’t pay duplicates for software,
but charging for hardware and services is acceptable
It’s still acceptable to charge for training environments if
you provide the service (e.g. cloud-based, SaaS, etc)
If you (as provider) have to perform installation work on
each environment – rather than the client’s own IT team
able to install on their own - then the client should question
if you’re the best supplier (see Release through Promotion
later)
2: Release through promotion
Environments should be created by scripted
installs from configuration management
Code and configuration data is promoted* through
Dev -> System Test -> UAT -> Live (with a separate
branch for training)
* Simplified promotion staging as an example. There are other, perfectly acceptable
stages
Implications of the Aim
The following 2 issues increase the risk of error, delays,
omissions, differences in environments etc.
– Building in dev, then copying the instance into live = not
acceptable
– Configuring in dev, then performing the same changes manually
in live = not acceptable
Scripting introduces quicker release timescales and more
resilience
Client’s IT staff should be able to promote the code through
all stages without recourse to the supplier/manufacturer
3: Data integration to other core
components
Software should permit data interaction
between itself and your company’s core
components
Implications
Only sell components that integrate with
your core product
Data should be accessible through other
interfaces than just the front-end GUI so
ensure that you integrate at a more
fundamental layer
Functionality of adapters should be declared
before the client’s purchase
4: User interface integration to
other core components
Software should be extensible enough to allow
inclusion of other applications (from other
vendors) in a context-sensitive manner within the
user interface
For instance, this could allow reports (from a vendor of
MI/BI software) to be generated based on records being
viewed in your application. A typical example would be to
to show a graph of open cases for a team
Implications
Recognise that users use more than one
application at a time
Recognise that each supplier has a core strength
and that not every component is your core
strength
Clients need to be able to provide an integrated
desktop (and other user interfaces) to users.
5: Remote-Access-friendly
Software should be usable on a desktop
environment through the client’s Remote
Access Service.
Implications
There will be workers on remote sites, partner sites and
working from home who require access to software
Your software will be available through your client’s
infrastructure and network
Local install should only be required in the following cases:
– When software is CPU-intensive (e.g. certain use cases of
manipulating data)
– When software needs to cache data locally (e.g. for mobile
working solutions, when a small client is installed locally)
6: Mobile-Device Friendly
Software should be usable on a
mobile device
Implications
Software has to take into account:
– Low bandwidth capacity
– Limited screen size
– Limited user interaction compared to full keyboard
and mouse
– Low visibility of screen (e.g. in case of sun glare, etc)
This should be a no-brainer nowadays, but
still doesn’t seem to be: Mobile-first*
*Or similar design principle
7: Mobile-Working Friendly
Software and hardware should be
usable in a mobile environment,
regardless of device used (e.g.
laptop, smartphone, tablet)
Implications
Software and hardware have to take into account:
– Different modes of working per user (remote, field-
worker, docked office worker, undocked office worker)
– A user can work in several different modes within any
given day
– That users will not always be connected to any
network and that users:
• Will still require access to data
• Will still capture changes to data
• Will still capture new data
8: Adapters included
Data should be accessible (both to output data and
to input new data/changes) through configurable
adapters
At any stage of technology there is a standard
adapter that is the basic adapter every system
should have
– currently JSON, previously XML, etc
Implications
Buying a system without adapters is like buying a
car without tyres; if you want to use the car
properly, you’ll need to buy the tyres. So don’t sell
your system without its tyres
At some point, clients will want to extract data
from the system or input new data, e.g. because
they need to expose a new interface (via the
Internet or a speech recognition menu)
Do not sell closed systems; they’re indicative of
bad business practice
9: Client-responsive Release Schedule
Clients should be able to influence code
releases and roadmaps on a regular basis
Implications
Suppliers will have to:
• interact with clients, gather requirements,
listen and respond
• publish a roadmap showing expected
release functionality and timescales
10: Published data model
Clients should receive a copy of the data
model that depicts the underlying data
structure.
The data model should conform to an
industry standard (UML Class Model, Martin,
Merice).
Implications
Unreliable suppliers fall into two camps:
1) Those that do not have a data model
2) Those that will not release a data model
Those that do not have a data
model
Shows an immaturity in the development process
Increases risk of mistakes in the development
process
Is indicative of a small, unprofessional
development operation
Clients should avoid
Those that will not release the
data model
Usually claim that the data model is their IPR. But
without it, clients will be working blind on the
system when integrating
You can develop a domain-specific data model in
a couple of hours and it’s likely to be logically
better, and more normalised, than what a supplier
has implemented (due to how systems grow over
time).
So there’s little to no commercial value in a client
reverse-engineering a system’s data model
11: Single business logic or application tier
Business logic should only be executed in a
single tier
All data has to pass through that business
logic tier, regardless of the user interface
being used
Implications
Do not write business logic in the user interface
– Increased duplicate effort, therefore increasing risk of
errors/omissions and delays in release
– Implies different logic and ways of working per user
interface
– Risk of data corruption
User interfaces are for presentation and
interaction only
12: You are a Partner in your
Client’s Data Custodianship
Your client is the custodian of data on behalf
of its customers.
Your role is to facilitate, not inhibit that
custodianship
Implications
Your clients will have users and those
users will have their own rights.
As a supplier, you should be assisting
your clients in their needs
E.g. GDPR permits users to migrate their
data from one supplier to another
– Does your software facilitate this
migration?
Purpose
I wrote this originally back in 2010
For my clients so that they could understand how
the suppliers they were procuring from were
creating issues for them and their customers
It still looks relevant, a few minor updates for
2017
But the basic principles of being a responsible
supplier still remain
Your Thoughts?
Get in touch
@alanward
Or
linkedin.com/in/awardsounds/
Principles of responsible suppliers

More Related Content

What's hot

Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Week8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical RequirementsWeek8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical Requirements
hapy
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
Sohaib Latif
 

What's hot (20)

Notes from the field - End User Computing
Notes from the field - End User ComputingNotes from the field - End User Computing
Notes from the field - End User Computing
 
Voip System Design by MintTec.com
Voip System Design by MintTec.comVoip System Design by MintTec.com
Voip System Design by MintTec.com
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Online compliant response system for corporation
Online compliant response system for corporationOnline compliant response system for corporation
Online compliant response system for corporation
 
The Importance of Software Development
The Importance of Software Development The Importance of Software Development
The Importance of Software Development
 
Eliciting non functional requirements
Eliciting non functional requirementsEliciting non functional requirements
Eliciting non functional requirements
 
Lecture 10 understanding requirements (2)
Lecture 10   understanding requirements (2)Lecture 10   understanding requirements (2)
Lecture 10 understanding requirements (2)
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
Chiranjit S Dutta
Chiranjit S DuttaChiranjit S Dutta
Chiranjit S Dutta
 
Week8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical RequirementsWeek8 Topic1 Translate Business Needs Into Technical Requirements
Week8 Topic1 Translate Business Needs Into Technical Requirements
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Course summary
Course summaryCourse summary
Course summary
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
Ais Romney 2006 Slides 19 Ais Development Strategies
Ais Romney 2006 Slides 19 Ais Development StrategiesAis Romney 2006 Slides 19 Ais Development Strategies
Ais Romney 2006 Slides 19 Ais Development Strategies
 
Non functional requirements
Non functional requirementsNon functional requirements
Non functional requirements
 
App store and SAM strategy
App store and SAM strategyApp store and SAM strategy
App store and SAM strategy
 
Syntive Solutions Engagement
Syntive Solutions EngagementSyntive Solutions Engagement
Syntive Solutions Engagement
 
Introduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information TechnologyIntroduction to Software Engineering & Information Technology
Introduction to Software Engineering & Information Technology
 
Accounting System Design and Development - System Planning and Development
Accounting System Design and Development - System Planning and Development Accounting System Design and Development - System Planning and Development
Accounting System Design and Development - System Planning and Development
 

Similar to Principles of responsible suppliers

whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno
 
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docxCHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
christinemaritza
 
2015_buyers_guide_to_accounting_and_financial_software
2015_buyers_guide_to_accounting_and_financial_software2015_buyers_guide_to_accounting_and_financial_software
2015_buyers_guide_to_accounting_and_financial_software
Scott Lewis
 
201810003 201750007project report
201810003 201750007project report201810003 201750007project report
201810003 201750007project report
ssuser219889
 

Similar to Principles of responsible suppliers (20)

Reqs analysis
Reqs analysisReqs analysis
Reqs analysis
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking System
 
Jon shende fbcs citp q&a
Jon shende fbcs citp q&aJon shende fbcs citp q&a
Jon shende fbcs citp q&a
 
M.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comM.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.com
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
A research on- Sales force Project- documentation
A research on- Sales force Project- documentationA research on- Sales force Project- documentation
A research on- Sales force Project- documentation
 
Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
From Components To Services
From Components To ServicesFrom Components To Services
From Components To Services
 
Alex syvorotka - QA: Customer Oriented Testing Approaches in theory and practice
Alex syvorotka - QA: Customer Oriented Testing Approaches in theory and practiceAlex syvorotka - QA: Customer Oriented Testing Approaches in theory and practice
Alex syvorotka - QA: Customer Oriented Testing Approaches in theory and practice
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docxCHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
CHAPTER 8 User InterfaceDesignChapter 8 is the first of thre.docx
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
2015_buyers_guide_to_accounting_and_financial_software
2015_buyers_guide_to_accounting_and_financial_software2015_buyers_guide_to_accounting_and_financial_software
2015_buyers_guide_to_accounting_and_financial_software
 
System analysis and design
System analysis and designSystem analysis and design
System analysis and design
 
Print report
Print reportPrint report
Print report
 
Moving to the cloud
Moving to the cloudMoving to the cloud
Moving to the cloud
 
Employee Management System
Employee Management SystemEmployee Management System
Employee Management System
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
201810003 201750007project report
201810003 201750007project report201810003 201750007project report
201810003 201750007project report
 
Impact of cloud services on software development life
Impact of cloud services on software development life Impact of cloud services on software development life
Impact of cloud services on software development life
 

More from Alan Ward

More from Alan Ward (8)

What do you focus on?
What do you focus on?What do you focus on?
What do you focus on?
 
Artisans of Great Britain
Artisans of Great BritainArtisans of Great Britain
Artisans of Great Britain
 
A French Philosophers Guide through Business Architecture
A French Philosophers Guide through Business ArchitectureA French Philosophers Guide through Business Architecture
A French Philosophers Guide through Business Architecture
 
Common Aims for Startups
Common Aims for StartupsCommon Aims for Startups
Common Aims for Startups
 
Mcrstartups Overview
Mcrstartups OverviewMcrstartups Overview
Mcrstartups Overview
 
Founders Assembly
Founders AssemblyFounders Assembly
Founders Assembly
 
What does your support network do for you?
What does your support network do for you?What does your support network do for you?
What does your support network do for you?
 
Running with Knickers on Your Head: Lean Startup Application in the Public Se...
Running with Knickers on Your Head: Lean Startup Application in the Public Se...Running with Knickers on Your Head: Lean Startup Application in the Public Se...
Running with Knickers on Your Head: Lean Startup Application in the Public Se...
 

Recently uploaded

(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
Spesiialis Kandungan BPOM
 
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTARPEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
doktercalysta
 
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot ReportFuture of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Dubai Multi Commodity Centre
 
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg PfizerJual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Pusat Herbal Resmi BPOM
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
zukhrafshabbir
 

Recently uploaded (20)

(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
(推特)Twitter账号批发(自助购买网址🎉top233.com🎉)
 
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdfInnomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
Innomantra Viewpoint - Building Moonshots : May-Jun 2024.pdf
 
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.docGuide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
Guide to Networking Essentials 8th Edition by Greg Tomsho solution manual.doc
 
Toyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & TransformationsToyota Kata Coaching for Agile Teams & Transformations
Toyota Kata Coaching for Agile Teams & Transformations
 
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
(( wa 0851/7541/5434 )) Jual Obat Aborsi Di Surabaya - Cytotec Misoprostol 20...
 
PitchBook’s Guide to VC Funding for Startups
PitchBook’s Guide to VC Funding for StartupsPitchBook’s Guide to VC Funding for Startups
PitchBook’s Guide to VC Funding for Startups
 
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTARPEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
PEMATANG SIANTAR 0851/8063/4797 JUAL OBAT ABORSI CYTOTEC PEMATANG SIANTAR
 
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In HarareTop^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
Top^Clinic ^%[+27785538335__Safe*Women's clinic//Abortion Pills In Harare
 
Global Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdfGlobal Internal Audit Standards 2024.pdf
Global Internal Audit Standards 2024.pdf
 
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptxBlinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
Blinkit: Revolutionizing the On-Demand Grocery Delivery Service.pptx
 
Pay after result spell caster (,$+27834335081)@ bring back lost lover same da...
Pay after result spell caster (,$+27834335081)@ bring back lost lover same da...Pay after result spell caster (,$+27834335081)@ bring back lost lover same da...
Pay after result spell caster (,$+27834335081)@ bring back lost lover same da...
 
HAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future ProspectsHAL Financial Performance Analysis and Future Prospects
HAL Financial Performance Analysis and Future Prospects
 
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot ReportFuture of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
Future of Trade 2024 - Decoupled and Reconfigured - Snapshot Report
 
wagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORIwagamamaLab presentation @MIT 20240509 IRODORI
wagamamaLab presentation @MIT 20240509 IRODORI
 
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg PfizerJual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
Jual Obat Aborsi Di Sibolga wa 0851/7541/5434 Cytotec Misoprostol 200mcg Pfizer
 
zidauu _business communication.pptx /pdf
zidauu _business  communication.pptx /pdfzidauu _business  communication.pptx /pdf
zidauu _business communication.pptx /pdf
 
Stages of Startup Funding - An Explainer
Stages of Startup Funding - An ExplainerStages of Startup Funding - An Explainer
Stages of Startup Funding - An Explainer
 
Hyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings releaseHyundai capital 2024 1q Earnings release
Hyundai capital 2024 1q Earnings release
 
Raising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE VenturesRaising Seed Capital by Steve Schlafman at RRE Ventures
Raising Seed Capital by Steve Schlafman at RRE Ventures
 
Your Work Matters to God RestorationChurch.pptx
Your Work Matters to God RestorationChurch.pptxYour Work Matters to God RestorationChurch.pptx
Your Work Matters to God RestorationChurch.pptx
 

Principles of responsible suppliers

  • 1. Principles of Responsible Technology Suppliers Alan Ward – August From a business perspective, not a pure IT perspective
  • 2. Why? Principles: guidelines on how to behave and what to provide Responsible: Avoiding immature or underhand practices; let’s call them out Technology Suppliers: that’s the scope of this presentation
  • 3. 1: Charge only for the live instance Clients should only pay for the single instance that is used in a live environment
  • 4. Implications of the aim Clients should not pay for training, dev, testing environments Clients should not pay for hot-backup environments Clients should pay for the components to enable hot-backups and other instances, and the backup service
  • 5. Some quirks Specifically, clients shouldn’t pay duplicates for software, but charging for hardware and services is acceptable It’s still acceptable to charge for training environments if you provide the service (e.g. cloud-based, SaaS, etc) If you (as provider) have to perform installation work on each environment – rather than the client’s own IT team able to install on their own - then the client should question if you’re the best supplier (see Release through Promotion later)
  • 6. 2: Release through promotion Environments should be created by scripted installs from configuration management Code and configuration data is promoted* through Dev -> System Test -> UAT -> Live (with a separate branch for training) * Simplified promotion staging as an example. There are other, perfectly acceptable stages
  • 7. Implications of the Aim The following 2 issues increase the risk of error, delays, omissions, differences in environments etc. – Building in dev, then copying the instance into live = not acceptable – Configuring in dev, then performing the same changes manually in live = not acceptable Scripting introduces quicker release timescales and more resilience Client’s IT staff should be able to promote the code through all stages without recourse to the supplier/manufacturer
  • 8. 3: Data integration to other core components Software should permit data interaction between itself and your company’s core components
  • 9. Implications Only sell components that integrate with your core product Data should be accessible through other interfaces than just the front-end GUI so ensure that you integrate at a more fundamental layer Functionality of adapters should be declared before the client’s purchase
  • 10. 4: User interface integration to other core components Software should be extensible enough to allow inclusion of other applications (from other vendors) in a context-sensitive manner within the user interface For instance, this could allow reports (from a vendor of MI/BI software) to be generated based on records being viewed in your application. A typical example would be to to show a graph of open cases for a team
  • 11. Implications Recognise that users use more than one application at a time Recognise that each supplier has a core strength and that not every component is your core strength Clients need to be able to provide an integrated desktop (and other user interfaces) to users.
  • 12. 5: Remote-Access-friendly Software should be usable on a desktop environment through the client’s Remote Access Service.
  • 13. Implications There will be workers on remote sites, partner sites and working from home who require access to software Your software will be available through your client’s infrastructure and network Local install should only be required in the following cases: – When software is CPU-intensive (e.g. certain use cases of manipulating data) – When software needs to cache data locally (e.g. for mobile working solutions, when a small client is installed locally)
  • 14. 6: Mobile-Device Friendly Software should be usable on a mobile device
  • 15. Implications Software has to take into account: – Low bandwidth capacity – Limited screen size – Limited user interaction compared to full keyboard and mouse – Low visibility of screen (e.g. in case of sun glare, etc) This should be a no-brainer nowadays, but still doesn’t seem to be: Mobile-first* *Or similar design principle
  • 16. 7: Mobile-Working Friendly Software and hardware should be usable in a mobile environment, regardless of device used (e.g. laptop, smartphone, tablet)
  • 17. Implications Software and hardware have to take into account: – Different modes of working per user (remote, field- worker, docked office worker, undocked office worker) – A user can work in several different modes within any given day – That users will not always be connected to any network and that users: • Will still require access to data • Will still capture changes to data • Will still capture new data
  • 18. 8: Adapters included Data should be accessible (both to output data and to input new data/changes) through configurable adapters At any stage of technology there is a standard adapter that is the basic adapter every system should have – currently JSON, previously XML, etc
  • 19. Implications Buying a system without adapters is like buying a car without tyres; if you want to use the car properly, you’ll need to buy the tyres. So don’t sell your system without its tyres At some point, clients will want to extract data from the system or input new data, e.g. because they need to expose a new interface (via the Internet or a speech recognition menu) Do not sell closed systems; they’re indicative of bad business practice
  • 20. 9: Client-responsive Release Schedule Clients should be able to influence code releases and roadmaps on a regular basis
  • 21. Implications Suppliers will have to: • interact with clients, gather requirements, listen and respond • publish a roadmap showing expected release functionality and timescales
  • 22. 10: Published data model Clients should receive a copy of the data model that depicts the underlying data structure. The data model should conform to an industry standard (UML Class Model, Martin, Merice).
  • 23. Implications Unreliable suppliers fall into two camps: 1) Those that do not have a data model 2) Those that will not release a data model
  • 24. Those that do not have a data model Shows an immaturity in the development process Increases risk of mistakes in the development process Is indicative of a small, unprofessional development operation Clients should avoid
  • 25. Those that will not release the data model Usually claim that the data model is their IPR. But without it, clients will be working blind on the system when integrating You can develop a domain-specific data model in a couple of hours and it’s likely to be logically better, and more normalised, than what a supplier has implemented (due to how systems grow over time). So there’s little to no commercial value in a client reverse-engineering a system’s data model
  • 26. 11: Single business logic or application tier Business logic should only be executed in a single tier All data has to pass through that business logic tier, regardless of the user interface being used
  • 27. Implications Do not write business logic in the user interface – Increased duplicate effort, therefore increasing risk of errors/omissions and delays in release – Implies different logic and ways of working per user interface – Risk of data corruption User interfaces are for presentation and interaction only
  • 28. 12: You are a Partner in your Client’s Data Custodianship Your client is the custodian of data on behalf of its customers. Your role is to facilitate, not inhibit that custodianship
  • 29. Implications Your clients will have users and those users will have their own rights. As a supplier, you should be assisting your clients in their needs E.g. GDPR permits users to migrate their data from one supplier to another – Does your software facilitate this migration?
  • 30. Purpose I wrote this originally back in 2010 For my clients so that they could understand how the suppliers they were procuring from were creating issues for them and their customers It still looks relevant, a few minor updates for 2017 But the basic principles of being a responsible supplier still remain
  • 31. Your Thoughts? Get in touch @alanward Or linkedin.com/in/awardsounds/

Editor's Notes

  1. Without these other environments, there would be no live environment so should be included in the main live license. What difference does it make to a supplier if we have 15 training environments?
  2. You can choose to sell other components, if you’re company is choosing to branch in a different direction. But be open with clients about the realistic potential for integration.
  3. Your software/service is just one of the components in that integrated desktop.