If staffing a "Silverlight / WPF business app" project would you include a team of graphic designers?
I don't know if I would include Graphic Designers. I would look for UX (User Experience) Designers.
A UX Designer will have the skills of a Graphic Designer with an understanding of User Interface Design.
Of course - theoretically, they are supposed to use Expression Blend Studio, but that doesn't work very well, so you need to find a techy UI person who can work in VisualStudio. Always have UI people if you are building UI though - having professional looking apps is just as important as having apps that work well.
Without splitting hairs about the job description I would answer a huge Yes to this! Give your developers the freedom to focus on the code they're good at and get an application that looks incredible at the same time. This is a huge win.
To me, it depends on the project and the quality of the UI you are looking for. For a lot of internal projects, hiring on a full time graphics designer might be a bit overkill. If you are creating an external facing website/project, then you should definitely bring someone with user design experience on board.
I think the job position title du jour is 'Interaction Designer' - they are the ones who speak the lingo of user experience, usability, etc. In other words, the ones who are experts in 'interaction design.' You want a team of them instead of graphic designers.
Obligatory wikipedia article on iteraction design: here
Graphic designers are nice, but unless you are building an OS, you don't need a team of them. Just a few to build mock-ups in Blend, or Photoshop (and let your developers translate photoshop images to XAML with Visual Studio)
Here is something that I wrote as JDs for staffing a Silver light Project.
UX Designer Profile
- Ability to visualize and create user experiences, and to translate them to UI designs using Expression Blend
- Excellent understanding of XAML and capabilities of Silverlight
- Excellent understanding of creating and applying styles and templates
- Ideal candidate will have been working with Silverlight 1.0 since its inception, with examples showing level of expertise with an understanding of enhancements made with 2.0 and 3.0.
Silverlight Architect
- Ability to guide the team by putting in place the required tools and frameworks (end to end) for Silverlight specific projects
- Experience using Expression Blend and Visual Studio for Silverlight application development
- Good understanding of XAML Styles, Triggers, Observable Collection, Data Binding Methods, Model View View-Model (MVVM) pattern, Navigation patterns
- XML and LINQ within Silverlight
- All aspects of Silverlight framework including DLR, Isolated storage etc
- Understanding about essential application blocks like Composite application block (Prism) Excellent understanding on using RIA, WCF services and ADO.NET Entity framework services with Silverlight
- Excellent knowledge of development within .NET 3.0 & 3.5 Framework
- Must understand the fundamentals of software development, including best practices and OOP design patterns. An understanding of cross-browser Front-end development issues is important
- Knowledge about 3rd party UI libraries
- Familiarity in Live Mesh technologies
Silverlight Developer
- Experience using Expression Blend and Visual Studio for Silverlight application development
- Excellent C# and XAML skills
- Experience in using MVVM
- Strong JavaScript skills
- Working knowledge of development within .NET 3.0 & 3.5 Framework
In order to staff a Silverlight project its generally a good idea to fill three roles:
- UX
- Creative
- Technical
UX is typically a front loaded activity that operates primarily during analyze and design and whose deliverables input into build.
Creative gets brought in during design. Creative has two basic roles: Visual Designer and Interaction Implementer. A Visual Designer will be heavily utilized during the design phase and will live in tools like Adobe Illustrator or Expression Design to construct visual assets. A Visual Implementer will be most heavily utilized during the build phase where they will work side-by-side with the technical team to integrate the visual assets into the solution. Ineraction Implementers will live in Expression Blend.
Technical is of course utilized the heaviest during build but, as usual you should bring your Technical Architect on during Plan & Analyze to help steer Functional, UX, and Creative towards feasible solutions. Developers will live in Visual Studio and Expression Blend.
Depending on the skill sets of your team you may have some cross over personalities along the Implementer/Developer boundary. As developers get more and more savvy in the ways of Expression Blend, I think we could see this role as a secondary or tertiary skill set for many developers.
Generally, its a good idea to bring on UX & Creative resources if you are trying to achieve some higher order levels of user experience but it is not required and I would say in your case specifically it would be a "nice to have".
Silverlight is a highly viable development platform for building standard line of business applications. Silverlight is not just about flashy graphics. Its about building web applications that have all the features modern users have grown to expect with faster time to market and lowered maintenance costs. Oh, and if you want to add some piz-azz with all the spare time you have...you can do that to. :-)