fburnaby
Joined 17 years ago
Joined 17 years ago
You could swoop in and "fix" some stuff and then leave the in-house team not understanding what you've done. That sounds profitable. You might even get called back to fix things a second time.
As with management consulting, I think it would at the system level tend to do more harm than good, even if you do good work and get paid well for it. I agree strongly with feoren that the code needs to reflect the in-house developers' mental models of the domain or everything will fall apart. If you fix things and then give them a bunch of processes and coding standards to follow, they will not do well and you will be thought of as some clueless architecture astronaut by them. But profitably.
Certainly, most "documentation" I read is just a thoughtless dunp of arbitrary facts about some system, design, code, or event or what have you. But it should be better.
There are infinitely many true statements to make about some thing in order to document it. The art is in determining which ideas and facts about it are relevant for an audience, and finding a way to express those ideas and/or facts clearly for.that audience, in a logical order, using good prose, diagrams, etc. I think that's as hard as any other writing task, and arguably more valuable than many. Documentation captures facts for record and makes them accessible to some audience who otherwise would not have known about that thing. What could be a more important kind of knowledge work than that?