1. Project management and team working
As a guide, this course has two focal points of assessment built around the same agenda.
As such, you will be working in a team to design, develop and test a piece of software. In terms of the assessment, this culminates in two deliverables:
A proposal for a software project. The first half of the course will prepare you for this, working through a series of iterative design exercises. As a team, you will think about things like requirements, prototypes and research
A final deliverable, which includes your software project, any version control logs and a report that describes the process in detail.
You will be assigned to a team after week 4 of the module and you will work with the same team for the remainder of the course. It is important that you evidence effective communication, collaboration and division of labour in order to be as effective as you can possibly be as a team. You will be expected to work with others in almost any setting, so these are really useful skills to learn.
Please note you will be submitting the proposal for a software project individually in week 12 into the placeholder namely Staff Graded Assignment 5.204 Individual submission of a group project proposal  placeholder that is located in in the end of week 10.
Also you will be submitting the project documentation in week 22 into Staff Graded Assignment Individual submission of the project documentation  placeholder that will be opened 6 weeks before the submission deadline.
1.02 Interaction design
Interaction design, often abbreviated as IxD, is “the practice of designing interactive digital products, environments, systems, and services”.
It is fundamentally concerned with supporting the role of design in the things that people do.
Usability is concerned with building software that is efficient, effective and enjoyable to use.
1.03 Learnability and memorability
Learnability and memorability are related but they are not the same thing.
Learnability refers to how easily your product can be learned. How easy is it for users to accomplish basic tasks the first time they encounter the design?
Memorability is concerned with remembering the product. When users return to the design after a period of not using it, how easily can they re-establish proficiency?
1.04 What is a project? What do we mean by ‘manage’?
Software Project refers to a deliverable component – i.e. something we use.
Software needs to be designed considering the different manifestations of computers. For example, computers may have different CPUs, memory size, IP addresses, languages, etc.
Considering the origins of what we consider the modern internet were built and implement in the 1960s, how is the same technology still working today?
We can think of the core standards that enable internet connectivity as being successful in delivering what is referred to as a Minimum Viable Product, MVP for short.
The Internet is a great example of a successful project, both in terms of doing what it was supposed to do and supporting scalability to a massive degree.
One way to ensure a project is successful by its completion, is to think about our end-users or stakeholders. A simple way to do this is to consider what our users might be trying to achieve while using our software.
It’s important to consider how we will define our goals for our intended systems and plan our actions according to our intent. It’s easy to take a small idea and grow it beyond the scope of what resources we have available, whether that be our budget or timescale or technical capacity.
This can be a simplified way to think about our project as a trade off between three different agendas:
- Functionality – The features provided would dictate our design;
- Resources – A project with an infinite number of possibilities or permutations, one would need an infinite number of resources to build it;
- Time – Projects must have a start and end date. A plan is built around this time budget to ensure the project is delivered at the correct date.
1.05 Tools that the tutor finds useful
Tutor: Here are a list of useful tools that I use in my day to day work to help me manage projects.
Figma – really useful for ideation and planning, but can also be used as part of the iterative-design and development process.
Invision – A really comprehensive and versatile toolkit. One of the best product design toolkits out there.
Jamboard – Google’s equivalent whiteboarding software. You can draw in freehand, create notes, upload media and lots of other things. A classic example of simple but effective!
Jira – Probably the most popular agile toolkit out there. A great tool for planning, handling flow, managing backlogs etc. A lot of agile tools such are baked in.
Trello – Another useful tool when planning the dynamic workflow of a project. A personal favourite of mine both in terms of design and how feature rich it is.
Can I use it? – A good frame of reference if you are doing a web based project to get a sense of what support looks like for different types of tech. While Flexbox and CSS Grid have great support, you have to recognise that accessibility is a substantial consideration given the range of options out there.
Miro – Lots of useful collaborative tools in here. A very useful tool for planning projects.
Marvel – Another useful design toolkit. Free tier is somewhat limited but may be useful for ideation and planning.
There are of course thousands of other tools out there. I would also like to take this opportunity to advocate for pen and paper. Sometimes the simplest solutions are the best!