SlideShare a Scribd company logo
Chicago, USA
August 24-28, 2009
WANTED: Seeking Single Agile
Knowledge Development Tool-set
by Brad Appleton
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 2
Presenter Information
Brad Appleton
 22 years in industry – last 15 w/large Telecom.
 Leading software development, CM & ALM solution
architecture
 Leading adoption & scaling of Agile development for
large organization since 2000.
 Co-author: Software Configuration Management
Patterns (Addison-Wesley 2002), Agile CM Environments
(column in CM Journal), Reviewer for The Agile Journal
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 3
What to expect in this talk?
More questions & challenges than answers
 I don’t have all the answers here!
 Just a perspective to share about “knowledge creation”
for software development and supporting tools
 Lots of “what if” and “why can’t I” questions
 Borne out of a lot of experience in software development
for projects of ALL shapes and sizes and …
 Extensive experience/practice in CM & ALM processes,
tools and their patterns of usage & design
Discussion/brainstorming of possible solutions
 Especially from tool vendors/developers
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 4
Making Software == Creating Knowledge
“The hard part about creating software systems is
not creating them, it is in acquiring the knowledge
necessary to create them (correctly).
Therefore:
 Software is not a product, it is a medium for storing
executable knowledge!
 We do not ‘build systems’—we acquire knowledge.
 The systems we ship to our customers are actually the
byproducts of the real activity, which is to learn
 The real product is the knowledge that is in the systems we
ship to the customer.”
— Phil Armour, Software is NOT a Product (CACM, August 2000)
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 5
Implications
The previous assertion implies that …
 All artifacts (specs, designs/models, code, tests) are
simply snapshots of our efforts to transcribe our
understanding of the system and of its development.
 Each type of “artifact” is just a different form of
knowledge in a different format and level-of-detail.
 Each artifact update/change embodies some new
discovery, learned via some interaction.
 Software CM/ALM is therefore:
• the medium in which inter-related knowledge artifacts are
stored & maintained, and …
• the environment through which development changes and
collaborative learning must ultimately flow
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 6
Knowledge Work / Activities
Types of Knowledge Work (All focused on meeting
needs, solving problems and managing knowledge)
 Software, Process and/Documentation (form of knowledge)
 Development, Enhancement, Repair (points in the lifecycle)
 Engineering, Problem Solving, Scientific Method
(approaches to the work)
Types of Knowledge Activities
 Project Planning & Tracking
 Requirements Development & Analysis
 Design, Modeling & Implementation
 Verification & Validation
 Issue Management
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 7
Knowledge Representation
• Types of Knowledge Representation
 Traditional Code
 Traditional Documents (Specs)
 Formal Models
 Test Cases
 Change Requests (backlog-items and/or defect reports)
 Hybrids (e.g. HTML, wiki pages, Mashups, Dashboards, Portals, ....)
 Other usable types/formats:
• Build scripts & configuration info
• Build/test result reports
• Version control history/comments
• Online help & other supporting docs
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 8
Agile Knowledge Development?
Shouldn’t Agile values, principles and techniques
apply to ALL the various forms and formats of
knowledge that the project must create &
deliver? (not just code)
 Eliminating duplication and maximizing simplicity,
habitability & navigability applies to the organization of
non-code artifacts too
 Writing “tests” that define what “done” means for non-
code artifacts
 Continuously integrating (& validating) ALL types of
knowledge artifacts (not just code)
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 9
Refactoring for non-code artifacts?
Think of Refactoring as …
• a process of simplifying and consolidating the collection
of knowledge and thoughts that we have attempted to
transfer into written specs/models/code making many
small, successive revisions focused on:
 Preserving correctness (cf. "passes all the tests")
 Removing redundancy (cf. "contains no duplication")
 Revealing thoughts and intentions (cf. "expressly reveals all
our thoughts/intentions about the program")
 And improving clarity and conciseness (cf. "minimizes the
number/size of classes & methods")
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 10
Sound crazy? Think again!
Stated this way, refactoring EASILY applies to knowledge
that is transcribed and structured in the form of:
 Requirements / Stories
 Written Tests
 Backlog items / requests
 Wiki-pages?
Corresponding refactorings/patterns of clear & simple prose
have existed for centuries!
 Don’t believe me? Look no further than books like Style: 10 Lessons
in Clarity & Grace (by Joseph Williams) or The Art of Styling
Sentences: 20 Patterns for Success
 So, these basic rules of structure & simplicity are about organizing
many forms of knowledge (not just code)
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 11
What about tests/integration?
A "test" is a way of capturing (and then validating) what it
means to be "done" for a particular "chunk" of the
document.
Ways that we do this ...
 Structural patterns: templates, outlines, checklists
 Content/message "tests": I am done with this section when the
reader understand how/that/when ...(key take-aways)
 Spelling and grammar checks are like "compilation" and/or checking
for "smells"
 Cross-reference (links) building & checking
 Suggesting corrections, or alternative (shorter) phrases are kind of
like suggesting refactoring
 Web 2.0 and XML give us things like semantic web and ontologies
whose structure can be automatically executed.
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 12
Agile Doc Development?
Agile development of a document would be kind of like
outline format…
 Initial, hi-level outline is like the backlog.
 The user stories are the "key take-aways" you want the target
audience to retain
 The initial topics in the outline get prioritized, and …
 The hi-er priority topics get elaborated first, iterating in
recursive/hierarchical fashion.
 Each time I elaborate more detail, I refactor the overall
structure.
 My backlog grows into a hierarchically structured outline.
 Unit-Tests are like the "tests" for a given (sub)section whereas
"feature tests" are whether or not the "key take-away" or
"learning objective" has been realized.
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 13
Traceability?
• Testing == Traceability (Agile Style)
• Some tests we may write manually can't be easily
executed, so we instead do things like
 "cannibalize" them. The original "test" doesn't stay in its original
form, it simply "evolves" into the text that satisfies the test
 when developing training materials, we may have to write outlines,
highlights/summaries, learning objectives. These form the "tests"
 Sometimes we write software documentation and the examples in
the text define test-cases whose expected inputs/outputs are written
in the text and must be verified via execution
• (in fact some people try to make their "tests" serve double-duty as
sample input/output in user-guides)
 Cross-references and Wiki-like links are really just forms of
traceability
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 14
Why Can’t We Do This Easily?
Why can’t we use the same basic tools (or
something darn close to it!)
 Why can’t I have an Eclipse-like IDE for viewing and editing the
structure of a document (or requirements or backlog-items)
• E.g. as multiple pages in a wiki
 Why can’t I easily to labeling/tagging or “task-based commit” of
multiple wiki-pages at a time? (or even branching?)
 Why can’t I easily browse/refactor and navigating ALL the
knowledge of the system? (not just code, but stories, tests,
build/config data, CI reports, backlog, retrospective lessons)?
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 15
What Tools CAN Do This?
• The following can do parts of it:
 Eclipse, Confluence, Twiki, Mashups
 FIT, Fitnesse, Contour
 Doxygen / Javadoc
 Trac / Agile-Trac?
 Jira / Remedy
 Jazz?
 zAgile wikidsmart
 Web 2.0 technologies like XML schema & ontologies
• Note the lack of basic version-control functionality (of
groups of elements – not just single items) in most of the
above – why is that?
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 16
Is there a better way?
How to get the best of version control, Wiki/CMS and
issue/item management all together without too much
duplication/overlap and complexity?
 zAgile comes close with wikidsmart that works on top of Jira and
Confluence
 But missing version control capabilities like Subversion or Accurev
 Capable of integrating with Eclipse
 What about extending (Mash-Ups?) to use (or at least appear to use)
a single repository for all a project’s knowledge?
 How many tools does it have to be?
 If doneright, traceability comes practically for free with wiki
hyperlinks, automated event logging, and ubiquitous language with
Google-like Search!
Chicago, USA
August 24-28, 2009
Let’s Brainstorm & Discuss!
How would you do it?
What would you recommend?
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 18
Conclusions?
• How did we do?
Chicago, USA
August 24-28, 2009
WANTED: Desperately Seeking Single Agile
Knowledge Development Tool-setBrad Appleton 19
Thank You!
Mahalo
XiexieYumboticSalamat
Arigato

More Related Content

What's hot (20)

PDF
Prerequisites for evolutionary architecture
Chris Howe-Jones
 
PPTX
Cultivating Your Design Heuristics
Rebecca Wirfs-Brock
 
PDF
Resource Adaptive Systems
Tom Mueck
 
PDF
Architectural runway
DmitriyViktorov
 
PDF
Modern Agile Software Architecture
Kannan Durairaj
 
PPTX
Agilelessons scanagile-final 2013
lokori
 
PPTX
Agile Metrics: Value, Flow, Quality, Culture
Brad Appleton
 
PPTX
Agile Overview As V1.2
Anjan Roy
 
PDF
Architecture in an Agile World
Don McGreal
 
PDF
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
David Waters
 
PPTX
Why ask why? Try agile BI!
Excella
 
PPTX
No Silver Bullet - Essence and Accidents of Software Engineering
Aditi Abhang
 
PDF
Documentation in the agile software development process
Fabian Kiss
 
PDF
Business value of Agile : A People10 Showcase
People10 Technosoft Private Limited
 
PDF
Agile Enterprise Architecture? Oxymoron or Savior?
Agile Software Community of India
 
PPTX
Critical Capabilities to Shifting Left the Right Way
SmartBear
 
PPTX
Are You Being Agile or Doing Agile?
Brad Appleton
 
PDF
Business Value of CI, CD, & DevOps(Sec)
David Rico
 
PDF
Business Value of Agile Methods: Using ROI & Real Options
David Rico
 
PDF
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
Daniel Berg
 
Prerequisites for evolutionary architecture
Chris Howe-Jones
 
Cultivating Your Design Heuristics
Rebecca Wirfs-Brock
 
Resource Adaptive Systems
Tom Mueck
 
Architectural runway
DmitriyViktorov
 
Modern Agile Software Architecture
Kannan Durairaj
 
Agilelessons scanagile-final 2013
lokori
 
Agile Metrics: Value, Flow, Quality, Culture
Brad Appleton
 
Agile Overview As V1.2
Anjan Roy
 
Architecture in an Agile World
Don McGreal
 
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
David Waters
 
Why ask why? Try agile BI!
Excella
 
No Silver Bullet - Essence and Accidents of Software Engineering
Aditi Abhang
 
Documentation in the agile software development process
Fabian Kiss
 
Business value of Agile : A People10 Showcase
People10 Technosoft Private Limited
 
Agile Enterprise Architecture? Oxymoron or Savior?
Agile Software Community of India
 
Critical Capabilities to Shifting Left the Right Way
SmartBear
 
Are You Being Agile or Doing Agile?
Brad Appleton
 
Business Value of CI, CD, & DevOps(Sec)
David Rico
 
Business Value of Agile Methods: Using ROI & Real Options
David Rico
 
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
Daniel Berg
 

Viewers also liked (20)

PPT
P4 Branching Overview
Go2Group, Inc.
 
PPTX
Kscope 2013 delphix
Kyle Hailey
 
PPTX
Continuous delivery made possible
mimmozzo_
 
PPTX
In (database) automation we trust
DBmaestro - Database DevOps
 
PDF
Software Configuration Management Problemas e Soluções
elliando dias
 
PPTX
DBTA Data Summit : Eliminating the data constraint in Application Development
Kyle Hailey
 
PPT
Tui Travel - Overcoming the Challenges of Agile Methods
DBmaestro - Database DevOps
 
PPTX
Delphix and DBmaestro
Kyle Hailey
 
PDF
Faking Hell
Giovanni Asproni
 
PPTX
Jenkins Plugin
DelphixCorp
 
PDF
How do you deliver your applications to the cloud?
Michael Elder
 
PDF
Delphix modernization whitepaper
Franco_Dagosto
 
PDF
Is agile adoption losing steam?
Go2Group, Inc.
 
PDF
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group, Inc.
 
PPTX
Agile Configuration Management Environments
Brad Appleton
 
PDF
Test case management and requirements traceability
Go2Group, Inc.
 
PPTX
Delphix Workflow for SQL Server
rcaccia
 
PPTX
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Correlsense
 
PDF
MuleSoft Connect 2015 - Go2Group presentation
Go2Group, Inc.
 
PPTX
Nyoug delphix slideshare
Kyle Hailey
 
P4 Branching Overview
Go2Group, Inc.
 
Kscope 2013 delphix
Kyle Hailey
 
Continuous delivery made possible
mimmozzo_
 
In (database) automation we trust
DBmaestro - Database DevOps
 
Software Configuration Management Problemas e Soluções
elliando dias
 
DBTA Data Summit : Eliminating the data constraint in Application Development
Kyle Hailey
 
Tui Travel - Overcoming the Challenges of Agile Methods
DBmaestro - Database DevOps
 
Delphix and DBmaestro
Kyle Hailey
 
Faking Hell
Giovanni Asproni
 
Jenkins Plugin
DelphixCorp
 
How do you deliver your applications to the cloud?
Michael Elder
 
Delphix modernization whitepaper
Franco_Dagosto
 
Is agile adoption losing steam?
Go2Group, Inc.
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group, Inc.
 
Agile Configuration Management Environments
Brad Appleton
 
Test case management and requirements traceability
Go2Group, Inc.
 
Delphix Workflow for SQL Server
rcaccia
 
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Correlsense
 
MuleSoft Connect 2015 - Go2Group presentation
Go2Group, Inc.
 
Nyoug delphix slideshare
Kyle Hailey
 
Ad

Similar to WANTED: Seeking Single Agile Knowledge Development Tool-set (20)

PDF
Closing the feedback loop with a little help from your friends
Jackson Fox
 
ODP
Agile Science
Xavier Amatriain
 
PPTX
ISTQB Agile Extension
Davis Thomas
 
PDF
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
Ho Chi Minh City Software Testing Club
 
PPTX
Agile practices and benefits
Richard Stone
 
PDF
Chapter 3 - Agile Software Development.pdf
nuredinxos
 
PPT
Agile Development
Chris Scofield
 
PDF
Introducing agile
Andreas Hägglund
 
PPTX
Agile 101
beLithe
 
PPTX
Agile Software Development Presentation.pptx
NISHCHALRAJSUBEDI
 
PDF
Software Craftsmanship: Agile Is Not Enough
Ken Auer
 
PDF
Software Craftsmanship: Agile is Not Enough
Ken Auer
 
PPTX
Agile (s.e)
deep sharma
 
PDF
Sdec11.agile ina day
sdeconf
 
PDF
Knowledge Management in Distributed Agile Software Development
Kir Chou
 
PPTX
Basic agile namrata-workshop
Namrata Datta
 
PDF
How to Adopt Agile at Your Organization
Raimonds Simanovskis
 
PDF
Software development is hard
Ed Wong
 
PDF
Intro to Agile Methods for Execs, Leaders, and Managers
David Rico
 
PPT
ALTNET
Antonio Radesca
 
Closing the feedback loop with a little help from your friends
Jackson Fox
 
Agile Science
Xavier Amatriain
 
ISTQB Agile Extension
Davis Thomas
 
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
Ho Chi Minh City Software Testing Club
 
Agile practices and benefits
Richard Stone
 
Chapter 3 - Agile Software Development.pdf
nuredinxos
 
Agile Development
Chris Scofield
 
Introducing agile
Andreas Hägglund
 
Agile 101
beLithe
 
Agile Software Development Presentation.pptx
NISHCHALRAJSUBEDI
 
Software Craftsmanship: Agile Is Not Enough
Ken Auer
 
Software Craftsmanship: Agile is Not Enough
Ken Auer
 
Agile (s.e)
deep sharma
 
Sdec11.agile ina day
sdeconf
 
Knowledge Management in Distributed Agile Software Development
Kir Chou
 
Basic agile namrata-workshop
Namrata Datta
 
How to Adopt Agile at Your Organization
Raimonds Simanovskis
 
Software development is hard
Ed Wong
 
Intro to Agile Methods for Execs, Leaders, and Managers
David Rico
 
Ad

Recently uploaded (20)

PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Adobe Premiere Pro Crack / Full Version / Free Download
hashhshs786
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 

WANTED: Seeking Single Agile Knowledge Development Tool-set

  • 1. Chicago, USA August 24-28, 2009 WANTED: Seeking Single Agile Knowledge Development Tool-set by Brad Appleton
  • 2. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 2 Presenter Information Brad Appleton  22 years in industry – last 15 w/large Telecom.  Leading software development, CM & ALM solution architecture  Leading adoption & scaling of Agile development for large organization since 2000.  Co-author: Software Configuration Management Patterns (Addison-Wesley 2002), Agile CM Environments (column in CM Journal), Reviewer for The Agile Journal
  • 3. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 3 What to expect in this talk? More questions & challenges than answers  I don’t have all the answers here!  Just a perspective to share about “knowledge creation” for software development and supporting tools  Lots of “what if” and “why can’t I” questions  Borne out of a lot of experience in software development for projects of ALL shapes and sizes and …  Extensive experience/practice in CM & ALM processes, tools and their patterns of usage & design Discussion/brainstorming of possible solutions  Especially from tool vendors/developers
  • 4. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 4 Making Software == Creating Knowledge “The hard part about creating software systems is not creating them, it is in acquiring the knowledge necessary to create them (correctly). Therefore:  Software is not a product, it is a medium for storing executable knowledge!  We do not ‘build systems’—we acquire knowledge.  The systems we ship to our customers are actually the byproducts of the real activity, which is to learn  The real product is the knowledge that is in the systems we ship to the customer.” — Phil Armour, Software is NOT a Product (CACM, August 2000)
  • 5. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 5 Implications The previous assertion implies that …  All artifacts (specs, designs/models, code, tests) are simply snapshots of our efforts to transcribe our understanding of the system and of its development.  Each type of “artifact” is just a different form of knowledge in a different format and level-of-detail.  Each artifact update/change embodies some new discovery, learned via some interaction.  Software CM/ALM is therefore: • the medium in which inter-related knowledge artifacts are stored & maintained, and … • the environment through which development changes and collaborative learning must ultimately flow
  • 6. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 6 Knowledge Work / Activities Types of Knowledge Work (All focused on meeting needs, solving problems and managing knowledge)  Software, Process and/Documentation (form of knowledge)  Development, Enhancement, Repair (points in the lifecycle)  Engineering, Problem Solving, Scientific Method (approaches to the work) Types of Knowledge Activities  Project Planning & Tracking  Requirements Development & Analysis  Design, Modeling & Implementation  Verification & Validation  Issue Management
  • 7. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 7 Knowledge Representation • Types of Knowledge Representation  Traditional Code  Traditional Documents (Specs)  Formal Models  Test Cases  Change Requests (backlog-items and/or defect reports)  Hybrids (e.g. HTML, wiki pages, Mashups, Dashboards, Portals, ....)  Other usable types/formats: • Build scripts & configuration info • Build/test result reports • Version control history/comments • Online help & other supporting docs
  • 8. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 8 Agile Knowledge Development? Shouldn’t Agile values, principles and techniques apply to ALL the various forms and formats of knowledge that the project must create & deliver? (not just code)  Eliminating duplication and maximizing simplicity, habitability & navigability applies to the organization of non-code artifacts too  Writing “tests” that define what “done” means for non- code artifacts  Continuously integrating (& validating) ALL types of knowledge artifacts (not just code)
  • 9. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 9 Refactoring for non-code artifacts? Think of Refactoring as … • a process of simplifying and consolidating the collection of knowledge and thoughts that we have attempted to transfer into written specs/models/code making many small, successive revisions focused on:  Preserving correctness (cf. "passes all the tests")  Removing redundancy (cf. "contains no duplication")  Revealing thoughts and intentions (cf. "expressly reveals all our thoughts/intentions about the program")  And improving clarity and conciseness (cf. "minimizes the number/size of classes & methods")
  • 10. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 10 Sound crazy? Think again! Stated this way, refactoring EASILY applies to knowledge that is transcribed and structured in the form of:  Requirements / Stories  Written Tests  Backlog items / requests  Wiki-pages? Corresponding refactorings/patterns of clear & simple prose have existed for centuries!  Don’t believe me? Look no further than books like Style: 10 Lessons in Clarity & Grace (by Joseph Williams) or The Art of Styling Sentences: 20 Patterns for Success  So, these basic rules of structure & simplicity are about organizing many forms of knowledge (not just code)
  • 11. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 11 What about tests/integration? A "test" is a way of capturing (and then validating) what it means to be "done" for a particular "chunk" of the document. Ways that we do this ...  Structural patterns: templates, outlines, checklists  Content/message "tests": I am done with this section when the reader understand how/that/when ...(key take-aways)  Spelling and grammar checks are like "compilation" and/or checking for "smells"  Cross-reference (links) building & checking  Suggesting corrections, or alternative (shorter) phrases are kind of like suggesting refactoring  Web 2.0 and XML give us things like semantic web and ontologies whose structure can be automatically executed.
  • 12. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 12 Agile Doc Development? Agile development of a document would be kind of like outline format…  Initial, hi-level outline is like the backlog.  The user stories are the "key take-aways" you want the target audience to retain  The initial topics in the outline get prioritized, and …  The hi-er priority topics get elaborated first, iterating in recursive/hierarchical fashion.  Each time I elaborate more detail, I refactor the overall structure.  My backlog grows into a hierarchically structured outline.  Unit-Tests are like the "tests" for a given (sub)section whereas "feature tests" are whether or not the "key take-away" or "learning objective" has been realized.
  • 13. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 13 Traceability? • Testing == Traceability (Agile Style) • Some tests we may write manually can't be easily executed, so we instead do things like  "cannibalize" them. The original "test" doesn't stay in its original form, it simply "evolves" into the text that satisfies the test  when developing training materials, we may have to write outlines, highlights/summaries, learning objectives. These form the "tests"  Sometimes we write software documentation and the examples in the text define test-cases whose expected inputs/outputs are written in the text and must be verified via execution • (in fact some people try to make their "tests" serve double-duty as sample input/output in user-guides)  Cross-references and Wiki-like links are really just forms of traceability
  • 14. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 14 Why Can’t We Do This Easily? Why can’t we use the same basic tools (or something darn close to it!)  Why can’t I have an Eclipse-like IDE for viewing and editing the structure of a document (or requirements or backlog-items) • E.g. as multiple pages in a wiki  Why can’t I easily to labeling/tagging or “task-based commit” of multiple wiki-pages at a time? (or even branching?)  Why can’t I easily browse/refactor and navigating ALL the knowledge of the system? (not just code, but stories, tests, build/config data, CI reports, backlog, retrospective lessons)?
  • 15. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 15 What Tools CAN Do This? • The following can do parts of it:  Eclipse, Confluence, Twiki, Mashups  FIT, Fitnesse, Contour  Doxygen / Javadoc  Trac / Agile-Trac?  Jira / Remedy  Jazz?  zAgile wikidsmart  Web 2.0 technologies like XML schema & ontologies • Note the lack of basic version-control functionality (of groups of elements – not just single items) in most of the above – why is that?
  • 16. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 16 Is there a better way? How to get the best of version control, Wiki/CMS and issue/item management all together without too much duplication/overlap and complexity?  zAgile comes close with wikidsmart that works on top of Jira and Confluence  But missing version control capabilities like Subversion or Accurev  Capable of integrating with Eclipse  What about extending (Mash-Ups?) to use (or at least appear to use) a single repository for all a project’s knowledge?  How many tools does it have to be?  If doneright, traceability comes practically for free with wiki hyperlinks, automated event logging, and ubiquitous language with Google-like Search!
  • 17. Chicago, USA August 24-28, 2009 Let’s Brainstorm & Discuss! How would you do it? What would you recommend?
  • 18. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 18 Conclusions? • How did we do?
  • 19. Chicago, USA August 24-28, 2009 WANTED: Desperately Seeking Single Agile Knowledge Development Tool-setBrad Appleton 19 Thank You! Mahalo XiexieYumboticSalamat Arigato