Book a Demo

Author Topic: Using EA with Agile  (Read 7438 times)

brucebanner

  • EA User
  • **
  • Posts: 23
  • Karma: +0/-0
    • View Profile
Using EA with Agile
« on: October 09, 2010, 12:56:16 am »
Hi All

I was wondering if anyone had any experience or suggestions of using EA with AGILE development?  I am still in the process of formalising how we are going to use EA for our main project work (we have a third party do most of our dev and as such rely on req docs and use cases to convey what we need and store all of these in a centralised Repository accessed from locations in 3 different countries).

However soon we are starting on an Internal Dev stream and I would be keen on suggestion on how we could use EA to work with a more Agile methodology.

I realise that there will be less documentation involved, however we don't want to fall into the trap of having some of our projects documented to a great level of detail and another set with no documentation and having no relation to our EA repository.

Any help or suggestions welcomed :-)

DanG83616

  • EA User
  • **
  • Posts: 180
  • Karma: +0/-0
    • View Profile
Re: Using EA with Agile
« Reply #1 on: October 09, 2010, 02:20:27 am »
I hope there are some constructive suggestions to this thread. My organization is going to use Scrum because, well, "everyone's doin' it." Since I have not achieved 100% code gen from models I fear modeling will be viewed as non-agile. It would be great to hear how I can continue modeling even when "working code" is the only measure.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Using EA with Agile
« Reply #2 on: October 11, 2010, 03:57:06 pm »
We are currently using EA with a Scrum-like agile method.
I don't really see why modelling and Agile won't go together.
In fact we do functional and technical analysis in a very detailed manner, and the process we use mandates that the modelling should be finished before development starts.
(only minor technical bugs get solved directly by development, if and only if there is no impact to the UML model.)
We don't do code generation at all, so I don't see that as a prerequisite to using UML in an Agile manner.

What I think you should not forget is that the UML model serves a double purpose:
1. Support the development of the software
2. Serve as documentation during the maintenance phase of the software.

The latter point is often neglected and disposed because of deadlines and the pressure to deliver.

Geert

RainerQ

  • EA User
  • **
  • Posts: 122
  • Karma: +1/-0
    • View Profile
Re: Using EA with Agile
« Reply #3 on: October 12, 2010, 12:08:02 am »
Hi all,

this is a very interesting thread. I am at the moment also learning about scrum and am wondering on how software architecturing (modeling) goes together with it. Then I am also reflecting on how EA fits in this scenario.

First thing I found out SCRUM does not exclude software architecturing!
Actually SCRUM is "only" a agile project management and does not define on how software is developed. In the book I read software architecture was mentioned quit often.

Concerning the question on how to use EA in SCRUM I currently have the following vision:
  • have a root node "SCRUM"
  • have a sub-folder "ProductBackog"
  • use UseCases as UserStories to be added to the ProducBbacklog (keep them brief in the beginning)
  • once there are enough UserStories for the first sprint refine those with the highest priority.
  • have a subfolder "SCRUM\Sprint1\SprintBacklog -> custom diagram" and drag the selected UserStories on there.
  • Identify the necessary activities (Actions/Activities)
  • ...

As I said, it is my current vision, but it would be very interesting to read about other visions!

Looking forward to more comments, opinions and suggestion in this thread.

Regards
Rainer
« Last Edit: October 12, 2010, 12:09:11 am by RQ »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Using EA with Agile
« Reply #4 on: October 12, 2010, 12:17:33 am »
Rainer,

I don't get why the structure of your UML model should be Scrum related.
Project management and modelling are two separate things, and they both require separate tools.
So my suggestions:
- use EA for your UML model, and structure it independent of your project management methodology. After all, long after the project is finished you'll still need the UML model, and then you don't want to be bothered with things like "in which sprint did we develop that feature again?"
- Use a dedicated Scrum enabled project management tool. If you must, develop some kind of loosely coupled link between EA and your Scrum tool to track changes related to a certain workitem.

As a link we use some kind of xml tags in the notes to record the changes to a certain element. We put our TFS workitem in this tag, and we have a custom search that enables us to see all elements changed for a certain workitem.

Geert

RainerQ

  • EA User
  • **
  • Posts: 122
  • Karma: +1/-0
    • View Profile
Re: Using EA with Agile
« Reply #5 on: October 12, 2010, 12:32:42 am »
Geert,

isn't it true, that EA is usable to manage the whole life cycle of a project?
EA offeres functionality for requirement management, software architecture, testing, project management...

SCRUM - I am quite sure - belongs in the section "project management", so why not try to adapt it in EA?

I like to have - if possible at all - all my things together and EA seams to be a not so bad place for it or? I am not that experienced with EA yet, so my visions might be a little bit naive.

Regards
Rainer

DanG83616

  • EA User
  • **
  • Posts: 180
  • Karma: +0/-0
    • View Profile
Re: Using EA with Agile
« Reply #6 on: October 12, 2010, 02:51:33 am »
Traditionally, documentation is not needed for the feature but is nice to have later when more features are to be added. If the sprint is focused on doing only what is necessary to get the features delivered, I can see modeling tasks building up in the back-log.

An effective modeler will use modeling activity to produce more features sooner. In that sense, modeling doesn't have to be a required part of the package; it is just a side effect of effective and efficient development practice. This depends on good modeling skills which for most developers are not instinctive.

Does it work to "lay down the law" and force all features to be modeled, even if the developer is not yet skilled? Is there another way to incorporate modeling?

I'm hoping to resolve apparent conflict between modeling and the following Agile values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation

When schedules are tight (always) the left side is all that is done and the right side is a nice-to-have thing that "in a perfect world" would be also done. I don't want to be cynical I believe I'm only being a realist. Geert seems to have a good measure of control over defining his process. What about others who have less control? I would be very good to find a clear and logical resolution to the apparent conflict.

Dan

brucebanner

  • EA User
  • **
  • Posts: 23
  • Karma: +0/-0
    • View Profile
Re: Using EA with Agile
« Reply #7 on: October 12, 2010, 03:03:27 am »
I was thinking of using EA in a similar manner to RainerQ.  This way we have a central record of user stories that can be generated out to csv if necessary, but also linked to requirements if need be.

Be interested in any other suggestions also.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Using EA with Agile
« Reply #8 on: October 12, 2010, 03:55:35 am »
Rainer,

I've never tried to use the project management part of EA, but from what I heard from others it is really basic.
So yes, you probably could use EA to manage your Scrum project, but I guess that is the same as saying you could use notepad to develop your C# (or whatever) code.
I don't believe it has nearly as much features as needed in a mid/large size project.

Geert

RainerQ

  • EA User
  • **
  • Posts: 122
  • Karma: +1/-0
    • View Profile
Re: Using EA with Agile
« Reply #9 on: October 12, 2010, 05:35:48 pm »
Geert,

I think traceability is one of the really important things to have in a project. When using different tools with in a project for software architecture, project management , .... I can imagine that traceability gets a little harder and you have to use kind of workarounds as you described it previously.

But I agree EAs project management capabilities have a lot of potential for improvements ;-)

Regards
Rainer