Home Development Blog Project Planning
Project Planning PDF Print E-mail
User Rating: / 0
Wednesday, 29 September 2010 11:02

I have been doing some research into Scrum, a development process involving iterative cycles, each cycle aiming to deliver a completed subset of the desired functionality.   You can read more about Scrum here.

Although this is a one-man development at the moment, I decided to use some elements of Scrum with myself wearing several hats.   I call it "Scrummy"...



What I was hoping to achieve by taking elements from Scrum was:

  • A good means of tracking requirements and allowing them to grow/adapt over the lifetime of the project.
  • A way to keep my development work on track with effort being spent doing the things that matter most first.
  • Hopefully, an up and working system from the end of the first sprint, even if with strictly limited functionality.
  • And at all subsequent times, a working system with the latest state of useable development.

The second point is needed due to the tendency of programmers to get deeply immersed in the tricky programming problems and skimp on the "simple" bits.   This is all too common and leads to the paradoxical situation that the hardest parts of a project are the most mature.

The emphasis on getting an up and running system as soon as possible is for several reasons:

  • To enable early feedback by having a published system to which I can direct test users without them physically needing to be anywhere near me.
  • To have an example of my work that I can show to prospective clients.



Scrum involves two crucial documents;  the project backlog - a wishlist of functionality written by the product owner and a sprint backlog - a promise list by the development team, of what they can implement during the current 30 day "Sprint".   Development occurs in 30 day cycles ("Sprints") starting with a meeting between the team and the product owner to agree the sprint backlog describing what the team thinks it can do in the time available and based on what the product owner most wants to see first.

At the end of each sprint, the team demonstrates what it has done to the product owner.   After that the next sprint starts with a new meeting to agree a new sprint backlog.

Scrum involves several other roles - the Scrum Master is a facilitator whose job is to help both sides use the Scrum process effectively.   They are not managers - authority and responsibility are invested in the team.   Pigs are team members with the authority to particfipate in the team's decision making process and the responsibility to work within the team to achieve the goals.   Chickens are attendees at scrum meetings, but with no rights to get involved in discussions or decisions - i.e. observers.

Much of Scrum's success in the real world lies in the empowering of the development teams, but this was not really an issue for me here since I am both team, management and product owner.



Wearing my hat as product owner I came up with the following project backlog:

  • Create Website
    • Static website content
  • Introduction/Explanation
  • Webmaster, contact info etc.
    • Dynamic website
      • User Creation/Deletion/Editing
      • Admin Admin
      • Submit puzzles
      • forum
      • Get Puzzle
      • Submit Results
      • Hints
      • Browse Results
      • Submit user-generated puzzle
    • Hosting - get this up and running on a real web address.
  • Web Client
    • Basic guesswork solution interface
    • Hint management
    • Get Puzzle
    • Submit Solution
  • Android Client (afte the web client, but basically with the same functionality.
  • iPhone Client (someday...)



In my next installment I will look at the sprint backlog I selected for the first 30 day sprint.

Copyright © 2019 Crypto League. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.