How do you work with Developers / Designers

When I am doing application development with Flash the work-flow usually consists of:

  • I spec out the app (with input from the design)
  • I develop the app.
  • Once the app is functioning, I pass it on to the designer to complete the UI and look and feel.
  • I make minor bug fixes and changes, but usually no UI changes

What is your work flow like? As a developer, when do you pass the work to the designer? Or if you are a designer, when do you start to work on the project?

18 Responses to How do you work with Developers / Designers

  1. curups says:

    I’m developer. I get the layout finished by a designer, with all elements need by that application. Then I bring life to this. No designer need again if all elements exists. If the specs is well done, the developer time is great.

  2. This is how we usually work1. Designer starts his design2. Half way through it is reviewed by a developer who will help in structuring things and give input on any things that should be adjusted/etc3. The designer will pass the work off to the developer4. Designer will review developers work to make sure he did not mess up all his nice work.We have also found out that it helps to have someone who can speak with both the designers and developers, and having designers who are capable of understanding structure and are consistant in their work..I think this is a very important topic. I hope others will share their methods.Also I noticed you develop then pass it onto a designer. I would think that would restrict the designer?

  3. Greg Burch says:

    Typically I will work with a designer to define the functionality in a spec. That spec will include early wireframes that define what goes where and how it works (to a minimal extent) The I will develop the application accordoing to that spec while the designer works on filling in the wireframe design. When I am done developing I then either hand it to the designer to implement the full design or I take th design and do it myself. Throughout the development and design process we both will bring up issues to one another so that in the end it is solid and requires little change on both sides.Of course this is in the case I have one design assigned to me. This is my ideal case which happens 10% of the time :). (Not a bad number)

  4. Not quite. As an independent consultant, I play both roles when needed, sometimes in the same project (meaning that I do everything by myself, or take part on both the design and the development…) I doing so, I’ve learned that constructing the functionality first will help the designer(s) understand what is needed for the interface, and what is the behavior expected fron the end user. The designer then will craft and show at least 2 different alternatives of visual interface, and maybe a sequence of interactions if needed. In that moment is when the adjustments come for both de designer(s) and developer(s); most likely somebody is the director/producer/owner of the work, and the final development will depend on his/her decisions.If you work for a shop, the clients will come with changes everytime… and both designer(s) and developer(s) will have to adjust their work each time. Yeah, that’s life 😉

  5. ehh… the “Not quite” in my coment was in response to Chafic’s question: “I would think that would restrict the designer?”Greg posted his comment while I was writing minne. Sorry about that 🙂

  6. Nik Khilnani says:

    my teps at work are:Design requirements of Application(1 or more persons, group)Evaluate/break down of needed components by looking at exisiting components & detemining modifications or new components, serverside apps needed.(1 or more persons, group)Design detail specification for driver application, component modifications or details of new components, UI needs, server resouce/application comm protocols.(1 or more persons, groups & indiv)Development of the modules.(1 or more persons, indiv)Unit testing of components/driver with stub components.(1 person, indiv)Integration.(1 or more persons, group/indiv)Application testing, QC, debug etc.the key part is that is more than 1 person invloved in every part of the development (depending on complexity).in our team the designers develop the assets based on stub/dummy assets provided by the developers (designers just never get this right if they start from scratch themselves)so while the developers are doing the coding the designers create the assets. Look and feel is done during the design phase. after being given the stub assets then next point of seeing the real look & feel is at integration time. Depending on the qyuality of the specification & to what extent everyone sticks to the spec integration could be a bitch or a breeze.we use some tools i wrote (cant talk about em openly) that let the designer easily modify layout styles.Flash lacks team development support but this method has worked very well for my team.nik

  7. Nik Khilnani says:

    need an extension to visual Studio to support flash syntax highlighting, code folding, and compiling of flash files . VS has pretty good support for integrating with source safe.If possible using the same IDE would be great while local/remote debugging/testing applications that use a lot of .net

  8. I like to give the designer more freedom at the begining rather than give him a skeliton to work around. This really depends on the project I would think. If a project a more “creative” interface then I would say the designer should do his/her work as early as possible.Also this becomes a big issue if a project is in its early stages and the client wants to see what it would look like and what it might functionl like. Usually at this phase the designer will do most of the work and both will work with the client to make sure the client is getting what they needs before go into development.On the other hand if a project was very well definined at the begining then I would think that having the developer do his work before the designer would be better..

  9. In ideal situations I have a flow that is similar to Niks, especially if I am working alone.However, I frequently find myself working on small teams where we have to do things backwards and are unable to follow standard development processes in order to appease and accomodate clients aesthetic needs, schedule demands and budgets.Many of the clients I work with, often require complicated art mockups before they will even greenlight a project or approve the underlying work that will go into the coding that will drive an application.As a developer I try to be a part of this process as much as possible in order to guide things both internally and for the client, and to offer input as to what is and isn’t possible within the constraints of their budget and schedule. However, more often then not, the client does not care to be educated during the process and thus only wants to work with an art director or account manager. So I frequently find myself looking at approved storyboards/mockups and having to “back into” the engineering and code without even having had any input or guidance on the project.I often work by myself or with very small teams, 1 or 2 others at the most. So its a bit easier for me to break from rigid processes that work best for team development work.I have found that I often have to spend a great deal of time optimizing and organizing library items and assets in order to work efficiently after I have received the artwork and assets from an art director or designer. Typically their will be revisions to art going on silmutaneously to my programatical development. So I have to go through this process more than once. Even when I send back the cleaned up, optimized and organized assets, art directors and pure designers have a hard time sticking to the more rigid patterns and organization methods I have setup. Ever find a library that you have to scroll for like ten pages with hundreds of randomly named symbols, movieclips, etc. Yikes!So I often find myself wishing for a more extended and fleshed out library controls. My ideal library palette would have support for dynamic updating of library assets from a centralized location. Almost like the way imported images, eps’s and fonts can be updated in a QuarkXPress layout. This way I could almost totally seperate the designer from the code. And no I dont like the way shared items work right now….too tedious to work with. It needs to be simpler and easier to update.The other helpful thing for me is to always keep my code in external .as files and use includes as much as possible. This makes it a lot easier for me to keep track of code and do diffs against anything that has changed over time. Makes roll backs very easy.In ideal situations I often get to do the full functionalty or proof of concepts first and then pass off to a designer, or if i am lucky get to design it too. My last big project I did all the functionality and programming and only had to have a few very simple passes with the art director. Later I got to reskin the entire app with my version of the art and that was fun. 🙂

  10. Nik Khilnani says:

    yup… we need some more enhancements for teams.Chafis:the method i wrote about before restrains the designers only after their design has been accepted. During design time we work with them to define functionality and visual design. Its only after that design is agreed that we keep stuff in control. so pretty much they can do what they want as long as its feasibile/appropriate and then we stick to the design. You can let people on a team with more than 4 people modify things as the dev goes on, it will just lead to chaos or hacks. Now we know clients by nature disrupt the dev process most of the time, but we i like to keep things organzied as much as possible. Do all the creative design when we’re spec’ing the app out, but after we get into parallel dev we need to prevent avoidable changes.nik

  11. Stacy Young says:

    Mike,Want an essential read on the subject? Pick up Alan Cooper’s book. “Inmates are Running the Asylum” noticed the GUI and Interaction design was third on your list. This book discusses why it should be #1.”About Face” is another good one by him…although a little antiquated but still relevant…think he’s putting out a new edition..Cheers,Stace

  12. Peter Elst says:

    Usually my workflow goes as follows:- writing specs- pass it to the creative team for initial design- based on this rough design the app is developed- debugging and usability testing- design is finalized based on input from the QA people- finish up the app

  13. sangles says:

    I’ve no problem since i’m the designer and the developer.My workflow is design, code, re-design, re-code, re-re-design, etc etcSeriously,We work the design and concept for the aplication. We use the design as a sketch while the proyect is being developing the design grows side by side with the aplication.We also use the design as the UI sketch.Then we start coding.Usually we find some issues in the UI and we work around to solve the problem, so we don’t really separate works.

  14. You all sound so formal. Maybe you’re just describing the ideal situation. First, “designer” must mean graphic designer. I mean, there’s a lot of designing necessary.Anyway, the big thing that people MUST be doing–despite not mentioning it here is prototyping. My general approach is to–as quickly and early as possible–build a prototype that everyone can touch, modify, then agree it’s on the right course.I’ve done plenty of jobs where the entire graphic layout is created before any programmers are involved–sort of a bad approach, but not impossible. Consider when you employ someone else it’s for some skill they can contribute. As much as I think many managers are hacks, really, the best projects are those that are well managed.Thanks,Phillip

  15. Humane Interfaces and Flash

    The issue of flash usability has been in the open for a long time, with Jakob Nielsen being one of the personalities out there hammering the word home. In this post, I contribute a paper which might add to what is already known.

  16. Suresh JV says:

    Just as Civil & Mechanical [Auto] industries have realized the need for a Designer/Artist [Architect or Product Designer etc…], the software industry has not understood the need for the Designer. Most of the cases, It will always be the Programmer, higher up in the management who decides about the process to follow which will put most of the designers to work in a restricted environment. Just because it is easier to develop when a developer designs a spec, make a workable prototype to show to the customer, most companies never even consider hiring a designer. [We have plenty of examples all over even from many globally reputed companies]. I feel there should always be a designer’s prototype ready before the developers start their coding. This actually helps developers to reduce their coding efforts.Of course, the designer should have SOME SOUND KNOWLEDGE about the constraints of programming & HCI apart from creativity. ;)To summarize, a Software/Application design should always be a designer’s call, because people need to use it.

  17. Perhaps graphic designers are underappreciated or taken for granted, but I’ve never seen a project completed without them.It’s not an either you have ’em or you don’t. It’s really just a matter of how well everyone works together. How well the communicate and understand each other’s roles.Phillip

  18. Stacy Young says:

    Speaking of Interaction Design. Folks in this field are typically under utilized or under appreciated. Over the past year I’ve been researching/working on my skillset in this regard and let me tell you, it’s not easy. In fact, in many respects it’s “as hard” or “harder” than many development type hats I’ve worn in the past.A project, even with sublime server-side design, can be an utter failure without proper user interaction.Again, check out Alan Cooper’s book(s). Great stuff…