I'm doing my final year project, and I'm going to develop a website. I'm interested in using an Agile methodology such as Scrum. Could you please help me in providing the possible steps which I can follow to apply Agile or Scrum in my web development project?
Even on your own you can apply sound project management and agile principles to organise and plan your work.
- Start with thinking through the scope of the whole project by creating a Work Breakdown Structure (WBS); discuss these with your teachers so you have a good agreement with your stakeholders
- You can use a (Personal) Kanban board to track your progress; breakdown the WBS into appropriate user stories or tasks and fill up the board; a daily stand-up is a bit silly on your own, but do keep the board up-to-date as it will help you plan your work and keep you motivated
- Plan the development into sprints with a defined (finished) deliverable; this will improve the management of your progress; if possible demo these to your teachers and discuss the next sprint scope when changes have to be made.
- Take changes seriously; don't just add them to your to do list because you're just on your own; add them to the backlog instead of rushing into them; reflect how this might impact the sprint or the (agreed) end-result and plan them accordingly
- have a "retrospective" at the end of each sprint; either on your own or also with your teachers or maybe with a peer student: reflect on what went well and what can be better and apply your findings in the next sprint.
- Do some lightweight documenting of your project approach (WBS,spint-planning; pictures of the Kanban Board; proofof sprint deliverables ...); this will improve the professionality of the end result (but of course won't do you any good if there are issues with the website ;-) )
In case you are working alone you don't really need Scrum, because it is for teams. Have a look at eXtreme Programming, because it has a great set of ideas how to work effectively with software. You can skip the internal cooperation related ideas, because I assume you can work with yourself without any problems.
If you develop web sites I strongly recommend to do the rails tutorial even if you have a different platform. It will show you how to develop a website in a smart an effective way, using enough testing, thinking about deployment, source control management etc.
I agree with Stephan, Personal Kanban in this project is perhaps the most appropriate solution.
Not only you can track work progress, but also after the end of each stage, you can pick up some stats from which you can see if and where you have problems in the project, if your tasks are well planned, or which takse most time.
For everything that is written by Stephan I would recommend collecting some information about the tasks like:
- Start and end time
- Estimated time of execution
- Categories of tasks
This will allow you to check where you are with your project and if something in your work should be changed. You can use it during the retrospectives.
I recommend looking at the following materials:
- Personal Kanban [Video] - With Jim Benson
- Personal With Kanban you can! - By Vicki Davis
- Personal Kanban: A Journey - Article
This may help you understand the idea of this approach,
I recommend Kanban method for your web development project. Have a look at this page to grab more information about applying Kanban in a web development process: DevOps Kanban. I'm sure that you will find here all you need.