Sunday, January 17, 2010

DITA DTD: tools to support specialization

if you are new to DITA and want to create a custom DTD configuration with or without custom specialization this tool is a good starting point.

you may ask why, at least if you do not want to introduce custom semantic to your data model you should at least define which domain belongs to you. a summary why to go this way, read http://drmacros-xml-rants.blogspot.com/2007/04/dita-standard-practice-always-make.html.

Online version of "DITA DTD Generator" is available as online version. source code can be found here: http://code.google.com/p/dita-generator/.

If you have to support custom semantic (which is common in enterprise usage of DITA) you might use "DITA Visual Specialization Manager" or read "DITA Specialization Tutorial".

As always using the right tool is only the baseline. The more advanced task is to identify what you need based on your business case.

Negate expressions using regex

a not so rare question using regex is "match all strings doesn't contain word foo". that isn't something regex is made for. by the way searching the web shows that the expression
(?:(?!REGEX).)*
where the expression REGEX must be replace with expression must be negated, e.g. (?:(?!(foo1|foo2)).)* returns true for all strings doesn't contain foo1 OR foo2.

more details and background can be found here: http://www.perlmonks.org/?node_id=588315#588368

Saturday, January 09, 2010

utilities, utilities

daily work on Windows is pretty unproductive without so called utilities. small tools and extensions increase efficiency.

Hanselman Ultimate Tools List provides a good summary of utilities for Windows. Many of them i used as well for years.


Friday, January 01, 2010

agil development means valuable end user assistance

gile development methods have become more and more popular during the last few years. Especially the software domain tries to speed up development cycles and deliver new features on demand of the customer. most common method today is SCRUM.
there are many good books, articles, forums and blogs out there describing the goal, advantage of diving into agile software development. but less or zero of them covering the creation of end user assistance, like online help, for the different users groups and additional, required information must be shipped with the product.

#1 principle of agile manifesto
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
"valuable software" of course means one the customer is able to use, therefore end user documentation is essential part of the software development process.

that means that you have to change your process to
  • no more write documents / additional information instead
    write valuable information assigned or integral part of the product component it belongs to
    a document is one potential output if a customer value can be achieved with this type of output
  • no more prioritize, test, deploy and measure customer feedback for the application and the user documentation as separate applications instead
    while working on a particular feature prioritize, test and deploy all valuable user information and work together with the customer to get feedback for the complete application (incl. user documentation).
sounds simple, but as you know that isn't simple at all. many companies currently workaround the mentioned issues or just ignoring the resulting consequences.

by the way one of the few blog posts I found "Writing End-User Documentation in an Agile Development Environment".

what is your experience and solution to this challenge?
  • do you discuss end-user documentation requirements while sprint planning / review...?
  • do you prioritize end-user documentation along with the corresponding user story?
  • do you test your end user documentation while test your application?
  • ....?
  • do you localize user documentation while localize your application?
  • do you use dedicated professional writes or other team members for creating end user related information products?
  • ....?

predictions for 2010

same procedure as every year but as Yogi Berra mentioned 
It’s tough to make predictions, especially about the future.
 so just stop trying to be one of currently 5,130,000 tries according to google or 12,600,000 according to bing.

In this sense -- 

The ultimate function of prophecy is not to tell the future, but to make it. Your successful past will block your visions of the future.
Joel A. Barker