SHU Development Process

A reference website for software development processes

- CSS tag🚀HTML tagJavaScript tagplaywright tag📝🏫🌐 View website

The SHU Development Process (shu-dev) is a website used within the Department of Computing at Sheffield Hallam University. Based on the generic process framework described by Pressman and Maxim1, it details different project stages commonly seen in software engineering, and therefore throughout student studies.

The project is student-led and previous efforts focussed on building content. I was the sole developer throughout my involvement. The project was a collection of documents on a code repository when I joined, which meant the information was hard to access and navigate.

An alternative to this page was submitted as a reflective account for a module. It was written shortly before I finished on the project and prior to it being accepted to the UKICER conference. Read my reflective-account.

Aims

Project

Personal

Putting the Documentation Online

A screenshot of the legacy shu-dev website

The legacy site

The first attempt at putting the documentation online was completed with MkDocs. It allowed me to act quickly and the pre-built ‘readthedocs’ theme was “good enough”. This meant the site could be put online in time to introduce it to students in their project-based modules in the second semester.

The content had previously been split into two ‘views’. One divided pages by level of study and the other by complete process. The intention was to give students the choice of only looking at what they need currently, or understanding a process in its entirety.

The feedback received on this version was largely good, however students said it was confusing to navigate because they weren’t sure which view they should be looking at. This mirrored the experience of authoring content because it had to be created and updated in two places. The second major theme of feedback was accessibility issues.

Updating the Site

A screenshot of the shu-dev website

The AstroJS site

Based on the feedback we received and plans already in place, I built a new version of the site. Astro was selected to replace MkDocs for a number of reasons:

Development began with a pre-built ‘documentation’ theme (now succeeded by Starlight) and colors were customized to better match university branding. Content was re-structured to only the process-based view, removing duplication and reducing the number of overall documents. After that, a number of new features were implemented.

A snippet of the search dialog

Content Filtering

A dropdown control below the title of every page allows inline content to be filtered to specific levels of study. Levels 4, 5, and 6 correspond to first, second, and third years of an undergraduate course.

The dropdown menu displaying level options

An animation of content being filtered on a page

Sharing Content

Each heading on the site includes a hashtag link next to it so that it can easily be shared with other students. On devices that support it the share API is used to make finding contacts and apps easier, otherwise it is copied to the clipboard.

A link for sharing content appears next to each heading

'User Stories' page on the iOS share sheet

Accessibility

A screenshot of the site with the open dyslexia font enabled

The OpenDyslexia font is enabled

Mobile Access

As with all well-designed sites, it’s completely mobile responsive. This means students can easily access it from a smartphone or tablet.

Add to Homescreen dialog

An iPhone showing a screenshot of the mobile site

One of the most suitable ways to provide site content in an alternative format is to implement a print stylesheet. This removed the header and navigation elements so content can easily be read in third-party applications as a PDF or printed onto paper.

Writing Guide

Students wanted to know what to expect when they look at a page, as well as where they can go for more information. To aid this and improve the cognitive accessibility of the site, I created a writing guide that can be followed by others when updating or creating content. It includes details of:

Testing

Site Evaluation

Feedback about the website was collected using an online survey. It used a mixture of Likert scales and qualitative comments. Thematic analysis was used to summarize text responses. Computing students were asked about:

Results were largely positive and justified further development of the entire project.

Analytics

Plausible analytics anonymously track which pages users are visiting. This includes 404 pages and terms they search for. Monitoring these enabled me to fix broken links, and let the research team know which content may need more attention during teaching, either to ensure the site is up-to-date or to cover in seminars and lectures.

Project Evaluation

Through the project, I bolstered my web development experience with a comprehensive framework and learned about the significance of both physical and cognitive accessibility on the web. Along with encouraging survey results, students reported that the filter controls were useful for them and I developed the features so they may be extracted. This means I can bring my learning forward to future projects. During my time on shu-dev, I had another role supporting academics in the delivery of their seminars, where I saw first-hand how useful it can be in a classroom. I used it to help explain specific processes to students and pointed them towards the site when they were stuck on what to consider next.

University policies limited the amount of personal information we could collect about students - with good reason too. Information was kept anonymous. However, a package like Hotjar could collect heatmaps and behavioral analytics to further inform teaching staff about site use and content students are interested in. I would have liked to implement an inline feedback widget so that users could tell the research team what they thought about the site as they navigated through it. This was vetoed due to valid concerns about spam and collection of feedback not relevant to the project.

My experience didn’t go unnoticed. After being incrementally introduced to project-based modules between 2022 and 2023, shu-dev is set to be integrated across the entire Computer Science and Software Engineering subject group in the 2023/24 academic year. It will continue to serve as a useful resource for student work. Additionally, I presented the project at an internal learning, teaching, and assessment conference2 and co-authored the work as an academic experience paper. This will be presented at the UKICER 2023 conference, which focuses on computer science education.

Jack explaining the general structure of the SHU Dev Process being projected on the screen. The diagram shows the high-level structure of the process in terms of its different phases and the levels of complexity that can be added to different levels of studies.

Presenting the SHU Development Process at an internal conference.

Future

I hope the automated testing is finished in the future. Automatically providing content suggestions based on Easy Read guidelines or other rules is something that can be done with tools like ProWritingAid, Grammarly, and others, but building them into the authoring process is a great way to streamline the work and ensure they are followed. Accessibility is also set to be improved through the introduction of Text-to-Speech functionality. The 2023/24 academic year marks the first time that it will be possible to track feedback across cohorts as they progress through their degrees, opening analysis up to reliable comparisons over time.

The project will continue under the Applied Software Engineering Group at the university.

References

[1] Pressman, R. S., & Maxim, B. R. (2010). Software engineering: A practitioner’s approach (7th ed.). McGraw-Hill Higher Education. [2] ASERG at the SHU Learning, Teaching and Assessment 2022 Conference - https://aserg.codeberg.page/news/2022-09-15-SHU-Dev-Process-LTA-Conference/