![]() |
|||
| When we
work on a conventional software engineering project, we follow the Rational
Unified Process (RUP). However, our largest projects, such as the development
of a corporate portal, typically consist of both technical and marketing
deliverables. For example, on a single project, we might provide a client with an integrated system that entails software applications, configured servers, creative designs, and multi-lingual marketing communications content. Popular software engineering processes such as RUP, Extreme Programming (XP) and Feature-Driven Development (FDD) are optimised for conventional software engineering. These processes tend to poorly suit other aspects of multi-disciplinary projects, such as creative ideation or marketing communications development. Rather than try to force our clients' projects into the bad fit of a conventional software engineering process, we have developed our own in-house project methodology that provides an overall, high-level structure to multi-disciplinary projects. At a more granular level, the individual work tracks within the methodology borrow liberally from both creative development processes and software engineering processes, as follows: workshops use case development prototyping iteration change management workshops - RUP provides useful tools for structuring a variety of technical workshops, such as requirements workshops. We integrate creative and user experience information-gathering into these workshops, allowing them to produce useful roadmaps and information needed for multi-disciplinary development. use case development - The generation of detailed user requirements for a site or application often entails friction between the creative, user experience design, and technical tracks of a project. We find that conventional unified modeling language (UML)-style use cases are an intuitive, useful tool that bridges the disciplines and provides a consistent understanding of the expected behaviours of the target system. prototyping - Most modern creative, user experience, and software engineering processes emphasise the value of prototypes. These might entail creative comps, clickable wireframes, or Flash applications. We strongly feel that the most efficient and powerful means of validating design direction is to build prototypes. Therefore, our project methodology incorporates both prototyping and prototype validation. iteration - Iterative development is a hallmark of most modern software engineering methodologies. Wherever appropriate within the work tracks of an individual project, we strive for extensive iteration. Our clients always see multiple, progressively improved renditions of key deliverables, such as creative designs, architectural schematics, or functional applications. change management - Software engineering has produced a wide range of processes and tools to help reign in the potential chaos of multiple people working simultaneously on multiple, interdependent deliverables. Some of the more useful change management tools and processes include configuration management, asset versioning, source code control, and archiving. These software engineering change management tools and processes are also well-suited for creative and user experience deliverables, and we enforce rigorous software engineering-style change management across all deliverables on a project. |
|||
| © 2002 blue-infinity | |||