Team development
Elias Sinderson
elias at email.arc.nasa.gov
Thu Oct 7 22:32:41 UTC 2004
Ack, sent from a non-registered email address - apologies if a duplicate
gets sent out. :-)
Cheers,
Elias
-------- Original Message -------
Hi,
I'm quite curious about team software development with Smalltalk - what
are strategies and tools that have worked for other people? I'm aware of
Monticello, and it certainly appears sufficient for managing changes and
configuration issues in smaller projects, but I'm interested in any
advice that people may have for larger projects which have more rigorous
requirements than can be addressed with Monticello alone. Any
information regarding the areas of requirements management, change
impact analysis, defect tracking, configuration management of other
software engineering resources (design artifacts, documentation) would
be most appreciated.
Currently I'm considering an approach which would utilize both
Monticello and another CM tool (TBD):
* Each developer would maintain a local Monticello repository as a
sandboxed environment where they can make changes to their working image.
* Changes to each developers working image would be factored out as a
change set and comitted to a project-wide CM repository. Each developer
would likely work on a seperate branch within the project-wide repository.
* Within the project-wide CM repository we would then be able to take
advantage of features such as linking change sets to requirements,
design artifacts, test cases, etc.
* Merging of change sets would probably be best left to Monticello, as
it is well integrated with the Smalltalk environment. An exception to
this would be if the CM tool we are using supports binary diffs and
merges (as the monticello versions are essentially zip files containing
package, version, and dependency information).
* Baselines would be accomplished by merging the relevant change sets
into a functional system image and committing that to the project-wide
repository, along with other project resources, and then using the
baselining functionality provided with whatever CM tool we decide to go
with.
Does the above make sense? Are there other approaches or considerations
that I am missing? What are the hidden 'gotchas' (e.g. merge issues,
etc.) associated with using another CM tool as the repository for a
Smalltalk project?
Thanks,
Elias
More information about the Squeak-dev
mailing list
|