Re: [Flashcoders] large projects

2006-04-05 Thread Aaron Silvers
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

2006-04-05 Thread Sam Thorne

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

2006-04-05 Thread JesterXL
- 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

2006-04-05 Thread John Mark Hawley
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

2006-04-05 Thread JesterXL
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

2006-04-05 Thread Mark Lorah

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

2006-04-05 Thread ryanm
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

2006-04-05 Thread Mark Lorah

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

2006-04-05 Thread JesterXL
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