Booked [JK09] Dashboard for lean project managers using GitHub

Project overview

When used well, Kanban boards can help a team adopt lean software development principles, such as limiting work in progress and working at a continuous, steady pace. Inexperienced student group project teams often fail to achieve Kanban boards for that purpose, even though they use effective tools such as Kanban boards. This project aims to develop a tool designed to help students and lecturers track and summarise what happens in a Kanban board on Github, with a view to provide project management information and help identify ineffective use of Kanban boards. Specifically, in this project, a Ruby on Rails application will be developed that monitors activity on a Kanban board, stores instances of the board and produces analytics about the team's activity and progress.

This work involves three main challenges. The first challenge of this project is to retrieve Kanban board data using GitHub's API and keep this information up-to-date as it changes. You will not only have to track what the latest version of a board looks like. You also have to maintain the changes as well, such as introduction of cards and movements of cards. Your system will also need to track changes in workflow. With this, it becomes possible to compute data about the project that can be used for forecasting and estimation. The second challenge of this project is to produce useful project management information from the data generated. For this, you will need to review the literature on this subject. The third challenge of this project is to evaluate the final system that was produced.

Ideally, you should aim to be confident that you are able to meet the first two challenges by the end of term 1. In other words, you should be able to retrieve the required tracking data from GitHub and have produced a good literature review of agile project management and associated estimation and planning techniques.

Initial background reading suggestions

As initial reading suggestions to get started with the project, I suggest you read a good book on agile project management. For example, a good starting point would be: Cohn, M. (2006) Agile Estimating and Planning. Prentice Hall. It is also a good idea to review the relevant GitHub API documentation.

Who is this project for?

This project is aimed primarily at BSc students who aim to begin a career in industry, ideally in software engineering. Ideally, the student who takes this project is organised, capable of tackling a complex problem in a systematic manner and enjoys substantial development work.

Note that you are not required to have a specific idea for features to incorporate in this project. Instead, I would prefer the student taking this project to take some time carefully analysing the project objectives after they have been allocated the project, rather than rush this crucial activity of the project.

Questions about this project

Q: Can I discuss this project with you in person?

A: Yes, I have arrange a project Q&A session on Thursday 27 September, 18:00%—20:00 in Bush House (SE) 2.12. All students in an undergraduate Computer Science programme doing an individual project this year are welcome. I'm afraid it is not feasible to meet all students with questions on a one-to-one basis this week. I am supervising 11 undergraduate projects this year and usually receive 5-6 meeting requests per project on average (because most students explore a range of different projects). As it is simply not feasible to schedule that many meetings in a single week, a group Q&A session seems to me to be the fairest approach to meet everyone.