There are many roles in building a Flex/Flash-based RIA. Some are common to building web apps in other languages. Some steps are specific to Flex and Flash, Let’s cover the range of these steps, as well as who typically performs them. I say “typically” because you may not have the budget for an 14-person team....you may have four people which have to cover many bases. Here we go:
- Someone to organize the work effort, track progress, coordinate the backlog with business stakeholders, make stuff happen, and keep the big picture. This is typically a Project Manager.
- Someone to lay out information architecture and interaction design in the form of wireframes. This is typically the job of an Information Architect or an Interaction Designer, however, I’ve seen Business Analysts perform this role.
- Someone to create visual design comps which incorporate the font, color palette, iconography and image assets. This is typically a Visual Designer.
- Someone to write user stories and acceptance criteria. This is typically a Business Analyst, but sometimes falls to the job of a Project Manager or IA.
- Someone to slice up the visual comps and churn out image assets. This is a typically a Visual Designer.
- Someone to create the CSS. This is typically a Visual Designer
- Someone to incorporate the image assets into a .fla which can be imported into a Flex project. Typically this is a Flex developer, unless you have a Designer that is highly comfortable bridging creative and technical. Next year, when Flex 4 (aka “Gumbo”) and Flash Catalyst are released, the Designer-to-Developer hand-off will become more streamlined. In the meantime, this hand-off can be a clunky affair depending on the skills of the players involved.
- Someone to lay out the base UI structure in MXML. This is a Developer well versed with the out-of-the-box components and their features/constraints.
- Someone to architect the overall design of the presentation tier. Most teams will use one of the popular Flex frameworks like Cairngorm or PureMVC to streamline this process. For large projects, I’ve seen this responsibility fall to the Architect. For small teams with 2-3 really sharp Developers, they will share architectural responsibilities.
- Someone to architect the messaging layer between the presentation tier and the back-end. At some point, a decision will be made as to whether the team will use HTTPRequest, JSON, XML, AMF, BlazeDS, LCDS, etc. The contents, format and periodicity of the API will need to be specified. This typically falls to whomever is architecting the back-end, in conjunction with the Flex architect.
- Someone who loves to create custom components, manage state, and write business logic using Actionscript. This is usually done by a Senior Developer or Architect who has been around the Flex for awhile and has a deep understanding of OOP from a past life (e.g., converted Java or .NET studs).
- Someone who knows how to use animations, transitions and maintain visual integrity during a browser window resize. This requires a Senior Developer with experience with Flash and Flex.
- Someone to code back-end functionality, implement the physical data model, and other server-side “stuff”. For simplicity’s sake, I’ve lumped these together into a generic category because there will many nuances based on your back-end technology choice.
- Someone to test implemented features. This could be a dedicated QA Analyst, a Business Analyst, or Project Manager.

