SlideShare a Scribd company logo
1 of 23
Improving product usability with task complexity
metrics
Ben Colborn
Technical Publications, Nutanix, Inc.
2
What Technical Writers Do
Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2014-15 Edition,
Technical Writers, on the Internet at http://www.bls.gov/ooh/media-and-communication/technical-
writers.htm (visited October 13, 2014).
3
Request from engineering
It would be nice for the doc team to have a metric for complexity
of procedures. … That will bring objectivity to the whole topic
and we can track progress as well.
— Binny Gill, Director of Engineering, April 2012
4
Outline
1.Foundations
2.Mapping
3.Outcome
Foundations
6
What makes a task difficult to complete?
• Materials
• Time to complete
• Context switching
• Choices or paths through the task
• Multipurpose tools or many single-purpose tools
7
Views of content
Content in a database Content as a database
“An object that can be
retrieved from its indexed
location, like locating a
dining room chair in an Ikea
warehouse.”
“A record that can be examined
and presented from different
angles based on different
properties, which can be
selected based on any of these
properties, and which can be
related to other records based
on common properties.”
Mark Baker, “The difference between content in a database and content as a
database”, spfe.info, Feb. 5, 2012
8
Good documentation practices
Minimalism Task orientation
Usefulness
Usability
Structured authoring Semantic tagging
Modularity
Information architecture Consistency
Version control Release history
Topic ID management
9
Instructions for Computer vs. Person
A list of instructions for a computer to do
Program Procedure
A list of instructions for a person to do
Mapping
11
Software Metrics
Lines of code Statements in a program
Complexity Paths through the program
Function points Functionality provided to the user
Coupling How independent modules are
Cohesion Internal relationships in a module
12
Software to Documentation Metric Mapping
Software metric Documentation metric
Lines of code Steps/substeps
Complexity Choice points
Function points User-supplied parameters
Typed text
Coupling Branches
GUI screens/menus
Cohesion Notes/Cautions/Warnings/Dangers
Human factors Interface switches
Command-line interface commands
13
Metric to XPath Mapping (1)
Documentation metric XPath expression
Steps step[not(substeps)]
substep
Choice points choices
choicetable
step[contains(text(), "If")]
Branches step//xref
nCLI commands step//codeblock[starts-with(text(), "ncli")]
root commands step//codeblock[starts-with(text(), "#")]
step//codeblock[contains(text(), "sudo")]
Non-root commands step//codeblock[starts-with(text(), "$")]
14
Metric to XPath Mapping (2)
Documentation metric XPath expression
GUI screens/menus uicontrol
wintitle
Interface switches *[contains(text(), "vSphere client")]
*[contains(text(), "ssh")]
*[contains(text(), "web console")]
Notes/Cautions/
Warnings/Dangers
note[not(@type)]
note[@type="caution"]
note[@type="warning"]
note[@type="important"]
note[@type="danger"]
User-supplied parameters varname
Typed text userinput
15
Implementation
Script
(PowerShell, Python)
1. Declare Xpath expressions
2. Open each file in the repository
3. Count occurences of each expression and sum
4. Write to log file
Open Toolkit Plugin See ditanauts QA plugin
16
Storing for comparison
Outcome
18
Complexity measures over time (1)
0
20
40
60
80
100
120
2 2.1 2.5.3 2.6.2 2.6.4 3 3.1 3.5 4
Complexity
Version
Configuring the Controller VM
Cluster Software
Configuring the ESXi Host
Upgrading vSphere on a Host
(NX-1000/3050/6000 with 16
GB DOM)
Configuring HA and DRS in
vCenter
Configuring Host Networking
(ESXi)
Adding a Nutanix Node to
vCenter
Configuring SNMP
Installing the Controller VM
(ESXi)
Migrating a VM to Another
Cluster
19
Complexity measures over time (2)
0
20
40
60
80
100
120
140
Drive Replacement (Complexity)
20
Quantifying improvement & prioritizing
While the engineers are focused on their individual sub-areas,
the complexity of the overall workflows is not always clear to
them.
Using these metrics has converted a subjective and often
contentious topic into an objective topic which now encourages
more constructive discussions in my team.
It also helps me demonstrate to upper management and
stakeholders the improvements being made in … system design.
— Binny Gill, Director of Engineering, August 2012
21
Other applications
• Documentation complexity
• Content inventory
22
Q & A
ditanauts.org
Improving product usability with task complexity metrics

More Related Content

Similar to Improving product usability with task complexity metrics

Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Practical operability techniques for distributed systems - Velocity EU 2017
Practical operability techniques for distributed systems - Velocity EU 2017Practical operability techniques for distributed systems - Velocity EU 2017
Practical operability techniques for distributed systems - Velocity EU 2017Skelton Thatcher Consulting Ltd
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qaAruna M
 
Practical operability techniques for teams - IPEXPO 2017
Practical operability techniques for teams - IPEXPO 2017Practical operability techniques for teams - IPEXPO 2017
Practical operability techniques for teams - IPEXPO 2017Skelton Thatcher Consulting Ltd
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniqueskamal
 
3 Software Estmation.ppt
3 Software Estmation.ppt3 Software Estmation.ppt
3 Software Estmation.pptSoham De
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersDave Bost
 
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)Ovidiu Farauanu
 
Methodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesMethodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesJean Vanderdonckt
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides againHima Challa
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
Chen's second test slides
Chen's second test slidesChen's second test slides
Chen's second test slidesHima Challa
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chentechweb08
 
Usability awareness brown bag
Usability awareness brown bagUsability awareness brown bag
Usability awareness brown bagLawrenceNajjar
 
Hardware Design Practices For Modern Hardware
Hardware Design Practices For Modern HardwareHardware Design Practices For Modern Hardware
Hardware Design Practices For Modern HardwareWinstina Kennedy
 
Agile Testing Days 2017 Introducing AgileBI Sustainably
Agile Testing Days 2017 Introducing AgileBI SustainablyAgile Testing Days 2017 Introducing AgileBI Sustainably
Agile Testing Days 2017 Introducing AgileBI SustainablyRaphael Branger
 

Similar to Improving product usability with task complexity metrics (20)

Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Practical operability techniques for distributed systems - Velocity EU 2017
Practical operability techniques for distributed systems - Velocity EU 2017Practical operability techniques for distributed systems - Velocity EU 2017
Practical operability techniques for distributed systems - Velocity EU 2017
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qa
 
Practical operability techniques for teams - IPEXPO 2017
Practical operability techniques for teams - IPEXPO 2017Practical operability techniques for teams - IPEXPO 2017
Practical operability techniques for teams - IPEXPO 2017
 
Chapter five HCI
Chapter five HCIChapter five HCI
Chapter five HCI
 
Softwareproject planning
Softwareproject planningSoftwareproject planning
Softwareproject planning
 
Software Estimation Techniques
Software Estimation TechniquesSoftware Estimation Techniques
Software Estimation Techniques
 
3 Software Estmation.ppt
3 Software Estmation.ppt3 Software Estmation.ppt
3 Software Estmation.ppt
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
 
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
Functional Patterns for C++ Multithreading (C++ Dev Meetup Iasi)
 
Methodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User InterfacesMethodology for the Development of Vocal User Interfaces
Methodology for the Development of Vocal User Interfaces
 
Chen's second test slides again
Chen's second test slides againChen's second test slides again
Chen's second test slides again
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
Chen's second test slides
Chen's second test slidesChen's second test slides
Chen's second test slides
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
A simple test paper from Chen
A simple test paper from ChenA simple test paper from Chen
A simple test paper from Chen
 
Usability awareness brown bag
Usability awareness brown bagUsability awareness brown bag
Usability awareness brown bag
 
Hardware Design Practices For Modern Hardware
Hardware Design Practices For Modern HardwareHardware Design Practices For Modern Hardware
Hardware Design Practices For Modern Hardware
 
Agile Testing Days 2017 Introducing AgileBI Sustainably
Agile Testing Days 2017 Introducing AgileBI SustainablyAgile Testing Days 2017 Introducing AgileBI Sustainably
Agile Testing Days 2017 Introducing AgileBI Sustainably
 
OOP ppt.pdf
OOP ppt.pdfOOP ppt.pdf
OOP ppt.pdf
 

More from Ben Colborn

Terminology and taxonomy as foundations of content strategy
Terminology and taxonomy as foundations of content strategyTerminology and taxonomy as foundations of content strategy
Terminology and taxonomy as foundations of content strategyBen Colborn
 
Language quality as foundation of enterprise content strategy
Language quality as foundation of enterprise content strategyLanguage quality as foundation of enterprise content strategy
Language quality as foundation of enterprise content strategyBen Colborn
 
DITA as Interchange Format for Crowdsourcing and Acquisitions
DITA as Interchange Format for Crowdsourcing and AcquisitionsDITA as Interchange Format for Crowdsourcing and Acquisitions
DITA as Interchange Format for Crowdsourcing and AcquisitionsBen Colborn
 
Reference material: Topics or databases?
Reference material: Topics or databases?Reference material: Topics or databases?
Reference material: Topics or databases?Ben Colborn
 
Automated QA of DITA content sets
Automated QA of DITA content setsAutomated QA of DITA content sets
Automated QA of DITA content setsBen Colborn
 
Dynamic chunking of component-authored information
Dynamic chunking of component-authored informationDynamic chunking of component-authored information
Dynamic chunking of component-authored informationBen Colborn
 

More from Ben Colborn (6)

Terminology and taxonomy as foundations of content strategy
Terminology and taxonomy as foundations of content strategyTerminology and taxonomy as foundations of content strategy
Terminology and taxonomy as foundations of content strategy
 
Language quality as foundation of enterprise content strategy
Language quality as foundation of enterprise content strategyLanguage quality as foundation of enterprise content strategy
Language quality as foundation of enterprise content strategy
 
DITA as Interchange Format for Crowdsourcing and Acquisitions
DITA as Interchange Format for Crowdsourcing and AcquisitionsDITA as Interchange Format for Crowdsourcing and Acquisitions
DITA as Interchange Format for Crowdsourcing and Acquisitions
 
Reference material: Topics or databases?
Reference material: Topics or databases?Reference material: Topics or databases?
Reference material: Topics or databases?
 
Automated QA of DITA content sets
Automated QA of DITA content setsAutomated QA of DITA content sets
Automated QA of DITA content sets
 
Dynamic chunking of component-authored information
Dynamic chunking of component-authored informationDynamic chunking of component-authored information
Dynamic chunking of component-authored information
 

Recently uploaded

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 

Recently uploaded (20)

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 

Improving product usability with task complexity metrics

  • 1. Improving product usability with task complexity metrics Ben Colborn Technical Publications, Nutanix, Inc.
  • 2. 2 What Technical Writers Do Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2014-15 Edition, Technical Writers, on the Internet at http://www.bls.gov/ooh/media-and-communication/technical- writers.htm (visited October 13, 2014).
  • 3. 3 Request from engineering It would be nice for the doc team to have a metric for complexity of procedures. … That will bring objectivity to the whole topic and we can track progress as well. — Binny Gill, Director of Engineering, April 2012
  • 6. 6 What makes a task difficult to complete? • Materials • Time to complete • Context switching • Choices or paths through the task • Multipurpose tools or many single-purpose tools
  • 7. 7 Views of content Content in a database Content as a database “An object that can be retrieved from its indexed location, like locating a dining room chair in an Ikea warehouse.” “A record that can be examined and presented from different angles based on different properties, which can be selected based on any of these properties, and which can be related to other records based on common properties.” Mark Baker, “The difference between content in a database and content as a database”, spfe.info, Feb. 5, 2012
  • 8. 8 Good documentation practices Minimalism Task orientation Usefulness Usability Structured authoring Semantic tagging Modularity Information architecture Consistency Version control Release history Topic ID management
  • 9. 9 Instructions for Computer vs. Person A list of instructions for a computer to do Program Procedure A list of instructions for a person to do
  • 11. 11 Software Metrics Lines of code Statements in a program Complexity Paths through the program Function points Functionality provided to the user Coupling How independent modules are Cohesion Internal relationships in a module
  • 12. 12 Software to Documentation Metric Mapping Software metric Documentation metric Lines of code Steps/substeps Complexity Choice points Function points User-supplied parameters Typed text Coupling Branches GUI screens/menus Cohesion Notes/Cautions/Warnings/Dangers Human factors Interface switches Command-line interface commands
  • 13. 13 Metric to XPath Mapping (1) Documentation metric XPath expression Steps step[not(substeps)] substep Choice points choices choicetable step[contains(text(), "If")] Branches step//xref nCLI commands step//codeblock[starts-with(text(), "ncli")] root commands step//codeblock[starts-with(text(), "#")] step//codeblock[contains(text(), "sudo")] Non-root commands step//codeblock[starts-with(text(), "$")]
  • 14. 14 Metric to XPath Mapping (2) Documentation metric XPath expression GUI screens/menus uicontrol wintitle Interface switches *[contains(text(), "vSphere client")] *[contains(text(), "ssh")] *[contains(text(), "web console")] Notes/Cautions/ Warnings/Dangers note[not(@type)] note[@type="caution"] note[@type="warning"] note[@type="important"] note[@type="danger"] User-supplied parameters varname Typed text userinput
  • 15. 15 Implementation Script (PowerShell, Python) 1. Declare Xpath expressions 2. Open each file in the repository 3. Count occurences of each expression and sum 4. Write to log file Open Toolkit Plugin See ditanauts QA plugin
  • 18. 18 Complexity measures over time (1) 0 20 40 60 80 100 120 2 2.1 2.5.3 2.6.2 2.6.4 3 3.1 3.5 4 Complexity Version Configuring the Controller VM Cluster Software Configuring the ESXi Host Upgrading vSphere on a Host (NX-1000/3050/6000 with 16 GB DOM) Configuring HA and DRS in vCenter Configuring Host Networking (ESXi) Adding a Nutanix Node to vCenter Configuring SNMP Installing the Controller VM (ESXi) Migrating a VM to Another Cluster
  • 19. 19 Complexity measures over time (2) 0 20 40 60 80 100 120 140 Drive Replacement (Complexity)
  • 20. 20 Quantifying improvement & prioritizing While the engineers are focused on their individual sub-areas, the complexity of the overall workflows is not always clear to them. Using these metrics has converted a subjective and often contentious topic into an objective topic which now encourages more constructive discussions in my team. It also helps me demonstrate to upper management and stakeholders the improvements being made in … system design. — Binny Gill, Director of Engineering, August 2012
  • 21. 21 Other applications • Documentation complexity • Content inventory

Editor's Notes

  1. <<Breath>> Good morning everyone. My name is Ben Colborn. I am the manager of technical publications at Nutanix, a rapidly growing IT infrastructure company, going from 40 employees when I joined 3 years ago to almost 800. What I want to talk about today is a technique that we have developed to contribute to product usability enhancements with metrics calculated from the documentation, specifically DITA task topics. In other words, creating business intelligence from documentation. Most discussions of the benefits of structured authoring, not surprisingly, focus around authoring and publishing, including localization and multichannel output. While these are tremendous benefits, today I want to suggest that there is another dimension: using structured documentation as commentary on the products that can feed into product improvement efforts.
  2. Metrics are recorded by topic ID. Each record contains the title, path, release, and complexity score. From here, the database is converted to CSV with XSLT so it can be imported in to Excel.
  3. Weighting: no Cutoff score: no
  4. One final note before going into questions. Earlier I mentioned the QA plugin from ditanauts. You can access the blog I have with a couple former colleagues at ditanauts.org.