Developers have primary responsibility for software design and implementation. This group includes software and system architects, software designers, programmers, and testers. System integrators and some configuration managers also belong to this group.
My team doesn't understand how their work impacts mine. How can I communicate this?
To effectively work together, people must use a shared language. When diverse backgrounds come together to build a website, different terms are often used to mean the same thing or worse - the same term is used to mean different things. The IconProcess and its process extensions define terms in a way that is clear to everyone on the team. The IconProcess Plug-ins also show the dependencies and relationships between activities and artifacts. This means everyone will understand the ripple effects of their work. You can use IconProcess extensions with agile methods, XP, the Unified Process, or your existing process.
What inputs to software design should I expect for a web-based project?
One of the most significant differences between building web-based applications and client/server systems is the Web's emphasis on user experiences and usability. You need more than the use cases and supplementary specifications typically created in projects that use UML and the Unified Process. Web projects have Information Architects who create site maps, wireframes, and more. Most web-based projects have significant content as well. A content inventory organizes the static and dynamic content. These new artifacts define the website or application structure from the users' - not the development team's - point of view. Those artifacts will contribute to the software design. If a content management system is used, it will have a significant impact on the system's architecture and subsequent software design and implementation. You must develop these artifacts with speed and flexibility to accommodate the rapid evolution of ideas and business demands.
How can I make my class and component model more specific to the Web?
The Web Application Extension (WAE) is a UML profile that defines stereotypes, tagged values, constraints, and notation icons for modeling web-based applications. Add-ins for Rational Rose and Visio are available to make using the notation easier. Jim Conallen's book Building Web Applications with UML describes this modeling approach.
(Just remember, many teams use non-UML models as part of their Web development efforts. UML is not a silver bullet.)
We need to improve our user interface design approach. We use Extreme Programming (XP). How can I use IconProcess ideas without breaking XP practices?
You have several options. First, you could ensure that at least one developer has human-computer interaction (HCI) knowledge and experience. In IconProcess terms, that developer would play the role of an Information Architect and/or Usability Evaluator. Through pair programming, that developer can spread HCI and usable design practices to others. The process extension for information architecture provides recommendations for effectively structuring websites and web pages. This process extension would benefit your team.
Second, your customer could write a user story requesting usability testing. Frequent, small-scale, and focused usability tests without extensive written reports complement XP and other agile methods. The IconProcess usability testing process extension offers guidance.
Third, developers and customers could improve their skills by taking courses such as:
- Introduction to Usability
- Information Architecture & User Interface Design or
- Requirements Elicitation & Facilitation
Read the FAQs for more information about the IconProcess, process extensions, and how to apply these techniques.