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

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

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