Re: [Flashcoders] FW: [Flash_Tiger] Outsourcing and Actionscript specs
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
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
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
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
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
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
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
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
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