Re: [Flashcoders] large projects
Good question. It's going to be everyone's responsibility to stay on the same page, but if you're leading the effort, you're also going to have to initiate the kind of attention to details that you'll want replicated on the team. You'll probably spend a lot more time on technical design/architecture than you might be used to, because it will be easier in some ways to divy up the workload so that each developer (or each team of developers) is working on a discrete set of functionality. Early documentation will be key, so when there are namespaces that are shared by all parties, they're identified early. The goal is that integrating all this work should be as painless as possible. Obviously, if you and your team are pretty handy with OOP, this is easier to accomplish. Version Control is a must! It's bad enough when my PC hangs and I lose an hour's worth of coding (because I was stupid and didn't save every two minutes like the paranoid freak I am), but it's super bad when I want to go back to a state of my Flash file from a week ago and I can't because I didn't use any version control. Changing file names and doing a Save As isn't good enough. Subversion is cheap (as in free) and easy (as in you can learn the basics of doing it in a day). If you got a couple hundred, I think you can pick up SourceSafe (which works, albeit wonky from what I've heard, with Flash). I've had tremendous success with Rational ClearCase, though it's very expensive. If you're working with a team, there is absolutely no excuse to not use some kind of version control software. Maybe I wasn't clear enough. Version Control pwns. I'm big on commenting code (for use with ASDoc or a similar program) and other forms of documentation (wiki, as an example) as a means of communicating what we're doing on projects without getting too hung up on formality. I don't need everyone on my team to push information to me -- I just need to know where they have information available so that when I need it, I can get it without interrupting them. That's why I like wikis and project blogging, although I haven't worked on a Flash project (in and of itself) that involved enough people to really drive that need. There's an excellent book out called The Art of Project Management by Scott Berkun, and it's really a great primer for how to organize a project so that a team of developers can do their tasks without being micromanaged or (on the other side) getting left out in the cold. For personal task management, I also recommend David Allen's Getting Things Done. This all might be too general for your question, but when I read your question, it sounded like more of a how do I manage a large project? kind of question. -a- On 4/5/06, Mark Lorah [EMAIL PROTECTED] wrote: This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com -- -a- Aaron E. Silvers [EMAIL PROTECTED] http://flashforlearning.com -- Whoso would be a man must be a nonconformist. - Ralph Waldo Emerson ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
Using some sort of versioning system is an absolute must. Subversion is great, handles fla/ai/etc files as binary properly and deals with Mac resource forks and so on. Pretty easy to set up, and with a couple of nice GUI apps on both platforms (svnX for mac, tortoise for Win). http://subversion.tigris.org/ On 5 Apr 2006, at 13:44PM, Mark Lorah wrote: This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com Regards, Sam Thorne Interaction Design Web: http://www.native.com/ Tel: +44 (0)207 588 7970 Fax: +44 (0)207 588 7971 ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
- think of using Flex instead of Flash - get a competent and accountable architect to enforce best coding practices - define standards of coding up front, and enforce those standards - use source control (Subversion, CVS, Source Safe) - use develoment servers, staging servers, and production servers. Everyone should have the exact same setup such as Eclipse + JRun + ColdFusion all installed on their box (or whatever your setup is). That way, everyone can run the app and if something doesn't work, it's the person's machine or them doing something wrong, and not the code. It's ok if the actual database doesn't exist on the same box, although, I encourage it to be. Staging is to test app before it goes to production, but not on a dev box. - time must be allocated for code-reviews and re-factoring. This should go into time estimations given to client. - use a directory structure that encourages re-use of code, even from other projects legalities permitting. - Original Message - From: Mark Lorah [EMAIL PROTECTED] To: flashcoders@chattyfig.figleaf.com Sent: Wednesday, April 05, 2006 8:44 AM Subject: [Flashcoders] large projects This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: Re: [Flashcoders] large projects
Combining a few of these large project development things, I'm thinking of experimenting with keeping the entire development suite (or as much of it as possible) under version control. Eclipse throws a lot of ephemeral files aroundhas anyone run into problems with multiple developers sharing a development environment under subversion control? (We'd be handling any installs that we can't shove into subversion due to registry entries or what-have-you with a version-controlled batch file to set up environment pathsto make sure that each computer has things in the same places.) From: JesterXL [EMAIL PROTECTED] Date: 2006/04/05 Wed AM 09:32:28 CDT To: Flashcoders mailing list flashcoders@chattyfig.figleaf.com Subject: Re: [Flashcoders] large projects - think of using Flex instead of Flash - get a competent and accountable architect to enforce best coding practices - define standards of coding up front, and enforce those standards - use source control (Subversion, CVS, Source Safe) - use develoment servers, staging servers, and production servers. Everyone should have the exact same setup such as Eclipse + JRun + ColdFusion all installed on their box (or whatever your setup is). That way, everyone can run the app and if something doesn't work, it's the person's machine or them doing something wrong, and not the code. It's ok if the actual database doesn't exist on the same box, although, I encourage it to be. Staging is to test app before it goes to production, but not on a dev box. - time must be allocated for code-reviews and re-factoring. This should go into time estimations given to client. - use a directory structure that encourages re-use of code, even from other projects legalities permitting. - Original Message - From: Mark Lorah [EMAIL PROTECTED] To: flashcoders@chattyfig.figleaf.com Sent: Wednesday, April 05, 2006 8:44 AM Subject: [Flashcoders] large projects This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com -- John Mark Hawley The Nilbog Group 773.968.4980 (cell) ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: Re: [Flashcoders] large projects
Biggest challenge I've had is ColdFusion config files. Everyone has different drives so I have to change E:\files to C:\files. Not a big deal with find-and-replace, but just 1 more thing to keep track of that isn't in version control. I also have to manually exclude those files from BeyondCompare, a diff tool, to ensure I don't accidentally copy over the changes from Subversion. - Original Message - From: John Mark Hawley [EMAIL PROTECTED] To: Flashcoders mailing list flashcoders@chattyfig.figleaf.com Sent: Wednesday, April 05, 2006 11:26 AM Subject: Re: Re: [Flashcoders] large projects Combining a few of these large project development things, I'm thinking of experimenting with keeping the entire development suite (or as much of it as possible) under version control. Eclipse throws a lot of ephemeral files aroundhas anyone run into problems with multiple developers sharing a development environment under subversion control? (We'd be handling any installs that we can't shove into subversion due to registry entries or what-have-you with a version-controlled batch file to set up environment pathsto make sure that each computer has things in the same places.) From: JesterXL [EMAIL PROTECTED] Date: 2006/04/05 Wed AM 09:32:28 CDT To: Flashcoders mailing list flashcoders@chattyfig.figleaf.com Subject: Re: [Flashcoders] large projects - think of using Flex instead of Flash - get a competent and accountable architect to enforce best coding practices - define standards of coding up front, and enforce those standards - use source control (Subversion, CVS, Source Safe) - use develoment servers, staging servers, and production servers. Everyone should have the exact same setup such as Eclipse + JRun + ColdFusion all installed on their box (or whatever your setup is). That way, everyone can run the app and if something doesn't work, it's the person's machine or them doing something wrong, and not the code. It's ok if the actual database doesn't exist on the same box, although, I encourage it to be. Staging is to test app before it goes to production, but not on a dev box. - time must be allocated for code-reviews and re-factoring. This should go into time estimations given to client. - use a directory structure that encourages re-use of code, even from other projects legalities permitting. - Original Message - From: Mark Lorah [EMAIL PROTECTED] To: flashcoders@chattyfig.figleaf.com Sent: Wednesday, April 05, 2006 8:44 AM Subject: [Flashcoders] large projects This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com -- John Mark Hawley The Nilbog Group 773.968.4980 (cell) ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
Aaron, Thanks for this. I am pinning your reply to the bulletin board above my desk. Book recommendations are very helpful. I do need to set up Subversion. I think the critical issue that I have trouble getting my head around is best ways to look at design/architecture such that it divides cleanly into individual responsibilities. OOP to me is usually perfect in the abstract, but less perfect in my implementation. Perhaps I need to adopt a stricter adherence to OOP principles. I think your comments generally stress the importance of creating a well-defined plan. -M ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
This is a general question about workflow. For a long time I have been working on Flash projects independently. Over time everything has gotten bigger. Projects are now at a scale where I must collaborate with other Flash programmers. I am looking for suggestions about best practices for organizing and dividing up work on large Flash projects. What are problems and solutions that people have encountered when sharing work? I would just echo Aron's and Jester's posts, you're crossing a line and moving from website development to application development, and you'll need to treat it that way. Likely the most difficult thing to convince your higher-ups about will be the necessity of redundancy and planning. They seem expensive at first glance, especially if they are used to telling you what they want and seeing it show up on the production server a week later. But as soon as you add other developers into the mix, planning ahead becomes vital, and having a staging enviornment that is an exact duplicate of your production enviornment is critical. And nothing should go to production without regression testing. It will make things take longer, but not nearly as long (or expensive) as putting bad or incompatible code out to production and having to go troubleshoot it and fix it there. And get familiar with your source control, it is a life saver. ryanm ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
Thanx for everyone's comments. All this discussion brings to light a sub-topic for me which is testing. I am from a design background rather than a programming background. Now I am primarily a programmer. I sometimes find that I am uninformed about certain programming standard practices - which leads to home-made solutions that can be confusing to others. Can anyone recommend a source for standard approaches to doing unit testing and regression testing in the Flash environment - particularly with an eye towards team development? -M On Apr 5, 2006, at 1:30 PM, ryanm wrote: regression testing ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] large projects
These are my opinions, but 2 main things: - only check in code that works. If a developer checks in code that doesn't compile or work, he needs to fix it. - I'll write test cases, which are really not as formal as real test cases. Basically, it's a test FLA or a test MXML application that uses the component I just made (view, value object, whatever) and test it's methods and properties to see if it works. I'll then check that in. That way, anyone can go in the test folder to more easily test just the component alone rather than having to test inside the actual app. Quicker and worth the upfront cost of making time to creat test cases because you an more easily and quickly solve problems later on. - Original Message - From: Mark Lorah [EMAIL PROTECTED] To: Flashcoders mailing list flashcoders@chattyfig.figleaf.com Sent: Wednesday, April 05, 2006 2:00 PM Subject: Re: [Flashcoders] large projects Thanx for everyone's comments. All this discussion brings to light a sub-topic for me which is testing. I am from a design background rather than a programming background. Now I am primarily a programmer. I sometimes find that I am uninformed about certain programming standard practices - which leads to home-made solutions that can be confusing to others. Can anyone recommend a source for standard approaches to doing unit testing and regression testing in the Flash environment - particularly with an eye towards team development? -M On Apr 5, 2006, at 1:30 PM, ryanm wrote: regression testing ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com