I'll be presenting at Agile2009 in Chicago on the Tools for Agility stage on Tuesday 25 August, 4:45pm-5:30pm.
Here is my session description from the Agile2009 conference website (download PDF here)
WANTED: Seeking Single Agile Knowledge Development Tool-set
Outline
Software development as knowledge development
- Source-Code as knowledge
- Requirements (Stories) and Tests as knowledge
- Other usable forms of project knowledge (e.g., build scripts & configuration, build/test result reports version control history/comments, online help & other supporting docs)
How would I do this?
- Refactoring Knowledge (thinking about the rest of the “knowledge” the way we think about the code, and its habitability, navigability, and structure/refactoring)
- Applying other agile-practices (like TDD, Continuous Integration, etc.) to non-code knowledge development
- Wiki-based skins, DSLs, and use-cases/design as domain-driven Wiki-word definitions
- Patterns (giving things names), Retrospectives results and lessons learned
- Viewing, searching EVERYTHING (even the code) via wiki?
- The “Wu-Wei” of Traceability (Tracing without Tracing)
- Versioning and operating on wiki-like entities, just like with code (e.g., making “working copies”, branches and tags)
DISCUSSION & CHALLENGE: Why can’t (or how can) YOUR tools do this!
Begin audience discussion/dialogue: Why can’t a tool like Eclipse or a Wiki-based CMS (such as Confluence) be used as a front-end to browsing/refactoring and navigating ALL the knowledge of the system? (not just code, but stories, tests, build/config data, CI reports, backlog, retrospective lessons).What makes it easy/hard for these and other tools like any of the following to do this, or to be simple “skins” or plug-ins on top of only a handful of tools instead of a whole kitchen sink full of separate tools and repositories.
- Eclipse, Confluence, Twiki?
- FIT, Fitnesse, Contour
- Doxygen / Javadoc
- Trac / Agile-Trac?
- Jira / Remedy
- Thinking about Agile development as knowledge management & creation
- Current barriers to using agile techniques and supporting tools for non-code artifacts
- What do refactoring, TDD, continuous integration, etc. mean for non-code artifacts (and why you should care)
- Use of wikis for organizing, structuring and refactoring ALL system knowledge
- Why manual traceability is unnecessary (and even comes for free) when using such an approach
- Tomas Tool-smith/Tool-vendor
(download PDF here)
