A couple of years ago, I was speaking with a fellow techwriter who had attended a conference on software design. She attended a lecture by an American software company that had embraced a radical development process.
Most IT companies follow the
waterfall development process which basically means you start with a set of requirements, come up with a basic design (which is usually quite vague because it is rushed), write the code for that design, test the code, fix the bugs, and release it.
Somewhere in that process (between the writing of code and fixing of the bugs), the documentation process starts. Because the writer comes online in the middle of the process, the writer is always playing catch-up. He'll write sections of the User Guide, the code will change due to bug fixes, which in turn affects the documentation in terms of procedures and/or screen grabs. MOST sections of a User Guide will be rewritten, rewritten, and rewritten.
All the while, the release date looms in the distance and everyone scrambles to get their stuff ready so that the application will release on time. Usually, this date is selected in terms of its proximity to financial quarters or trade shows, rather than being selected in terms of when the application is ready.
So this American software company reported that, when they tried to follow the waterfall process, they would regularly blow their release dates, break the budget, and work their people excessively. Something had to change, so they flipped the process on its head.
The Product Designers went to the Documentation team and had them write the User Guide for the product BEFORE the code was written. This User Guide would become the extremely detailed specification that the programmers would then follow to write the code. You want to know how the program is supposed to work? RTFM.
When the company followed this plan, they stayed on budget and released a stable product on time. To be sure, it lengthens the planning stage, but at least the programmers have a very well-defined document on how the products works to reference.
Even with this plan, the Doc team is still busy once the coding starts. Bugs come in and some procedures/screen grabs will change, but these changes need to be justified and the writer is much more involved in the development process. No more cowboy coding, which ultimately leads to broken code, inaccurate documents, and extending testing times.
Speaking from the writer's point of you, I can tell you that I like the thought of being DRUNK WITH POWER (*cough*), but this process does produce solid results. And it also elevates the role of the technical writer in the development process, which I can tell you is currently somewhere between the last rung on the priority ladder and oblivion.
The ironic thing in the IT business is, with all the obsession with new technologies and new ideas, the thing that scares IT culture the most is change at the development level.