From idea to prototype in 1 day?

What would be the best way to take a whole-team approach to creating a prototype, refining and planning a Sprint? I’d say a hackathon. Read on to learn more.

Before we start, let’s define what a hackathon is:

“A hackathon (also known as a hack day, hackfest or codefest) is a design sprint-like event in which computer programmers and others involved in software development, including graphic designers, interface designers, project managers, and others, often including domain experts, collaborate intensively on software projects.The goal of a hackathon is to create usable software or hardware with the goal of creating a functioning product by the end of the event. Hackathons tend to have a specific focus, which can include the programming language used, the operating system, an application, an API, or the subject and the demographic group of the programmers. In other cases, there is no restriction on the type of software being created.”

The focus of a hackathon in a Scrum context is:

  • Take a whole team approach
  • Refine specific stories to be ready for solving in the sprint
  • Produce something that can be demonstrated at the end of the session

An agenda for the event could be:

  • 09.00-10.00: Kickoff
  • 10.00-12.00: Work
  • 12.00-12.45: Lunch
  • 12.45-14.00: Work
  • 14.00-14.15: Break (cake)
  • 15.00-15.30: Wrap up and prepare presentation
  • 15.30-16.00: Present output to stakeholders and note feedback

Using the hackathon format requires a mature team that has the mindset and competencies to work together.

The “work” sessions in the agenda relies on self-organization and self-management. As a facilitator I prepare the participants by high-lighting a few ways of collaborating:

  • Mob-programming (1 driver and many navigators)
  • Mini-mob-programming (1 driver and 1 navigator)
  • Pair-programming (2 persons, 1 computer)
  • Swarming (whole team)

It’s important to stress that the list is not pre-emptive but merely a list of suggestions.

To ensure that the team get in “the zone”, I kickoff the event by facilitating them through the following activities:

  1. Product owner and/or stakeholders presents the overall theme for the day. The team discusses the scope and decide what is going to be demonstrated at the end of day e.g. working prototype, powerpoint, drawing. Facilitator makes sure that this step is timeboxed to 15 minutes
  2. Divide the group into pairs each writing one or more user stories for the theme. The exercise is timeboxed to 10 minutes. Takeaway is to narrow down who the target group is, what need is covered and how do we see the outcome
  3. Facilitate the whole team into generating one overaching story to cover the theme for the day. Agreement cross groups on a shared target group, needs and outcome
  4. Divide the team in two groups and let each group build a mindmap using SFDiPOT. SFDiPOT is a mindmapping technique used to sketch out a test strategy. In this case we want to make sure that we look at the story from 360 degrees to make it easier to identify tasks or activities later. Timebox the activity to 15 minutes
  5. Overlap the two SFDiPOT mindmaps to generate one shared mindmap for the story. The facilitator walks through the two mindmaps making sure that all elements are replicated on the final mindmap
  6. The whole team discusses which of the mindmap elements is crucial to test / demonstrate at the end of day and subsequently what could be turned into automated regression test later. As facilitator you mark the crucial elements so they can be identifyed later, e.g. with a circle it out with a red marker

Caveats

  • The stories selected for the hackathon should have as few dependencies to external teams as possible
  • Make sure that the physical location is suited for the event (e.g. network should be fast, there should be a projector)
  • Usage of remote desktop connections should be reduced

Be the first to comment on "From idea to prototype in 1 day?"

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.