OU blog

Personal Blogs

Christopher Douce

TM470 Resources

Visible to anyone in the world
Edited by Christopher Douce, Wednesday 5 November 2025 at 16:42

This post shares some resources that might be useful during the course of your project module. Some of what is presented here may be already familiar to you, having studied earlier modules.

What you will need will, of course, vary depending on your project. You will need to make choices about what you need. In your project report, you also need to say something about why you have chosen what you have chosen. Also, do remember, that what you find might be even more helpful than what is given here.

Diversity, Equality and Inclusion

In the UK, the Equality Act 2010 is an important piece of legislation, which defines a number of protected characteristics.

When it comes to computing projects, the W3C WAI WCAG is an important resource, especially if your software product makes use of web technologies.

Ethics

Software systems affect people and society. Requirements for software systems can come from people and society. Wherever there is people, there is also ethics. Computing professionals must behave in a way that is ethical. To help with the Legal, Social, Ethical and Professional Issues, the following sets of guidelines are considered to be helpful:

Gantt chart tools

As suggested in earlier posts, it is a good idea to create a Gantt chart for your project to create an overview of what you expect will happen and when

It is completely up to you how you create your Gantt chart. You might choose to create one using many of the different spreadsheet templates that are available. Alternatively, you could download a software package, such as Project Libre Desktop which is an alternative to the popular Microsoft Project package.

Another approach would be to use one of the many cloud-based Gantt tools that are available, such as GanttPro. These cloud-based products often offer a trial period, after which you have to pay a monthly fee.

Every tool has its own advantages and disadvantages and will have learning curve if you haven’t used one of these tools before.

Generative AI

GenAI can be considered to be a useful resource, but it must be used with caution. Every student has access to a Microsoft product called CoPilot. If AI is used in the creation of code that is used within a software solution, you must document what prompts have been submitted to which language model. If you use AI as a part of a solution to a wider problem, it is important and necessary to discuss the implications of its use, in terms of risks, ethics and bias.

University level guidance is available through this resource: Generative AI in learning, teaching and assessment at the OU. This provides a link to guidance for students. Guidelines for referencing the use of GenAI can be found, in part, on the CiteThemRight website.

Literature review

The literature review is, as suggested earlier, a summary of all your reading that has contributed to the development and completion of your project. Whatever you mention in your literature review rection should be used or applied in some way.

In addition to some of the skills resources that follow, the following resources may be useful:

An introduction to software development Open Learn Badged Open Course (BOC), which contains a very useful section, Finding and reading academic articles.

Srinivasan Keshav’s article entitled How to read a paper offers some practical guidance about how to read and analyse an academic article.

Project management resources

All the guidance you need to complete your project is presented within the module materials (and within this accompanying guide). There are, of course, other resources in the world that can offer some complementary guidance.

One such resource is the Project Management for IT-Related Projects: 3rd edition, published by the British Computer Society (BCS). You don’t need to buy this text, but you may be able to access parts of it through the OU Library.

Although this text is intended for industry professionals, it may be useful for your project. The guidance about project models reflects some of the advice shared in module materials.

Prototyping tools

There are different approaches to prototyping. One of the simplest and most useful tools is, of course, pencil and paper. It is acceptable to draw prototypes of your software product and share these within your project report. An earlier article, TM470 Considering prototyping offers a bit more guidance about the concept of prototyping.

If you wish to use a tool to help you with your prototyping, the following might be useful:

If you wish to go beyond creating prototypes of user interfaces, you could use other tools to create prototype designs of your software system. One such tool is Visual Paradigm which can be useful with drawing of UML diagrams, and diagrams that describe cloud computing infrastructure. Other cloud-based drawing tools could, of course, be used.

Products such as Balsamiq and Visual Paradigm can be used with an academic licence.

Further academic guidance about prototyping can be found in the following text book:

Sharp, H., Rogers, Y. and Preece, J. (2023) Interaction design : beyond human-computer interaction. 6th edition. Milton: Wiley. 

Which is available through the OU Library

Risk assessment and management

Accompanying the description of the lifecycle model are two useful sections: risk assessment and risk management. Risk assessment concerns with considering what the risks to your project might be. Risk management concerns with approaches to deal with those risks. The risk assessment approach presented in the module is relatively simple. It considers risks in terms of impact and likelihood, which is sufficient for the needs of your project report.

Every project is, however, different in the ways that it need to take account of risk. Some wider issues that might be helpful includes the NIST Cybersecurity Framework. There is also ISO 27001, an international standards which concerns information security. Risks can be managed not just in terms of how technology is used, but also how human processes are applied.

Skills, writing and studying

The following links offer some useful practical guidance about writing and studying:

Within the library pages, the following two pages are particularly helpful:

Do also refer to sections in this guide that refer to the writing of your project report and the appropriate uses of Generative AI.

Software development tools

Your choice of tools will depend, in part, on the characteristics of your project, and what skills you wish to develop. An important tool is the integrated development environment (IDE), which often integrates together a text editor, a debugger, and a way to run your software. IDEs can also be connected with version control software (to keep your software safe) and AI assistants, which help you with your learning. Historically, IDEs used to focus on a single programming language, such as Java or Python. Popular IDEs now work with multiple programming languages.

What follows is a useful summary of some popular IDEs:

Apache Netbeans. Netbeans primarily supports the Java programming language but can be used with other languages through extensions.

Eclipse. Eclipse is an enterprise level ‘cloud native’ IDE that supports a wide variety of languages.

IntelliJ. IntelliJ is a popular commercial IDE that was notable for its usability and functionality. A ‘dev toolkit’ pack is available for students.

Microsoft Visual Studio Code. Visual Studio Code is notably the most popular IDE. It can be used with multiple languages. VS Code is not to be confused with Microsoft Visual Studio, which is a different similarly named product.

PyCharmPyCharm is a Python IDE from JetBrains who also have created IntelliJ. An alternative tool for Python developers is the Jupyter Notebook environment.

Software testing

A thorough project will move through an entire cycle of gathering requirements, implementing those requirements, through to carrying out of testing to make sure that requirements have been implemented correctly.

There are a number of tools that can help with the software testing (which is not to be confused with usability testing).

In terms of source code, there is a unit testing framework which is known as xJunit, where the ‘x’ refer to the initial of a programming language. The xUnit.net site relates to a unit testing framework that can be used with a number of different Microsoft .NET languages. JUnit.org if specifically concerned with unit testing of Java code. There is also PyUnit which concerns the testing of Python code.

Unit testing is testing that operates at a low level. Moving up a level, there are other tools, such as Cucumber. There are other tools out there, such as Selenium, but this takes us beyond the boundaries of a project, and towards testing at an industrial level.

An important point to remember is that the extent of testing that is necessary depends on what the impact of errors might be. Testing is guided by risk.

Version management

It is important to keep the software you create safe. The best way to do this is to use a version management system. The dominant tool used for version management is called Git. Git allows you to save your software into a safe repository called GitHub. The following introductory videos offer some useful explanations:

To begin to use Git, you must install the Git software on your local computer. If you are using Windows, you will install something called a ‘terminal’, MinTTY, which allows you to execute Git commands and upload your code to GitHub. There is also a graphical user interface version, but in terms of gaining practical experience, it is best to use the terminal (unless, of course, you manage to use Git as a part of your IDE).

By way of further information, the following resource is helpful: Ponuthorai, P.K. and Loeliger, J. (2022) Version Control with Git. 3rd edition. O’Reilly Media. Appendix A, History of Git, offers a lot of useful background information, which is worth a read.

Reflections

It is hoped this blog post offers some useful resources to complement what is shared within the module materials. Since your project is intended to be an individual project, I have not covered tools that support collaboration in an agile environment, such as Jira. Similarly, I have not shared resources that concerns covered cloud computing, since there is no need to consider deployment beyond your own personal computer, unless you decided this is an important element of your project.

A key point is that you must choose resources that you feel you need to use and apply within your project. You also should find the time to write about what these are. You should also say something about the skills you need to acquire to use or apply these resources.

A final note: none of the software products mentioned here are official university recommendations; these are personal opinions (which may, or may not, be useful).

Permalink
Share post
Christopher Douce

TM470 Considering project risks

Visible to anyone in the world
Edited by Christopher Douce, Thursday 18 April 2024 at 17:05

The nature and character of risk can influence your project in a big way. 

To begin, it is perhaps useful to define what risk means. Drawing on the M815 project management module, I have found the following two definitions:

‘The potential of situation or event to impact on the achievement of specific objectives.’ (APM, 2019, p. 215)

‘An uncertain event or condition that, if it occurs, has a positive or negative effect on one or more project objectives.’ (PMI, 2017, p. 10)

Fundamentally, risk can influence your choice of project model, and directly influence how you gather requirements. If everything is known, and you are not going to be doing anything risky, you might opt for a simplistic project model. If there are elements of your project that you know nothing about, and have never done certain tasks, you might choose an iterative approach.

When you have chosen a project model for your project, you can then start to think about how risk will potentially influence the different phases of your project. To do this well, you need to a number of things:

Write your risks down. By doing this, you will begin to create what is sometimes called a risk register. 

  • The next task is to consider how important your risks are.
  • You the need to consider how to deal with those risks.
  • In some cases you may choose to mitigate against risks. In other words, if these risks were to appear, you need to know how to respond to them.
  • After having done this, you then need to make some changes to your plan. You might, for example, choose to add more slack into certain elements of your schedule if you need to use some of your mitigations.

When it comes to TM470 you should be carrying out risk planning from the very start of your project since it can guide what you do. Importantly, LO3 directly relate to how you deal with risk:

L03. Identify, list and justify the resources, skills and activities needed to carry out the project successfully. Identify and address any associated risks

To gain a distinction, you must have

… identified the resources, skills and activities, the timely availability of which is essential. Has judged risks appropriately.

Module materials

There are a number of sections within the TM470 module materials that you should look to.

Section 2.5 Risk in project lifecycles: This section relates to the point that the structure of your project may well be driven by risks.

Section 3.2 Risk Assessment: This section encourages you to consider risk in two different ways: impact, and likelihood. There are three different levels of each. A practical suggestion is offered; you might want to think about creating a risk table (which is a bit like a mini risk register). The decision on how you present and summarise your risks is, of course, up to you. It is, of course, dependent upon your project.

Section 3.3 Risk management: This is about how you deal with the risks that you identify. Do you avoid a risk, find a way through, or accept that something is a risk?

Risk analysis

In the TM470 FAQ a fellow tutor, Karl Wilcox, has written about the notion of risk analysis, which extends what is mentioned in sections 3.2 and 3.3. Karl begins with a simple question: where do risks come from? Karl offers some practical advice:

‘One primary source is the list of resources that you need for your project (which is why we ask you to provide one). Since you have identified a need for each of those resources, the lack of any resource will affect your project plan to a greater or lesser extent. Some might be trivial but you should definitely go through all your resources and ask yourself whether each one should have an entry in your risk register or not.

The other main source of risks is "external events". Obviously, you need to be a bit sensible about this and really just consider events that apply specifically to you, so illness, illness of a family member, unexpected work commitments, etc.

Finally, there is a smaller source (that may not be relevant to your particular project) but is there a possibility that some part of your project turns to be impossible? (Or more likely, prohibitively difficult). Do you need to develop new skills? (Another reason we ask for a list of these…) What if it turns out that something just doesn't "click" and you find that skill too hard? Are there any possibly technical or legal or ethical issues that might arise?’ (Wilcox, 2024)

Karl relates a number of potential risks to the different tables that you have been asked to create. For each skill or resource, is there an accompanying risk?

How do we deal with, or mitigate our risks? Karl offers some practical advice, which I abridge for brevity:

‘These [mitigations] can take many forms, from exploring alternatives, adding in contingency time, or sometimes carrying out activities specifically to minimise risk, or at least to bring forward a better understanding of them. … Active steps include things like taking backups of all your work to mitigate the risk of hardware failure, or replacing a laptop that you know to be a bit flaky. If you need input from other people, can you at least get some time in their diaries now, rather than leaving it until later to find out they are not available?

In reality, especially with the limited timescale (and limited personnel resources!) of a TM470 project the most likely response to a risk actually arising is "do fewer things", but again you can prepare for this. Are there parts of your project that you can consider as "stretch" goals, to be achieved if everything goes well but that can be set aside if things go ill? Can you perhaps arrange your plan so that a crude "prototype" of your final deliverable can be developed early, so at least you will have something working if things fall apart at a later stage?’ (Wilcox, 2024).

Karl’s comments about ‘stretch goals’ is both interesting and useful. Another way to think of this is in terms of what a ‘minimum viable product’ might look like. Here we can see an implicit link between the project model and risk. For example, if things do go ‘ill’, we may well wish to curtail a final iteration (if we adopt an iterative lifecycle, of course).

It is worth noting that Karl takes all this pretty seriously: 

‘So I don't see the "Risk Analysis" part of TM470 as simply being a "paper" exercise, in which the construction of a risk register listing risks, likelihood, impact and mitigation for a dozen or so factors is presented in TMA01 and then ignored. That may well gain you some of the marks but it can actually be a genuinely useful exercise that will affect what you do and how you do it and give you a much better chance to complete the project to your own satisfaction and gain better marks all around!’ (Wilcox, 2024).

The Risk Register

Following on from Karl’s FAQ, fellow tutor Trevor Forsythe shared a forum post with his TM470 students, outlining what types of information that you might hold in a risk register. His post had been based the PRINCE2 approach to managing risk (PRINCE2, 2024).

Trevor began by writing: ‘this is one of those learning outcomes that is regularly reviewed, and we are looking to see how students assess and manage risk. A quick search of the Internet will identify a number of risk templates either in word or Excel formats. There is no mandated template to use so you will have to identify one that you think works for your project. As an example, a risk register could contain the following …’

What follows is an abridged and edited version of what Trevor shared (which draws on the PRINCE2 original):

  • Risk identifier: Provides a unique reference for every risk entered into the risk register, typically a numeric or alphanumeric value.
  • Date registered: The date the risk was identified. This is helpful with knowing whether the current version of the risk is the one that is up to date.
  • Risk category: The type of risk in terms of the project’s chosen categories (e.g. schedule, quality, legal, technical, learning, hardware). 
  • Risk description: The risk in terms of the cause, event (threat or opportunity) and effect (in words of the impact) e.g. "my hardware could fail and I lose all my software development".
  • Probability impact: It is helpful to estimate the inherent values (pre-response action) and residual values (post-response action). These should be recorded in accordance with the project’s chosen scales.
  • Proximity:  This would typically state how close to the present time the risk event is anticipated to happen (e.g., imminent, within the management stage, within the project, beyond the project). Proximity should be recorded in accordance with the project’s chosen scales.
  • Risk response: Actions to be taken to resolve the risk. These actions should be aligned with the chosen response categories. Note that more than one risk response may apply to a risk. For example "regular backups of software and configurations will be made into a cloud storage system e.g. OneDrive or Dropbox”.

Materials from other modules

Although TM470 is primarily intended to build on your earlier level 3 studies, if you have previously studied TM254 Managing IT: the why, the what and the how, it is worthwhile visiting Block 3, Part 6: Software quality, risk and risk management. In this block, there are three sections which have particular relevance to TM470, which are: Section 3.1 Categories of risk, Section 3.2 Risk assessment, and Section 3.3 Risk management. It is also worth noting that the TM254 module website (which you may still have access to, if you finished studying this module only a few years ago) has an extensive glossary, which defines the terms: risk register, risk mitigation, risk management, risk exposure, risk reduction, and others.

Although risk isn’t explicitly studied in TM353 IT systems: planning for success, it might be useful to review Block 3, Part 3, Part 3 – How to recover from failure: Business Continuity Planning, which includes a Business Continuity Management Toolkit.

Looking forward to the OU postgraduate module, M815 Project Management, sees the link between risk and project planning and management discussed and handled in quite an extensive way. Risk management is, of course, a subject all of its own. 

Summary

Risk can guide not only what is done, but how things are done. In TM470 LO3 indicates that you need to demonstrate your understanding of risk, and how it relates to your project. For the sake of TM470, a practical approach is necessary. It is important to keep things simple (since the project only lasts for a relatively small amount of time), but it is important to make sure that risks are clearly and carefully considered. A practical recommendation: create a risk table, and keep it updated throughout your project. When you get to the end, make sure you reflect on your approach to risk, and what you learnt from it.

References

Association for Project Management (APM) (2019) APM Body of Knowledge. 7th edn. Princes Risborough: Association for Project Management.

Prince 2 (2024) Prince2 wiki: Risk Register. Available at: https://prince2.wiki/management-products/risk-register/  (Accessed 15 April 2024)

Project Management Institute (PMI) (2017) PMI Lexicon of Project Management Terms. Version 3.2. Available at: https://www.pmi.org/pmbok-guide-standards/lexicon (Accessed: 15 April 2024). 

Wilcox, K. (2024) Risk Analysis - what makes a good one?  TM470 FAQ.

Acknowledgements

Many thanks are ended to Karl Wilcox and Trevor Forsythe whose words have directly found their way into this article. Thanks are also extended to the TM470 module team, and the other module teams that are mentioned: TM254 and TM353.

Permalink
Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 3188509