Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Use of an abstract Message class to remove the "To More Specific Class" boiler-plate code in Message Class's Do.vi

Does this mean that using AF makes it harder to work within an Agile development process?

0 Kudos
Message 21 of 30
(1,968 Views)

Michael_Aivaliotis wrote:

Does this mean that using AF makes it harder to work within an Agile development process?

No. It means that someone thinks that it does. Your mileage may vary. For me, AF makes it a lot simpler to move modules around in my application and to change any given module and know exactly which other modules will be impacted (because the messaging scope is no more than one layer away).

0 Kudos
Message 22 of 30
(1,968 Views)

Michael_Aivaliotis wrote:

Does this mean that using AF makes it harder to work within an Agile development proces?

That has not been my experience.  I spent a good chunk of last year leading a small team on a project using AF, and our primary development phase was purely agile.  We had vague requirements, were asked for a major new feature midway through the project, and I did *not* do a Big Design Up Front.  The project managerr left me alone, because we almost always delivered what we said we'd deliver, when we said we'd deliver it.

0 Kudos
Message 23 of 30
(1,968 Views)

AristosQueue wrote:

Michael_Aivaliotis wrote:

Does this mean that using AF makes it harder to work within an Agile development process?

No. It means that someone thinks that it does. Your mileage may vary. For me, AF makes it a lot simpler to move modules around in my application and to change any given module and know exactly which other modules will be impacted (because the messaging scope is no more than one layer away).

Quoted for Truth.

0 Kudos
Message 24 of 30
(1,968 Views)

niACS wrote:

But I've never known b) to be true on a project, and I'm generally opposed to extensive up-front requirements gathering anyway.  I have also never been much for Big Design Up Front, which run contrary to assertion c.  I'll agree that AF pushes you to do more design, but so far, I've been able to do just fine without extensive pre-design.

Our opinions on the AF are tinted by what we're used to.  "Traditional" Labview programming encourages tight coupling and monolithic applications that break every time you try to move stuff around.  People coming to the AF from that world almost certainly find they need less pre-design than they previously did.

Earlier in my Labview career I worked in an environment where I had to be able to start with a simple two loop test app and continuously add whatever new features the engineers decided they needed, and I often had to do it in very short timeframes.  When tens of millions of dollars are at risk, management doesn't accept "It can't be done in two days--I'll need 3 weeks to rearchitect the application" for an answer.

Over the years I developed techniques allow me change code quickly and easily with a minimum of fuss, and these techniques let me create robust and flexible applications with almost no up front design work.  So when you say can do AF projects without extensive pre-design, I believe you.  It still requires more pre-design work than I have to do now, so to me it is "a lot" of work, but to you it is not.

Michael Aivaliotis wrote:

Does this mean that using AF makes it harder to work within an Agile development process?

"Harder" is a relative word, so my question back to you is, "harder than what?"  Harder than the techniques I use?  Yes, in my opinion it is absolutely true it is harder to do an Agile development process using the AF than the way I develop.  (Last year around the time of NI Week I started calling my methodology "Agile Actors" to reflect how light and easy they are to work with.)  Harder than traditional Labview programming?  Almost certainly not.  Actor oriented programming and the AF offer a lot of advantages over traditional techniques.  Harder than JKI SM based applications?  Hmm... I dunno.  I suspect the JKI SM is more similar to Agile Actors than it is to the AF, but I've never had the opportunity to see JKI code in the wild, so I can't say.

(Note: That doesn't mean I believe agile actors should be adopted by everyone.  There are certain risks associated with Agile Actors I accept that may not be acceptable in other environments.)

AristosQueue wrote:

No. It means that someone thinks that it does.

While I agree with the sentiment--it is an opinion, not a fact--I will point out that it is opinion held by more than one person.  I have talked to several LV architects who will not use the AF for various reasons.  The common thread running through many of those reasons is this:  using the AF slows us down and makes us less productive.

AristosQueue wrote:

If I ever figure out how to unify them, yes. At the moment, and for the foreseeable future, it remains an area of research with no specific plans.

I appreciate the update.  Up until now I wasn't sure you even considered our reasons for not using the AF valid.

0 Kudos
Message 25 of 30
(1,968 Views)

Daklu wrote:

AristosQueue wrote:

No. It means that someone thinks that it does.

While I agree with the sentiment--it is an opinion, not a fact--I will point out that it is opinion held by more than one person.

I didn't intend to imply otherwise. The differences of opinion have been invaluable, and there are many of them. Integrating as many as possible is tricky but has definitely improved the AF from where it started.

0 Kudos
Message 26 of 30
(1,968 Views)

AristosQueue wrote:

The differences of opinion have been invaluable...

Awww... now I'm getting all tingly inside.  (Some Maalox will take care of that right quick.)

AristosQueue wrote:

...and there are many of them.

Not only many different opinions, but different requirements, different workflows, different preferences, etc., and that's exactly why I don't think it is possible to write a single API to satisfy all of them.

However, if you successfully achieve your goal, and I honestly hope you are, I'll be first in line to say "Good job, I didn't think it was possible."

0 Kudos
Message 27 of 30
(1,968 Views)

Daklu wrote:

However, if you successfully achieve your goal, and I honestly hope you are, I'll be first in line to say "Good job, I didn't think it was possible."

NIWeek 2046: "A key component of my new framework is actually a piece of hardware. If you'll all put on the helmets you'll find under your seats, you'll see what I mean. They may be a bit uncomfortable at first, but the hardware will adjust you to itself.... er... I mean, adjust itself to you. Excellent. Now, repeat after me: 'Everything is awesome!' Yes. Well done."

Untitled.png

0 Kudos
Message 28 of 30
(1,968 Views)

If your success is delayed until 2046, I give you permission to scrawl "I told you I could do it" on my headstone.

0 Kudos
Message 29 of 30
(1,968 Views)

Actually Helmet Based Programming would be awesome. If you put on the helmet it reads your mind, turns your thoughts into source code, and iteratively refines the program according to your reactions when you run tests on it or try it out.

I hope in 2046 we will have something like this.

0 Kudos
Message 30 of 30
(1,968 Views)