Re: PPIG discuss: Documentation for large systems

2007-11-07 Thread Andrew Walenstein

Ruven E Brooks wrote:
3. I didn't rule out active discovery of content.  In fact, that's what 
people do today in our organization;
they look at the code and analyze the code, using tools of varying 
degrees of sophistication.
The problem is, it's terribly time consuming, and the same discovery 
process has to be repeated by
each new team member; that's what takes the 6-12 months - active 
discovery of content.

I'd like to jump start or shortcut the process.

[I note that In educational theory, active learning doesn't mean that 
you put the students on a desert island and
expect them to actively discover particle physics; it means that you 
carefully set up situations in which
the students participate that enable them to learn.   I can think of 
equivalents for learning a large
piece of software, but developing them requires even more work than 
writing the 20 page document.]


Yes, its good to call out this point even though I was trying to make 
the contrast stark for clarity.  As in:  put the (constructivist?) 
particle physics professor on the desert island instead of plunking down 
an undergraduate college textbook.  An intermediate position might be to 
have a teacher PLUS a book.


Of course, you appear to be making a case for avoiding repeated work by 
creating a reusable knowledge resource, so my line of thought wasn't 
exactly on topic.  I guess a better line of questioning leans towards 
the classic build for reuse question:  will the knowledge stored in 
the document be reused enough (before it is outdated, say) to warrant 
its expense?  At least this question is constructive enough to produce a 
documentation rule you might be able to use:  hesitate including 
anything that is likely to change before you get a new Chief Architect ;)


(Although since you suggest that certain forms of learning materials are 
very costly I still wonder about the cost effectiveness of providing 
tutors to software immigrants in lieu of certain efforts to document. 
Since none of the original developers are around, however, this question 
may be somewhat moot in your case).


Andrew

--
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/


Re: PPIG discuss: Documentation for large systems

2007-11-07 Thread William Billingsley


So theoretically, 20% of the team have just gone through this  
learning process.  What did they misunderstand?  What questions were  
they asking their mentors and why.  Ask if you can read the notes  
they made, and interview them about those notes -- which bits  
actually turned out to be useful and which were blind alleys?   
Hopefully, that'll quite quickly tell you what level they are getting  
stuck at -- whether they have difficulty getting the big picture, or  
whether there are specific details that are missing -- whether it's a  
navigational problem or an understanding problem, etc.


(I'm hoping 20% of the team doesn't just mean 1 additional new  
grad, but that you might get a breadth of responses)


regards,
Will.


On 7 Nov 2007, at 14:23, Ruven E Brooks wrote:



Let me elaborate a bit on my original request.

1.  I'm assuming that most or all of the previous developers/ 
architects of the system
are unavailable.  All that's left are the artifacts, code plus  
whatever else.  There's no one

to talk to about where to start, etc. or about the overall structure.

2. Imagine that, instead of being a new chief architect, that the  
plan is to replace 20% of the
developers on the project every year but not to increase staffing  
levels by 20% (which is what
would be required with the current methods of getting people up to  
speed.)


3. I didn't rule out active discovery of content.  In fact, that's  
what people do today in our organization;
they look at the code and analyze the code, using tools of varying  
degrees of sophistication.
The problem is, it's terribly time consuming, and the same  
discovery process has to be repeated by
each new team member; that's what takes the 6-12 months - active  
discovery of content.

I'd like to jump start or shortcut the process.

[I note that In educational theory, active learning doesn't mean  
that you put the students on a desert island and
expect them to actively discover particle physics; it means that  
you carefully set up situations in which
the students participate that enable them to learn.   I can think  
of equivalents for learning a large
piece of software, but developing them requires even more work than  
writing the 20 page document.]


Ruven





Re: PPIG discuss: Documentation for large systems

2007-11-07 Thread Tom Wheeler
Ruven E Brooks [EMAIL PROTECTED] writes:



I have just been given the assignment of investigating techniques for 
documenting a 1.5 million line system. 

Suppose that you were hired (at an outrageous salary, of course) to be the 
chief architect of this system. 
If you could have a 20 page initial document on the internal structure of this 
system, what would that document contain? 

My own initial thought was some kind of box-and-line major subsystems document 
but the exact semantics of the boxes 
and the lines is still open.  My superprogrammer colleague suggested that what 
he wanted was a list of the actual files 
that were installed, together with an explanation of each one. 

Other thoughts, suggestions are welcome. 

Ruven Brooks 



Dave Parnas Elequently addressed this question in two papers Using 
Documentation as a Design Medium and 
a A rational Design Process, How and Why to Fake It. 
Since these papers, which include two examples, a rationale and some useful and 
very practical commentary,
defined the field for documentation in Software Engineering, I would begin 
there.

Tom Wheeler
University of Maine






 
--
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/


Re: PPIG discuss: Documentation for large systems

2007-11-07 Thread Ruven E Brooks
Let me elaborate a bit on my original request. 

1.  I'm assuming that most or all of the previous developers/architects of 
the system
are unavailable.  All that's left are the artifacts, code plus whatever 
else.  There's no one
to talk to about where to start, etc. or about the overall structure. 

2. Imagine that, instead of being a new chief architect, that the plan is 
to replace 20% of the
developers on the project every year but not to increase staffing levels 
by 20% (which is what
would be required with the current methods of getting people up to speed.)

3. I didn't rule out active discovery of content.  In fact, that's what 
people do today in our organization;
they look at the code and analyze the code, using tools of varying degrees 
of sophistication.
The problem is, it's terribly time consuming, and the same discovery 
process has to be repeated by
each new team member; that's what takes the 6-12 months - active 
discovery of content.
I'd like to jump start or shortcut the process.

[I note that In educational theory, active learning doesn't mean that 
you put the students on a desert island and 
expect them to actively discover particle physics; it means that you 
carefully set up situations in which
the students participate that enable them to learn.   I can think of 
equivalents for learning a large
piece of software, but developing them requires even more work than 
writing the 20 page document.]

Ruven