• Aucun résultat trouvé

Designing Software for a Million Users: it's not About the Technology

N/A
N/A
Protected

Academic year: 2022

Partager "Designing Software for a Million Users: it's not About the Technology"

Copied!
4
0
0

Texte intégral

(1)

Designing software for a million users – It’s not about the technology

Professor Ian Sommerville

School of Computer Science, University of St Andrews, St Andrews, Scotland

Scotland was probably the first country in the world to deploy a nation- al digital learning environment in 2006. This was an innovative and pioneering system but suffered from two fatal flaws. There were prob- lems with the system’s usability and it was a closed system. It offered a set of applications that were designed in the early years of the 21st cen- tury. Much more effective and usable applications had become freely available on the Internet before the system was deployed.

Our goal was to specify a replacement for this original system that avoided the flaws in its design and which provided a range of opportu- nities for teachers to use digital technologies to support learning in their classrooms. We wanted to create an open system that could integrate the web services and applications that teachers and students really wanted to use.

Potentially, this system has a large user base. There are more than 3000 schools in which it will be deployed ranging from tiny rural schools with a handful of pupils and a couple of teachers to huge city school campuses, with thousands of students. There are more than 50,000 teachers and almost potential student users. As an aim was to use the system to involve parents in their childrens’ education, there are more than a million potential users of the system.

The key challenges that we faced were not technical problems. Issues we had to address were a very wide range of user abilities, complex system governance, a hostile user base, heterogeneous hardware and a desire to avoid political risk in deploying the system.

For many types of user-facing system, the technology is not the prob- lem – it’s the socio-technical stuff that causes the real difficulties. So- cio-technical factors are the reason why many technically excellent sys- tems don’t really work that well. They’re the reason why so many software-intensive systems projects are late, over-budget and fail to realise their objectives. As engineers, I think it’s time that we faced up to these issues and thought about how we can better understand how they affect the systems that we are creating.

Proceedings of STPIS'15

©Copyright held by the author(s) 1

(2)

Requirements for a digital learning environment

As part of the development process, I reckoned that we could use a me- thodical approach to deriving the requirements by using and adapting standard requirements engineering methods. These methods all involve:

• Understanding the business need and the environment where the sys- tem will be deployed.

• Scoping the system and establishing its boundaries

• Engaging with stakeholders to talk about the requirements for the system. These engagements may be facilitated with models of the ex- isting system or the system that is being proposed.

• Documenting the requirements and checking these, to some extent at least, meet the business need and stakeholder requirements.

In our initial discussions, it became clear that there would be problems with activities that are fundamental to requirements engineering meth- ods:

• Scoping the system. Some people thought the system should simply be a portal to generic tools; others believed that it would be more ap- propriate to orient the system around some model of pedagogy and yet others thought that the system should be the core of a whole school automation system.

• Engaging with stakeholders. The previous system was not well re- ceived by teachers and there was considerable political interference in its operation. This meant that many stakeholders were disenchant- ed and unwilling to spend time in engaging with us.

• System modelling. Whilst engineers are comfortable with abstrac- tions and models, these are actually quite alien to many people, espe- cially if their education is in arts and humanities rather than science.

They find it very difficult to relate models to reality.

These problems meant that conventional requirements engineering methods were effectively useless so we turned to an approach devel- oped as part of agile development – user stories.

User stories were originally developed as part of so-called Extreme Programming (XP), an agile method of software engineering. In that method, a user story was a description of an interaction that a user might have with a system and this description was used to decide on the

Socio-Technical Perspective in IS Development

Edited by S. Kowalski, P. Bednar and I. Bider 2

(3)

system features that could be implemented. We used higher-level sto- ries that stimulated discussion about the system.

User stories were a great success. All of the members of the group could relate to them and they were effective in communicating our vi- sion to a wider community. An unexpected bonus of using these stories was that politicians and civil servants with no technical or educational background could relate to them. The Scottish Secretary for Education commented how the stories brought the system to life for him and how refreshing it was to receive a report on a technical topic that he could understand.

The advantage of the user stories for the teaching community was that we made a point of developing stories for all stages of use of the sys- tem – from early years to young adults. We did not therefore require teachers to imagine how some scenario might be translated to their needs.

1 System architecture

Our final system architecture was designed around four fundamental principles:

1. Everything should be provided as a service. This means that every- thing is replaceable and distributable.

2. We would require the implementation of as few services as possible.

For political reasons, we needed to have an authentication service so that the system could track, to some extent, who is doing what. We needed a set of configuration services to create different versions of the DLE and, again for political reasons, we needed storage services, to allow for local control.

3. Users could configure their own version of the environment. This configuration would not require detailed technical knowledge. Con- figuration could be at a local authority level, a school level or an in- dividual teacher level.

4. Services could be loosely or tightly integrated. Tightly integrated services could use the system’s authentication and storage services;

loosely integrated services used their own authentication (which could be Google or Facebook authentication) and managed their own storage.

These led to the development of a layered architecture for the system as shown in Figure 1.

Proceedings of STPIS'15

©Copyright held by the author(s) 3

(4)

Figure 1. A layered architecture for a DLE

Lessons learned

There are four ‘take-away’ messages that reflect some of the socio- technical issues that I’ve discussed here:

• Methods may be useful where systems are being developed for a clearly defined purpose in a single managed organisation but in more complex organisations, they don’t work.

• Most users don’t care about new systems. The key challenges for engineers are finding ways to communicate with these users and building systems that are flexible enough to adapt to different styles of use.

• Governance is critical – if at all possible, reduce governance com- plexity as much as you can.

• User stories work – are by far the best way that I have found to communicate with a wide user community that has diverse back- grounds and experience.

Authentication

Browser-based user interface

Configuration services Group

management Application

management Identity management

User storage

Logging and monitoring Application storage

Interfacing Search Utility services

Application services

iLearn app

Email Messaging Video conferencing Newspaper archive Word processing Simulation Video storage Resource finder

Spreadsheet Virtual learning environment History archive Socio-Technical Perspective in IS Development

Edited by S. Kowalski, P. Bednar and I. Bider 4

Références

Documents relatifs

More concretely, we based our protocol on Least Squares Policy Iteration (LSPI) [2], a RL technique that combines least squares function approximation with policy iteration.. The

Simulating in the time- domain, the MIMO HFBs exhibit a better performance than the classical one in terms of output resolution as well as the sensitivity to the realization errors

A Predictive Data Push Technology (PDPT) Framework concept is mentioned as a possible solution fo user location context changes as well as a Biotelemetrical Monitoring

Keywords: Formal verifications, Context Description Language, model transformation, User Context Models, Property specification patterns.. Abstract: Several works emphasize

The software has been designed around the most fully automated Cameca and JEOL micropro- bes now available and includes full spectrometer, stage, and beam control.. Although

Easy access to both EDS and WDS techniques has been maintained throughout any type of analysis so the microprobe operator can quickly perform a sequence

In [1] the authors introduce a framework which can achieve interoperability of a distributed model via a centralized server called Mypes, where a single vec- tor based user model

In order to control the access to the managed information, these systems usually support secured data storage, access policies for the stored data and user authentication.. Examples