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 Using Gantt charts

Visible to anyone in the world

When I worked as a software engineer our development manager insisted on weekly meetings. During these meeting we looked through our Gantt charts to figure out how much progress we had made, and whether our expected delivery times had changed. Our charts were updated. Progress was recorded and adjustments were made. This may have included adding additional tasks, or reallocating tasks to other engineers. I never really liked these meetings, since I initially felt I was being micromanaged. It was only over time did I see the benefit of these regular meetings. They were important to my line manager since, after all, he was accountable if we were not able to deliver the products we were building.

Project planning and management is an important part of TM470. The project management approach (or project model) chosen for any project depends on the nature of the software project that is being created. In turn, any representation of a plan must reflect the model that has been chosen.

I see Gantt charts as useful tools that help us to visualise and understand what needs to be done. I also view them as representations that can and do change. During your TM470 project I feel it is important to keep track of those changes. This is why I recommend that everyone creates a Gantt chart at the start of their project, takes a copy of it, and regularly updates it during the course of the project.

Make a habit of updating your Gantt every week. Be your own micromanager.

By the end of your project, the two version of your Gantt chart will be really helpful in terms of helping you to reflect on how your project went. 

To make things easier for your EMA examiner, a suggestion is to provide a summary of the key tasks that are described in your Gantt chart. A summary of high level tasks helps your examiner to get an overview of what you present in your account of project work section.

When planning your project, other representations such as PERT charts could be used, but Gantt charts are easier to work with. When I worked as an engineer, I used MS Project which was pretty easy to use. There are now many different online tools that products that can be used, and a lot of different spreadsheet templates (but the investment in time in using a Gantt tool can often pay off).

The following articles may also be helpful:

Permalink
Share post
Christopher Douce

TM470: Considering planning

Visible to anyone in the world

When considering planning, I’m minded of a familiar glib phrase: “if you fail to plan, you plan to fail”. When it comes to TM470, planning is really important. Effective project planning is the backbone which holds up your project. Also, a big bit of learning that can come from TM470 is learning about planning, and how to maintain a project plan during the course of a project.

Importantly, planning is mentioned very clearly within the EMA learning outcomes, for example:

LO9. Plan and organise your project work appropriately, and keep systematic records of plans, progress and outcomes.

To get a distinction for this criterion, you must provide evidence that you have: “clearly planned and accurately managed progress in relation to the original plan” and that you understand “what has gone well and what has not gone to plan.”

In the EMA summary, it is suggested that you should provide evidence of your ability to: “plan and organise your project work appropriately, and keep systematic records of plans, progress and outcomes”.

This leads us to some questions: what kind of records do we need to provide, and how do we go about creating a plan?

To begin with, there’s a lot of practical advice within the ‘planning and organising a project’ module resource, which offers a lot of helpful advice and some helpful background information. A recommendation is to get a printout of this.

Your first TMA emphasises planning. This TMA assessment guide suggests that your first assessment should have three main sections: “preparing for and planning your project; the project work; reviewing and reflecting upon your planning and preparation, and project work”. In other words: what you are doing to do, what you have done, and what points you have to share about what you have done.

This is expanded in one of the tables that can be found within the TMA 1 guidance, which offers the following points which relate to planning: 

  • Outline of the major tasks and subtasks within the project at an appropriate level of detail to enable your tutor to assess the viability of your project.
  • Choice and justification of a lifecycle model for its management. Within the context of the chosen lifecycle model, a schedule for completing the tasks and subtasks.
  • An outline of the resources and skills needed and the methods you are considering using, taking into account the risks and how these will be minimised.

What to provide

Your first TMA (as well as your EMA), you need to provide the following:

Choice of lifecycle model: you need to justify what overall project management approach you have chosen. There is a useful resource about this in the module materials. Different projects will necessitate the choice of different models. Choose a model that works for you and your project, and justify your choice. A practical suggestion is to provide a table. Say something about each of the different modules, saying why a particular approach either is or isn’t appropriate for your project.

Table of tasks: Give your tutor a very high level of the things you’re going to do as a part of your project. You could think of these in terms of project phases. Keep it high level. Again, use a table. Give each task a name, a potential start date and end date, and a brief description, providing no more than a sentence. Your choice of project model will help you to form your task table. Your table s will help your tutor (and your examiner) to get a good idea about what you’re going to do to solve your problem. 

Table of resources: The resources you use within your project are important. Although the primary resource is yourself, you may need to get other people involved in your project. If you’re doing an interaction design project, you might need some help with the evaluation of your designs. If you can’t get hold of ‘ideal’ users, you can also use proxy users (such as friends or family members); users who are pretending to be your target users. You also might need to use software tools, or maybe even some cloud computing resources. Like with the tasks, do share everything in a table. Try to describe everything as succinctly as possible.

Gantt chart: Gantt charts are really useful tools. When you have created your task table, have a go to great a Gantt chart for your project. Aim to have two Gantt charts. Create one at the very start of your project, make a copy of it and save it somewhere. When you start work on your project, maintain a Gantt chart to reflect progress on your project. Submit a copy of your chart for your first TMA. When you get to your EMA, submit both your first Gantt, and the one that you have maintained throughout your project. By looking at the one that you had at the start, and one that you had at the end, you will be able to see the difference between what you thought would happen, and what actually happened.

On the subject of Gantt charts, you can create them in different ways. If you are working on a company, you might be able to use of products such as Microsoft Project to help you to plan your project and to create a Gantt chart. Another approach is to make use of an number of Gantt chart templates for Microsoft Excel.

What to do

There is some good guidance about planning within the module materials. In terms of creating a Gantt chart, I recommend that you do, and take account of the following:

  • Record all your TMA cut off dates as milestones. If you’re studying multiple modules at the same time, do put these in too.
  • Do make a note of time that you need to allocate to writing and submitting both your TMAs and your project report (your EMA).
  • Make a note of when you’re going to be on holiday and put these dates on your chart.
  • Make a note of any other non-working time. For example, if there are any family or work responsibilities that need to be attended to, make sure you make a note of them.
  • Begin to record high level tasks, or project phases that match your choice of project model.
  • Within those phases, attempt to break them down to one or more subtasks.
  • Consider the risks that might apply to your project. (There will a blog post about TM470 and project risks. When you get to your EMA, project planning and project risks should go into the same section).

Some accompanying thoughts are: 

  • Do expect to change your plan during the course of your project.
  • Don’t prioritise your plan over your project. If you find yourself spending loads of time on the plan, you might need a simpler plan, or find another way to plan, or choose a different tool.

Some important tip that I share with all project students are:

  • Create a project log. This could be something as simple as a Word document, which has dates for headings. Use this to make notes of what you’ve done. This could only be a few sentences; it doesn’t have to be anything very detailed. You can also use your log to make a note of what you have learnt.
  • Email your tutor regularly, ideally every two weeks, just to keep them informed of what you’re doing. You might think about emailing your tutor sections of your log.
  • When you compile your EMA, you can put a copy of your project log, or emails, or both into an appendix. Doing so relates to learning outcomes LO5 and LO6, where to get a distinction, you need to provide evidence of having “worked under own supervision, communicating regularly and accurately in respect of progress” and “sought guidance when needed, but offered own ideas when doing so”, and “has clearly recognised new skills and knowledge”.

Reflections

When you get to the end of your project and you have to write the reflection section (which accounts for 20% of the overall mark) if you have made a good plan, and have your original plan, you will be able to say something about what went well, what didn’t go well, and what you have learnt about running a project. Of course, you should also be saying something about what technical skills you have further developed too. Although project planning isn’t very exciting, it is pretty important, and it is also important to get on top of it early. One of the jobs of your tutor is to offer you some practical advice about how your plan might be further developed or improved.

Acknowledgements

Many thanks to the TM470 project team who have prepared some very helpful materials on choosing a project model and carrying out a project planning.

Permalink Add your comment
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: 3189592