Book a Demo

Author Topic: Team Practices/Procedures  (Read 3113 times)

Cryolitte

  • Guest
Team Practices/Procedures
« on: March 23, 2005, 09:08:31 pm »
To save time working out a methodology based around EA that must have been reinvented numerous times by EA users already, is anyone able to share their framework/whitepaper/best practices/procedures for recommended team practices for round trip development/modelling in EA, including using version control? Ideally for Visual Studio .Net and Visual Source Safe.

TIA.

Laurence

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Team Practices/Procedures
« Reply #1 on: March 24, 2005, 04:20:09 am »
That's spooky - you read my mind. I've just bought EA Corporate. We use VSS & VB.NET. I'm trying to get my head round how to use EA with VS.NET with VSS.

It seems to me that initially you could use EA to develop the design, using VSS or SQL to share the model in the team. At some later, you use VSS to share the code in the team; if you want to see the UML, you just get latest in Visual Studio and then reverse-engineer the code to get a model of it.

As you say, we can't be the first to have these questions.  ::)  Let's hope we get a reply.

oowolven

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
  • When you hear hoofbeats, think horses, not zebras
    • View Profile
Re: Team Practices/Procedures
« Reply #2 on: March 24, 2005, 05:16:10 am »
Cryolitte,

After a year of version experimenting, we found that the most pragmatic way of versioning is using XML alike tags in the notes  that reflect the version number (pretty straightforward) and more import to keep track of what actually changed.

For deletions we use the stereotype <<deleted>>.

Here is an example: the class was created during version 2, modified in version 3 and version 5.

notes of class MyClass:
<Version>5.0 </Version>
<Description>
Description of the class: meaning, purpose, ...
</Description>
<Changed>
V2.0: new

V3.0:
Frank: 26/10/2004: Added attribute myAttribute2

V5.0:
Bertold: 05/01/2005: Removed Association towards MyClass2
Tom: 06/01/2005: Added Association towards MyClass7
</Changed>

A version number can only increase if there was an actual change during an analysis phase.
Suppose that we're in phase 6, nothing needs to be changed, implemented for this class.

For resource planning purposes (evaluating the impact of the change, deadlines, ...) the history of what actually changes in the phase to develop has proven to be essential for planning accuracy.

We use our own document generator (written in VB) to generate reports on those changes using these tags.

Hope this helps,


TrtnJohn

  • EA User
  • **
  • Posts: 176
  • Karma: +0/-0
    • View Profile
Re: Team Practices/Procedures
« Reply #3 on: March 25, 2005, 11:10:33 am »
With EA you can put each package under source control.  What this does is export the XML for the package and add it to your SourceSafe database.  The EA repository can be the .EAP file or a database.  (If you have corporate version).  EA is multi-user.  It doesn't matter whether you use a .EAP or a database.  So, to avoid conflicts you need to set up version control at a package level.  Depending on your project, you can decide at what level to control each package.  But, you should have control over each one.

slavko

  • EA Novice
  • *
  • Posts: 17
  • Karma: +0/-0
    • View Profile
Re: Team Practices/Procedures
« Reply #4 on: March 25, 2005, 05:25:50 pm »
We used package control with PushOK plug-in and were not very happy with the result.  IT was not intuitive and hade some usage restrictions (unique package names) and difficult to train the people to use it.  

For team modeling we have reverted back to just using a common EAP file.  We will not use a different backend until we start having problems with performance of the EAP Jet database.  This approach is much better when and simpler for our users.

It sounds like you can also distinguish between management of the EA model and the source code generated from the model.  You don’t have to tie the two together.

Slavko