i) Isolation is never a problem, but to end it, is.
|
As our core competence is R&D, there is no way around distributed revision control to handle changes of stuff we develop. Gains in productivity and quality cause increased coordination efforts. SquareClock has developed its own tool that tracks changes and helps merging simultaneous development efforts. Let’s call it Martha. Everyone included in the development owns a workspace. A workspace is a view on various objects that have been modified, or are currently under construction. Existing versions of files can never be changed hence any file we change will result in a new version, per user. We call these changes ‘incidents’ that Martha keeps track of. The combination of these comprises the individual developper’s workspace. That means, if Arnaud and Aurelien change file ‘Hamlet’ simultaneously, there will be ‘Hamlet.Arnaud’ in Arnaud’s workspace and ‘Hamlet.Aurelien’ in Aurelien’s. That is as if in Aurelien’s play, Hamlet survives the deadly plot of his uncle Claudius while in Arnaud’s there is no survivor from the final scene. When developers work concurrently, but disconnected, we say they work in isolation. Aurelien reaches the end of isolation eventually, when he finishes his development cycle. When this occurs, he will attempt to re-integrate Hamlet. Martha tells him that Arnaud has already moved his changes of ‘Hamlet’ into the target workspace, ReleaseDev. Aurelien must match the two, he exchanges his updates using Martha’s Receive and Send functionality. |
