Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-09 Thread Juan Delgado
Hi there!

Sorry to be late to the discussion. I've been in both sides and I have
to say it's pretty damn difficult to get it right. Very, very
difficult.

If you are the one outsourcing (sending work outside) you usually do
it either because you don't have the money or you don't have the time
(which is money). My experience is that actual savings are much, much
less than you would expect.

Some notes:

* Code reviews take time (that you don't have, that's why you
outsource). But if you only review at the end of the project, be ready
for surprises.
* Common sense is definitely NOT the same all over the world. Is not
even in the same country, no matter which country you choose. So don't
expect people to solve the same common sense situations as you
would.
* The recipe to avoid common-sense-solving situations is writing a
detailed specification. But writing detailed specs takes VERY LONG
time (that again, by definition, you don't have) plus is very boring.
* Time and cultural differences ARE a bigger deal than you might
initially think.
* Maintaining someone else's code is probably 2x times more difficult
than your own code.
* I think it's very difficult to make people feel *your* problems as
*their* problems. Say something has to be changed quickly for whatever
the reason. If the developer is by your side, he/she will see your
face, your tension and he/she will be much more empathetic and
probably feel much more involved. Trying to express that very same
feeling to someone 10.000 miles away is not always easy.

Don't want to extend me much more. To sum up my experience I'd say
that it's NOT worth it _unless_ you are big company with resources
dedicated to establish the workflow and closely follow up the work in
progress.

Cheers!

Juan

On Thu, Nov 6, 2008 at 3:44 PM, Merrill, Jason
[EMAIL PROTECTED] wrote:

I agree with Joel; your best bet is to provide a highly detailed
design spec with complete API, and also provide guidance on what
components to extend, etc. The downside is that it takes a lot of time
to do all of this work, and depending on your particular situation, it
may be unrealistic.

 Yeah, had done that, but not in great detail.  An API would have been
 too much.  The project was a learning game, and in my mind I couldn't
 justify spending a huge amount of time writing very detailed design
 specs, because that could take almost as much time to think about and
 write as it would be to sit down build the game.  I'm very much in favor
 of abstraction, but they took abstraction way too far, and really to the
 extreme in my opinion, where the benefits of abstraction are completely
 lost.

 Thanks everyone, I'm definitely going to insist on more frequent code
 reviews with them.  I guess I put too much faith in them last time! :)

 Jason

 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders




-- 
Juan Delgado - Zárate
http://zarate.tv
http://dandolachapa.com
http://loqueyosede.com

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-06 Thread Merrill, Jason

I agree with Joel; your best bet is to provide a highly detailed
design spec with complete API, and also provide guidance on what
components to extend, etc. The downside is that it takes a lot of time
to do all of this work, and depending on your particular situation, it
may be unrealistic.

Yeah, had done that, but not in great detail.  An API would have been
too much.  The project was a learning game, and in my mind I couldn't
justify spending a huge amount of time writing very detailed design
specs, because that could take almost as much time to think about and
write as it would be to sit down build the game.  I'm very much in favor
of abstraction, but they took abstraction way too far, and really to the
extreme in my opinion, where the benefits of abstraction are completely
lost.  

Thanks everyone, I'm definitely going to insist on more frequent code
reviews with them.  I guess I put too much faith in them last time! :) 

Jason

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


[Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Merrill, Jason
I'm going to throw a question out there to see if anyone has experienced
something similar to this.  Didn't get any responses on Flash_Tiger. 

If you have ever outsourced some Actionscript work to an outside vendor,
have you ever struggled with how to spec out how you want them to code
it? 

Reason I ask is we've had bad experiences with some vendors in India in
the past producing poor Flash/Actionscript sourcecode (we require them
to provide sourcecode in the contract, so if need be, we can tweak minor
things later). We've had better luck with U.S. vendors (nothing against
India or Indians at all, that's just been our experience). So we
decided to spec out how we would like them to code it (in general, not
extremely specific - for example, use AS3, use external classes, comment
the code, if they use a framework, tell us what it is, etc.). So the
new vendor we used in India did all this (did a pretty good job with the
final product), - they complied with our specs just fine, but they went
overboard in the coding in my opinion. They over-coded by making the
sourcecode EXTREMELY abstract, it was nearly impossible from looking at
it to determine where to make minor tweaks. There is virtually no way to
tell where to make a change, or what the change should be. They DID
comment their code, but it's at the function-level - not at the bigger
overall picture on how everything fits together. 

It's not a matter of being able to understand the code, I humbly
consider myself a semi-near-expert (not a guru, but certainly no where
near a novice) in Actionscript. The problem is figuring out how all the
classes tie together to make what you see on the screen. I could figure
it out, but it could take a very long time, and would require a lot of
diagramming to map everything out. So instead we are having to go BACK
to this vendor to have them make the change. I don't know if they
over-coded because they thought that is what we wanted, that's the only
way they knew how to tackle the project, or if they did it to ensure if
there were ever any updates, only they would make the changes, thus
ensuring future work (if so, pretty smart, but sneaky, which angers me).

Anyway, that's the story, my general question is how do you define specs
for a vendor to ensure you get good sourcecode back, but it's not overly
abstracted, over-coded work?

Jason Merrill
Bank of America Instructional Technology  Media * GCIB  Staff
Support LLD



___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Joel Stransky
It really depends on what level of design patterns were used. The best way
to prepare for making changes is to provide the API you expect to be able to
use. Possibly created with something like
gModelerhttp://www.gskinner.com/gmodeler/app/run.html(although there
may be a better option for as3). In a best case scenario,
you should never have to edit any of the existing classes, just extend or
compose them as needed. If the class package delivered has your expected
api, you should only have to write adapters to tweak what you need without
making risky changes to existing classes. The package should also be heavily
commented and include signatures.

It's fairly rough ground to cover since approaches to common problems can
vary and ultimately what you are paying for is one developers approach over
another. My brother was hired at a company who was already knee deep in
development with an indian firm and soon found himself teaching them and
practically holding there hand. They were charging a competitive price so he
understood his employers decision so sometimes it just comes down to
sacraficing one node of the iron triangle for another.

On Wed, Nov 5, 2008 at 10:50 AM, Merrill, Jason 
[EMAIL PROTECTED] wrote:

 I'm going to throw a question out there to see if anyone has experienced
 something similar to this.  Didn't get any responses on Flash_Tiger.

 If you have ever outsourced some Actionscript work to an outside vendor,
 have you ever struggled with how to spec out how you want them to code
 it?

 Reason I ask is we've had bad experiences with some vendors in India in
 the past producing poor Flash/Actionscript sourcecode (we require them
 to provide sourcecode in the contract, so if need be, we can tweak minor
 things later). We've had better luck with U.S. vendors (nothing against
 India or Indians at all, that's just been our experience). So we
 decided to spec out how we would like them to code it (in general, not
 extremely specific - for example, use AS3, use external classes, comment
 the code, if they use a framework, tell us what it is, etc.). So the
 new vendor we used in India did all this (did a pretty good job with the
 final product), - they complied with our specs just fine, but they went
 overboard in the coding in my opinion. They over-coded by making the
 sourcecode EXTREMELY abstract, it was nearly impossible from looking at
 it to determine where to make minor tweaks. There is virtually no way to
 tell where to make a change, or what the change should be. They DID
 comment their code, but it's at the function-level - not at the bigger
 overall picture on how everything fits together.

 It's not a matter of being able to understand the code, I humbly
 consider myself a semi-near-expert (not a guru, but certainly no where
 near a novice) in Actionscript. The problem is figuring out how all the
 classes tie together to make what you see on the screen. I could figure
 it out, but it could take a very long time, and would require a lot of
 diagramming to map everything out. So instead we are having to go BACK
 to this vendor to have them make the change. I don't know if they
 over-coded because they thought that is what we wanted, that's the only
 way they knew how to tackle the project, or if they did it to ensure if
 there were ever any updates, only they would make the changes, thus
 ensuring future work (if so, pretty smart, but sneaky, which angers me).

 Anyway, that's the story, my general question is how do you define specs
 for a vendor to ensure you get good sourcecode back, but it's not overly
 abstracted, over-coded work?

 Jason Merrill
 Bank of America Instructional Technology  Media * GCIB  Staff
 Support LLD



 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders




-- 
--Joel
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Eric E. Dolecki
Did you have check ins with them, or did they just deliver the final thing?
Check ins might allow you to see how they are architecting things and you'd
be able to ask questions, or suggest different ways to code something, etc.
I've seen some projects where custom events are passed from one class to
another until they reach a document class... sometimes through more than
three classes, and following those along can be difficult, etc.

Maybe checkpoints would work if it's not too much trouble. Or UML with
stubbed code?

On Wed, Nov 5, 2008 at 10:50 AM, Merrill, Jason 
[EMAIL PROTECTED] wrote:

 I'm going to throw a question out there to see if anyone has experienced
 something similar to this.  Didn't get any responses on Flash_Tiger.

 If you have ever outsourced some Actionscript work to an outside vendor,
 have you ever struggled with how to spec out how you want them to code
 it?

 Reason I ask is we've had bad experiences with some vendors in India in
 the past producing poor Flash/Actionscript sourcecode (we require them
 to provide sourcecode in the contract, so if need be, we can tweak minor
 things later). We've had better luck with U.S. vendors (nothing against
 India or Indians at all, that's just been our experience). So we
 decided to spec out how we would like them to code it (in general, not
 extremely specific - for example, use AS3, use external classes, comment
 the code, if they use a framework, tell us what it is, etc.). So the
 new vendor we used in India did all this (did a pretty good job with the
 final product), - they complied with our specs just fine, but they went
 overboard in the coding in my opinion. They over-coded by making the
 sourcecode EXTREMELY abstract, it was nearly impossible from looking at
 it to determine where to make minor tweaks. There is virtually no way to
 tell where to make a change, or what the change should be. They DID
 comment their code, but it's at the function-level - not at the bigger
 overall picture on how everything fits together.

 It's not a matter of being able to understand the code, I humbly
 consider myself a semi-near-expert (not a guru, but certainly no where
 near a novice) in Actionscript. The problem is figuring out how all the
 classes tie together to make what you see on the screen. I could figure
 it out, but it could take a very long time, and would require a lot of
 diagramming to map everything out. So instead we are having to go BACK
 to this vendor to have them make the change. I don't know if they
 over-coded because they thought that is what we wanted, that's the only
 way they knew how to tackle the project, or if they did it to ensure if
 there were ever any updates, only they would make the changes, thus
 ensuring future work (if so, pretty smart, but sneaky, which angers me).

 Anyway, that's the story, my general question is how do you define specs
 for a vendor to ensure you get good sourcecode back, but it's not overly
 abstracted, over-coded work?

 Jason Merrill
 Bank of America Instructional Technology  Media * GCIB  Staff
 Support LLD



 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders




-- 
http://ericd.net
Interactive design and development
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Steve Mathews
It sounds like this was a situation where you just passed off a project and
got the result in the end. My experiences have taught me to make sure to do
reviews often and recommend changes early. I think there are several issues
that cause these kinds of problems (language, education and styles to name a
few), and other than hand-holding there isn't very much you can do.
Steve Mathews
Sr. Technical Lead
Flypaper Studio

On Wed, Nov 5, 2008 at 8:50 AM, Merrill, Jason 
[EMAIL PROTECTED] wrote:

 I'm going to throw a question out there to see if anyone has experienced
 something similar to this.  Didn't get any responses on Flash_Tiger.

 If you have ever outsourced some Actionscript work to an outside vendor,
 have you ever struggled with how to spec out how you want them to code
 it?

 Reason I ask is we've had bad experiences with some vendors in India in
 the past producing poor Flash/Actionscript sourcecode (we require them
 to provide sourcecode in the contract, so if need be, we can tweak minor
 things later). We've had better luck with U.S. vendors (nothing against
 India or Indians at all, that's just been our experience). So we
 decided to spec out how we would like them to code it (in general, not
 extremely specific - for example, use AS3, use external classes, comment
 the code, if they use a framework, tell us what it is, etc.). So the
 new vendor we used in India did all this (did a pretty good job with the
 final product), - they complied with our specs just fine, but they went
 overboard in the coding in my opinion. They over-coded by making the
 sourcecode EXTREMELY abstract, it was nearly impossible from looking at
 it to determine where to make minor tweaks. There is virtually no way to
 tell where to make a change, or what the change should be. They DID
 comment their code, but it's at the function-level - not at the bigger
 overall picture on how everything fits together.

 It's not a matter of being able to understand the code, I humbly
 consider myself a semi-near-expert (not a guru, but certainly no where
 near a novice) in Actionscript. The problem is figuring out how all the
 classes tie together to make what you see on the screen. I could figure
 it out, but it could take a very long time, and would require a lot of
 diagramming to map everything out. So instead we are having to go BACK
 to this vendor to have them make the change. I don't know if they
 over-coded because they thought that is what we wanted, that's the only
 way they knew how to tackle the project, or if they did it to ensure if
 there were ever any updates, only they would make the changes, thus
 ensuring future work (if so, pretty smart, but sneaky, which angers me).

 Anyway, that's the story, my general question is how do you define specs
 for a vendor to ensure you get good sourcecode back, but it's not overly
 abstracted, over-coded work?

 Jason Merrill
 Bank of America Instructional Technology  Media * GCIB  Staff
 Support LLD



 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


RE: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Merrill, Jason
Yeah, checking in would have been good - but I was only asked to design the 
specs, and then the project was handed off to some others.  Then the project 
came back to me later..  but yeah, totally agree on that point.  Thanks great 
responses everyone.   I haven't outsourced much work - only a few projects, I'm 
used to making Flash apps that make sense on the front end and behind the 
scenes.  :) 

Jason Merrill
Bank of America Instructional Technology  Media   ·   GCIB  Staff Support 
LLD
Interested in Flash Platform technologies?  Join the Bank of America Flash 
Platform Developer Community 
Interested in innovative ideas in Learning?  Check out the Innovative Learning 
Blog and subscribe.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Mathews
Sent: Wednesday, November 05, 2008 12:34 PM
To: Flash Coders List
Subject: Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

It sounds like this was a situation where you just passed off a project and
got the result in the end. My experiences have taught me to make sure to do
reviews often and recommend changes early. I think there are several issues
that cause these kinds of problems (language, education and styles to name a
few), and other than hand-holding there isn't very much you can do.
Steve Mathews
Sr. Technical Lead
Flypaper Studio

On Wed, Nov 5, 2008 at 8:50 AM, Merrill, Jason 
[EMAIL PROTECTED] wrote:

 I'm going to throw a question out there to see if anyone has experienced
 something similar to this.  Didn't get any responses on Flash_Tiger.

 If you have ever outsourced some Actionscript work to an outside vendor,
 have you ever struggled with how to spec out how you want them to code
 it?

 Reason I ask is we've had bad experiences with some vendors in India in
 the past producing poor Flash/Actionscript sourcecode (we require them
 to provide sourcecode in the contract, so if need be, we can tweak minor
 things later). We've had better luck with U.S. vendors (nothing against
 India or Indians at all, that's just been our experience). So we
 decided to spec out how we would like them to code it (in general, not
 extremely specific - for example, use AS3, use external classes, comment
 the code, if they use a framework, tell us what it is, etc.). So the
 new vendor we used in India did all this (did a pretty good job with the
 final product), - they complied with our specs just fine, but they went
 overboard in the coding in my opinion. They over-coded by making the
 sourcecode EXTREMELY abstract, it was nearly impossible from looking at
 it to determine where to make minor tweaks. There is virtually no way to
 tell where to make a change, or what the change should be. They DID
 comment their code, but it's at the function-level - not at the bigger
 overall picture on how everything fits together.

 It's not a matter of being able to understand the code, I humbly
 consider myself a semi-near-expert (not a guru, but certainly no where
 near a novice) in Actionscript. The problem is figuring out how all the
 classes tie together to make what you see on the screen. I could figure
 it out, but it could take a very long time, and would require a lot of
 diagramming to map everything out. So instead we are having to go BACK
 to this vendor to have them make the change. I don't know if they
 over-coded because they thought that is what we wanted, that's the only
 way they knew how to tackle the project, or if they did it to ensure if
 there were ever any updates, only they would make the changes, thus
 ensuring future work (if so, pretty smart, but sneaky, which angers me).

 Anyway, that's the story, my general question is how do you define specs
 for a vendor to ensure you get good sourcecode back, but it's not overly
 abstracted, over-coded work?

 Jason Merrill
 Bank of America Instructional Technology  Media * GCIB  Staff
 Support LLD



 ___
 Flashcoders mailing list
 Flashcoders@chattyfig.figleaf.com
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread Dave Watts
 If you have ever outsourced some Actionscript work to an outside vendor,
 have you ever struggled with how to spec out how you want them to code
 it?

I haven't done this, but have worked as a consultant to offshore
vendors before - they offshore their own consulting! - and would make
these recommendations.

1. Specify whatever frameworks, etc, you can in advance. If you plan
to maintain the source code yourself, you need to tell them in advance
to follow the standards and practices you'd use.

2. Weekly code reviews. Not monthly. You need to tell them what's good
and what's bad, so they can react accordingly.

3. Give samples of the kind of work you expect in advance, if possible.

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/

Fig Leaf Software provides the highest caliber vendor-authorized
instruction at our training centers in Washington DC, Atlanta,
Chicago, Baltimore, Northern Virginia, or on-site at your location.
Visit http://training.figleaf.com/ for more information!
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders


Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs

2008-11-05 Thread sebastian
Open the discussion with them, tell them where you are confused and have 
them explain things to you.


If they can't explain it to you in a quick conversation; have them 
document it. gModeler seems good [first time I saw it was 5 seconds 
ago!], or any other UML-esque program that can build relationship diagrams.


Depending on the project, some aspects might need their own view, for 
example: I've found it useful to document the event-model as a 
completely separate view.


Hopefully once it's documented it will become easy to maintain.
:)

All the other tips given are solid; good luck!

Seb.
___
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders