SlideShare a Scribd company logo
1 of 19
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

Prerequisites for evolutionary architecture
Prerequisites for evolutionary architecturePrerequisites for evolutionary architecture
Prerequisites for evolutionary architectureChris Howe-Jones
 
Cultivating Your Design Heuristics
Cultivating Your Design HeuristicsCultivating Your Design Heuristics
Cultivating Your Design HeuristicsRebecca Wirfs-Brock
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive SystemsTom Mueck
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software ArchitectureKannan Durairaj
 
Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013lokori
 
Agile Metrics: Value, Flow, Quality, Culture
Agile Metrics: Value, Flow, Quality, CultureAgile Metrics: Value, Flow, Quality, Culture
Agile Metrics: Value, Flow, Quality, CultureBrad Appleton
 
Agile Overview As V1.2
Agile Overview As V1.2Agile Overview As V1.2
Agile Overview As V1.2Anjan Roy
 
Architecture in an Agile World
Architecture in an Agile WorldArchitecture in an Agile World
Architecture in an Agile WorldDon McGreal
 
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5 Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5 David Waters
 
Why ask why? Try agile BI!
Why ask why? Try agile BI!Why ask why? Try agile BI!
Why ask why? Try agile BI!Excella
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
Documentation in the agile software development process
Documentation in the agile software development processDocumentation in the agile software development process
Documentation in the agile software development processFabian Kiss
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WaySmartBear
 
Are You Being Agile or Doing Agile?
Are You Being Agile or Doing Agile?Are You Being Agile or Doing Agile?
Are You Being Agile or Doing Agile?Brad Appleton
 
Business Value of CI, CD, & DevOps(Sec)
Business Value of CI, CD, & DevOps(Sec)Business Value of CI, CD, & DevOps(Sec)
Business Value of CI, CD, & DevOps(Sec)David Rico
 
Business Value of Agile Methods: Using ROI & Real Options
Business Value of Agile Methods: Using ROI & Real OptionsBusiness Value of Agile Methods: Using ROI & Real Options
Business Value of Agile Methods: Using ROI & Real OptionsDavid Rico
 
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
[IBM Pulse 2014] #1579 DevOps Technical Strategy and RoadmapDaniel Berg
 

What's hot (20)

Prerequisites for evolutionary architecture
Prerequisites for evolutionary architecturePrerequisites for evolutionary architecture
Prerequisites for evolutionary architecture
 
Cultivating Your Design Heuristics
Cultivating Your Design HeuristicsCultivating Your Design Heuristics
Cultivating Your Design Heuristics
 
Resource Adaptive Systems
Resource Adaptive SystemsResource Adaptive Systems
Resource Adaptive Systems
 
Architectural runway
Architectural runwayArchitectural runway
Architectural runway
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
 
Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013
 
Agile Metrics: Value, Flow, Quality, Culture
Agile Metrics: Value, Flow, Quality, CultureAgile Metrics: Value, Flow, Quality, Culture
Agile Metrics: Value, Flow, Quality, Culture
 
Agile Overview As V1.2
Agile Overview As V1.2Agile Overview As V1.2
Agile Overview As V1.2
 
Architecture in an Agile World
Architecture in an Agile WorldArchitecture in an Agile World
Architecture in an Agile World
 
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5 Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
Building Data Marts – a Sprint Not A Marathon (Forward Intelligence) v5
 
Why ask why? Try agile BI!
Why ask why? Try agile BI!Why ask why? Try agile BI!
Why ask why? Try agile BI!
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
Documentation in the agile software development process
Documentation in the agile software development processDocumentation in the agile software development process
Documentation in the agile software development process
 
Business value of Agile : A People10 Showcase
Business value of Agile : A People10 ShowcaseBusiness value of Agile : A People10 Showcase
Business value of Agile : A People10 Showcase
 
Agile Enterprise Architecture? Oxymoron or Savior?
Agile Enterprise Architecture? Oxymoron or Savior?Agile Enterprise Architecture? Oxymoron or Savior?
Agile Enterprise Architecture? Oxymoron or Savior?
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right Way
 
Are You Being Agile or Doing Agile?
Are You Being Agile or Doing Agile?Are You Being Agile or Doing Agile?
Are You Being Agile or Doing Agile?
 
Business Value of CI, CD, & DevOps(Sec)
Business Value of CI, CD, & DevOps(Sec)Business Value of CI, CD, & DevOps(Sec)
Business Value of CI, CD, & DevOps(Sec)
 
Business Value of Agile Methods: Using ROI & Real Options
Business Value of Agile Methods: Using ROI & Real OptionsBusiness Value of Agile Methods: Using ROI & Real Options
Business Value of Agile Methods: Using ROI & Real Options
 
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
 

Viewers also liked

Kscope 2013 delphix
Kscope 2013 delphixKscope 2013 delphix
Kscope 2013 delphixKyle Hailey
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possiblemimmozzo_
 
Software Configuration Management Problemas e Soluções
Software Configuration Management Problemas e SoluçõesSoftware Configuration Management Problemas e Soluções
Software Configuration Management Problemas e Soluçõeselliando dias
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentKyle Hailey
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsDBmaestro - Database DevOps
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
Delphix modernization whitepaper
Delphix  modernization whitepaperDelphix  modernization whitepaper
Delphix modernization whitepaperFranco_Dagosto
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?Go2Group, Inc.
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group, Inc.
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management EnvironmentsBrad Appleton
 
Test case management and requirements traceability
Test case management and requirements traceabilityTest case management and requirements traceability
Test case management and requirements traceabilityGo2Group, Inc.
 
Delphix Workflow for SQL Server
Delphix Workflow for SQL ServerDelphix Workflow for SQL Server
Delphix Workflow for SQL Serverrcaccia
 
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...Correlsense
 
MuleSoft Connect 2015 - Go2Group presentation
MuleSoft Connect 2015 - Go2Group presentationMuleSoft Connect 2015 - Go2Group presentation
MuleSoft Connect 2015 - Go2Group presentationGo2Group, Inc.
 
Nyoug delphix slideshare
Nyoug delphix slideshareNyoug delphix slideshare
Nyoug delphix slideshareKyle Hailey
 

Viewers also liked (20)

P4 Branching Overview
P4 Branching OverviewP4 Branching Overview
P4 Branching Overview
 
Kscope 2013 delphix
Kscope 2013 delphixKscope 2013 delphix
Kscope 2013 delphix
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possible
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Software Configuration Management Problemas e Soluções
Software Configuration Management Problemas e SoluçõesSoftware Configuration Management Problemas e Soluções
Software Configuration Management Problemas e Soluções
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application Development
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile Methods
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
Faking Hell
Faking HellFaking Hell
Faking Hell
 
Jenkins Plugin
Jenkins PluginJenkins Plugin
Jenkins Plugin
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
Delphix modernization whitepaper
Delphix  modernization whitepaperDelphix  modernization whitepaper
Delphix modernization whitepaper
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
 
Agile Configuration Management Environments
Agile Configuration Management EnvironmentsAgile Configuration Management Environments
Agile Configuration Management Environments
 
Test case management and requirements traceability
Test case management and requirements traceabilityTest case management and requirements traceability
Test case management and requirements traceability
 
Delphix Workflow for SQL Server
Delphix Workflow for SQL ServerDelphix Workflow for SQL Server
Delphix Workflow for SQL Server
 
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
 
MuleSoft Connect 2015 - Go2Group presentation
MuleSoft Connect 2015 - Go2Group presentationMuleSoft Connect 2015 - Go2Group presentation
MuleSoft Connect 2015 - Go2Group presentation
 
Nyoug delphix slideshare
Nyoug delphix slideshareNyoug delphix slideshare
Nyoug delphix slideshare
 

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

Qualitative Analysis in Atlas.ti
Qualitative Analysis in Atlas.tiQualitative Analysis in Atlas.ti
Qualitative Analysis in Atlas.tiCelia Emmelhainz
 
Evolution of Agile Testing
Evolution of Agile TestingEvolution of Agile Testing
Evolution of Agile TestingOdd-e
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Optionsdcambrid
 
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Karen Thompson
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxTerm Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxmattinsonjanel
 
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENT
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENTENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENT
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENTWoodLesley
 
Using Computer as a Research Assistant in Qualitative Research
Using Computer as a Research Assistant in Qualitative ResearchUsing Computer as a Research Assistant in Qualitative Research
Using Computer as a Research Assistant in Qualitative ResearchJoshuaApolonio1
 
Building Design Systems - Columbus Web Group
Building Design Systems - Columbus Web GroupBuilding Design Systems - Columbus Web Group
Building Design Systems - Columbus Web GroupBurton Smith
 
Name ID Number Section 1 SummaryAt least 250 words as counted.docx
Name ID Number Section 1 SummaryAt least 250 words as counted.docxName ID Number Section 1 SummaryAt least 250 words as counted.docx
Name ID Number Section 1 SummaryAt least 250 words as counted.docxroushhsiu
 
How to Create Controlled Vocabularies for Competitive Intelligence
How to Create Controlled Vocabularies for Competitive IntelligenceHow to Create Controlled Vocabularies for Competitive Intelligence
How to Create Controlled Vocabularies for Competitive IntelligenceIntelCollab.com
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software ArchitectureChris F Carroll
 
Jupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusJupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusPaco Nathan
 
ooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxubaidullah75790
 
Utilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchUtilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchErudite
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...Adrian Jones
 

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

Qualitative Analysis in Atlas.ti
Qualitative Analysis in Atlas.tiQualitative Analysis in Atlas.ti
Qualitative Analysis in Atlas.ti
 
Evolution of Agile Testing
Evolution of Agile TestingEvolution of Agile Testing
Evolution of Agile Testing
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Options
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)
 
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
Cis 555 Week 4 Assignment 2 Automated Teller Machine (Atm)...
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxTerm Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
 
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENT
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENTENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENT
ENTERPRISE ARCHITECTURE ENABLES PROCESSES PAPER PURPOSE OF THIS ASSIGNMENT
 
qualitative.ppt
qualitative.pptqualitative.ppt
qualitative.ppt
 
Using Computer as a Research Assistant in Qualitative Research
Using Computer as a Research Assistant in Qualitative ResearchUsing Computer as a Research Assistant in Qualitative Research
Using Computer as a Research Assistant in Qualitative Research
 
Building Design Systems - Columbus Web Group
Building Design Systems - Columbus Web GroupBuilding Design Systems - Columbus Web Group
Building Design Systems - Columbus Web Group
 
Name ID Number Section 1 SummaryAt least 250 words as counted.docx
Name ID Number Section 1 SummaryAt least 250 words as counted.docxName ID Number Section 1 SummaryAt least 250 words as counted.docx
Name ID Number Section 1 SummaryAt least 250 words as counted.docx
 
How to Create Controlled Vocabularies for Competitive Intelligence
How to Create Controlled Vocabularies for Competitive IntelligenceHow to Create Controlled Vocabularies for Competitive Intelligence
How to Create Controlled Vocabularies for Competitive Intelligence
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Jupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and ErasmusJupyter for Education: Beyond Gutenberg and Erasmus
Jupyter for Education: Beyond Gutenberg and Erasmus
 
ooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptxooadunitiintroduction-150730050129-lva1-app6892.pptx
ooadunitiintroduction-150730050129-lva1-app6892.pptx
 
Utilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchUtilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword research
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
The Agile Drupalist - Methodologies & Techniques for Running Effective Drupal...
 
software-dev-life.pptx
software-dev-life.pptxsoftware-dev-life.pptx
software-dev-life.pptx
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

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