Showing posts with label development. Show all posts
Showing posts with label development. Show all posts

Tuesday, February 12, 2008

Communication with Coders

In contrast to the wireframe being overly defined for the clients when discussing overall structure of the site in Project A, we found that compositional elements of pages were not defined in sufficient detail to communicate with the software development team responsible for implementation. The development teams' approach was to identify logical units within each page so that common software classes and routines could be identified early on. This entailed marking up the prototypes with regions regarded as logical units, and numbering them. Clearly this added another level of detail to the wireframe which we had not initially envisioned when designing it. Since the wireframe was developed in HTML using layers it was not technically possible to annotate the prototype itself, so paper copies of the pages were used and marked up. As development progressed, and the prototype was refined due to client requests and an improved understanding of the user requirements, it became increasingly difficult to maintain a link between the regions marked on the paper copies and the evolving prototype.

Internet 2010

Given the lack of fidelity in the prototype required by the software coders, use cases were written to specify the user-system interaction in more detail. Use cases are a software development representation that describes the "dialogue" between a user and system in a task context. For example, in the task context of "Write an e-mail", the dialogue could be: (1) The user creates a new message; (2) The system displays an empty message window; (3) The user gets a recipient from the address book; (4) The system checks the validity of the address, and so on. These use cases were specified by use-case writers and then taken by a test team who developed test plans to better support the implementation effort. These additional specifications referred directly to particular parts of the wireframe — for example, the use cases detailed particular user-system interactions, while the test plans relied on both the wireframes and use cases. Maintaining the consistency between these multiple representations became more difficult as more and more people came to rely on the wireframe.

In terms of our dimensions, our prototype did not allow for sufficient detail in its description when the target audience was the software development team. Moreover, the unchanging paper copies became further out of synch with the evolving prototype as development progressed thus imposing an overhead on the communication between the HCI and development teams. Essentially the development team needed a view of the prototype that was at a greater level of detail than our own.

The same problem occurred again in Project B where the prototype was used as a means of communication between the HCI team and the software coders. As in Project A the prototype was not detailed enough to meet the needs of the coders. Therefore we adopted use cases to further detail the requirements on the functionality. Initially HCI was responsible for specifying the use cases. However, at a later stage the system developers took on this responsibility to make sure the use cases were detailed enough to support them in their work. The use cases together with the wire frame were used to drive the development process and to identify issues that needed to be resolved.

Saturday, February 9, 2008

Project Management Means Managing Conflicts of Interest

Many of the project's problems occurred through the bureaucratic way in which it had been set up. European union funding procedures and the plans required to get and maintain EU funding are based around supporting a large bureaucracy rather than supporting effective project management. Rural Net was not unique in this, new technology projects do not fit well with old style management procedures.

EU guidelines set specific targets for outputs, but the project lacked any coherent project management plan or practical imperatives on the usability and design of the site. A good example of this was usability testing: the EU plan specified that this should be carried out (by a local university), however it was scheduled in near the end of the project, when there would be very little scope or commitment to change the existing web-site. There was no understanding that usability activities need to be co-ordinated with development activities in order to achieve product improvement. Similarly, day-to-day project management was not well coordinated. The overall effect was that the project was heavy on bureaucracy but low on efficiency.

Internet 2010

Effective, supportive and professional project management is a vital component in the success of any well run software project. When that project incorporates elements of user centred design and usability, project management skills become even more vital.

Web-site development projects require a particular blend of project management skills to enable usability considerations to be accommodated. The project manager must have an understanding of the scope and importance of usability work and know the right points at which to apply usability consultancy. Most importantly they must have the "soft" interpersonal skills to convince the client of the need for the usability element of the project, and to persuade the development team to implement in keeping with the usability consultant's recommendations. But the project manager must also be sufficiently technical in order to bolster persuasion with consistent technical reasoning when the development team present obstacles or objections of a technical nature.

Designing web-sites to suit diverse international markets and cultures is now accepted as good business practice. It illustrates that the organization responsible for the site is sensitive to local needs. Unfortunately for Rural Net, the original idea in the EU proposal was to produce a pan European site with a standard template which would be used by all similar projects running in four different countries. The UK content providers wanted something that was tailored specifically to the requirements of their users. In the end this was achieved but it did cause delays in the project work.

Internet Blogosphere