Subject: RE: [hackers-il] Maintenance of 10,000,000 lines long application s?

From: Chen Shapira <[email-masked]>
Date: Sun, 6 May 2001 09:59:08 +0200

> 
> finally, don't waste too much time on finding a very good 
> version control
> system - spend it on getting a good configuration manager, 
> and one that
> can handle the code itself. one thing about such large 
> projects is that
> when people check-in their code changes, it sometimes causes 
> people to get
> stuck with the code for a while, cause someone forgot to 
> check backwards
> compatibility of their code. thus, you'd need to have many integration
> environments, in which people check-in code changes 
> gradually, while not
> yet checking it to the main source branch, and you have to 
> train people at
> being very very acrefull about how they make changes to the code.

Another solution is to have a part time CS student as an "Integrator"
responsible for knowing what everyone is doing, asking people to check
things in (and telling them when) and generaly maintaining a depepndency
tree in his head. He would also run compilations, do sanity checks, and
either send the product to QA or ask RnD to fix whatever broke the build.

---

From: guy keren <[email-masked]>
Date: Sun, 6 May 2001 11:21:46 +0300 (EET DST)

On Sun, 6 May 2001, Chen Shapira wrote:

> Another solution is to have a part time CS studentas an "Integrator"
> either send theproduct to QA or ask RnD to fix whatever broke the build.

*alert* *alert* *alert*....  a good integrator has to be a good programmer
as well. it could be very dangerous placing a non-experienced programmer
in configuration management. i've seen it done and causing problems...

the integrator _must_ be able to read the code being checked in, and see
what was changed, to avoid problems that delay the whole project's
development.

this problem can be eased up if your software configuration management
allows you to easily set things that the work on the public version
is completely invisible to the other programmers. for large projects, this
is hard to do, since often one needs to have features supplied by other
teams in order to work on their code. in initial phases of the code, one
can use stubs to overcome this, but i can't see how this can be done when
the code already exists, and new features are being added to it.

--
guy

"For world domination - press 1,
 or dial 0, and please hold, for the creator." -- nob o. dy

---

From: "Nadav Har'El" <[email-masked]>
Date: Sun, 6 May 2001 11:38:21 +0300

> either send the product to QA or ask RnD to fix whatever broke the build.

<cynical>
Yes. This is a great solution. Why don't we make an entire huge project
(to write 10,000,000 lines in less than a generation you'll need several
dozen programmers, right?) be entirely dependant on one person. Better
yet, let's make that person a part-time worker, and even one who might
disappear from the company for weeks at a time (i.e., in test season). Even
better, after that person learns everything about this huge project and
keeps everything in his or her head, he or she will graduate, go for a
year to east-Asia (or just get a different job), and the project is toast
because nobody else even remembers how to compile that monster.
</cynical>

-- 
Nadav Har'El                        |       Sunday, May  6 2001, 13 Iyyar 5761
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Help Wanted: Telepath. You know where to
http://nadav.harel.org.il           |apply.