A hackathon is defined as an event in which computer programmers and others involved in software development collaborate intensively on software projects. Hackathons are also about bringing people together for a common cause or goal. At Texas.gov, we embraced the spirit of collaboration, innovation, ingenuity, and agility by recently hosting our first hackathon. In addition to producing viable solutions, our hackathon generated team pride, enhanced core technical and soft skills, identified key success factors, and modeled a lean delivery approach. This presentation will showcase exactly how Texas.gov hosted our hackathon, what the outcomes and lessons learned were, and how we benefited from the experience.
3. What is a ?
An event where
programmers and
others involved in
software
development
collaborate on
software projects
to achieve a
common goal.
Lean, agile, rapi
d development
of a solution
(not necessarily
software).
Hackathons can
be used for non-
technical
situations
(e.g. cost
reduction
initiatives)
6. Started with technical brown bags 5 years
ago
Progressed to “all hands on deck” workshop
2 years ago
Leverage prototyping and proof-of-concept
for new possibilities
Recently held 1st 24-hour
through grass-root interest
Evolution at
8. Good night’s sleep
Large room with
whiteboards, sunlight, bright
lights, hydration supplies, and lots of food
Laptops/notebooks with access to existing
SDLC toolset
Guaranteed support structure (operations)
for day-to-day production support
Logistics
10. 9:00 am start time; offsite conference room
~20 people – web services, user
experience, and server-side web developers
All-hands standup to discuss goals
Input from team on execution approach –
chose Agile Scrum
Hackathon
Itinerary
11. Build a mobile app that scans a
QR/bar code to renew service
Build a tool to help Finance
team with monthly close
Things under control: renewal
service, payment
service, technologies, financial
knowledge
Unknowns: QR code scanning
Initial Standup
12. 4 Scrum teams
to handle:
Bar code scanning work (biggest unknown)
Creating/utilizing web services needed
Web design & development activities for
app
Financial tool for monthly close
Team Formations
13. Release planning
– 4 sprints, 4 hours each
Sprint planning
– Select features from product backlog
– Finalized acceptance criteria
Sprint standups
– Discuss progress across teams
Sprint review &
retrospective
– Teams demonstrated functionality
– Discussed new findings & solutions
– What worked, what didn’t
– Improvements for next sprint
Hackathon Day Ceremonies
15. Reusable services
Reusable assets (e.g. view templates &
themes)
Scaffolding
– Ruby on Rails
– Groovy on Grails
– ASP.NET Dynamic Data Scaffolding
– Spring MVC Scaffolding
Mobile first technology
Mock capabilities
Contract interfaces
Technologies for Success
16. License procurement for
scanning software
Bullet-proofing
Security scanning
Show & tell for overall team
Coordination with partner for production
release plan
Celebrate!!!
Follow-up Activities
17. Hackathon
Benefits
Team building
Employee satisfaction
Learn execution experience
Solve problems
Prototype for new opportunities
Reduce investment risks with proof-of-concept
Improve culture by demonstrating a “can do” attitude
backed by results
18. A New Card in Your Deck
New project execution plans
Emergency handling
Sustained annual planning
And more ….
Oceans 11 is movie about a group of friends getting together to try and score the biggest heist in history by robbing 3 casinos simultaneously.This team of 11 members, all from different backgrounds and with different skillsets, come together to work toward a common goal - $150 million.
Hack-a-thon apart, We also host monthly innovation lunches where everyone from the organization is invited. We show innovative ideas and also use the meeting to help with ideation process. We asked the team to come up with ideas for what we should build at our first hack-a-thon. We got several ideas and voted online to select most popular idea.We used survey tool to seek the input from everyone at Texas.gov. We conducted the voting on the captured ideas. The selected idea was to build a native application for one of our government partners. But, on the day of hack-a-thon, we figured that we didn't have all the data to build it and may need to make up the data. One of the main goals (in true spirit of agile principles) was to build a production ready application in a day. We made a team decision to build a similar application. For the new idea, we had all the integration points and the data available to build a production ready application. So when you do this first time, don’t panic and make decisions that will help with successful completion of the hackathon. Few people on technology team also offered to help with solving one of the challenges for Finance team.
Even if you can’t provide accommodations like the Bellagio – the scene of the Oceans 11 crime, you still need a large room, bright lights, sunlight, etc.
Release plan: Release planning refers to planning activities used to estimate when software will be released into product use. Activities include projecting the level of effort in terms of the number of iterations that will be necessary to deliver the desired features. This is typically done by extrapolating the development team's performance on the basis of its velocity.Epics: A very large user story that is eventually broken down into smaller stories. Epics are often used as placeholders for new ideas that have not been thought out fully or whose full elaboration has been deferred until actually needed. Epic stories help agile development teams effectively manage and groom their product backlog.User Stories: Velocity: Velocity measures how much work a team can complete in an iteration. Velocity is often measured in stories or story points. Velocity may also measure tasks in hours or an equivalent unit. Velocity is used to measure how long it will take a particular team to deliver future outcomes by extrapolating on the basis of its prior performance. This works in Agile development, when work is comprehensively completed after each iteration.Sprint Review: A meeting held at the end of each sprint in which the Scrum team shows what they accomplished during the sprint; typically this takes the form of a demo of the new features. The sprint review meeting is intentionally kept very informal. With limited time allocated for Sprint review prep. A sprint review meeting should not become a distraction or significant detour for the team; rather, it should be a natural result of the sprint.Retrospective: A time-boxed meeting held at the end of an iteration, or at the end of a release, in which the team examines its processes to determine what succeeded and what could be improved. The retrospective is key to an Agile team's ability to "inspect and adapt" in the pursuit of "continuous improvement.”Sprint Planning: Each sprint begins with a two-part sprint planning meeting, the activity that prioritizes and identifies stories and concrete tasks for the next sprint. For a one-month or four-week sprint, this two-part meeting should last eight hours; for a two-week sprint, it lasts about four hours. As a general rule of thumb, the number of weeks in a sprint multiplied by two hours equals the total length of the spring planning meeting.Product Owner is one of the key roles in Scrum. The product owner is the primary business representative who represents the business stakeholders' "voice of the customer" and the "voice of the business" to the sprint team. The responsibilities of the Product Owner include:Establishing, nurturing, and communicating the product visionCreating and leading a team of developers to best provide value to the customerMonitoring the project against its ROI goals and an investment visionMaking decisions about when to create an official releaseScrum Master: The Scrum Master is responsible for maintaining the Scrum process and the overall health of the team. The Scrum Master assures that the team is fully functional and productive. The Scrum Master performs this role by administering the Scrum ceremonies, facilitating the organic self-organization of the team, and removing any obstacles that may be impeding the team’s progress.What the Scrum Master is not:The Scrum Master is not the task master, since the team is responsible for assigning its own tasks.The Scrum Master is not the supervisor of the team, since the supervisor/subordinate relationship may impede the organic self-organization of the team.Team: In agile software development, the team refers to the cross-functional group of people that have made a collective commitment to work together to produce the work product and improve their performance over time. In addition to software development and test roles, the team may include any skill set necessary to deliver the work product.Stakeholder: Anyone external to the team with a vested interest in the outcome of the team's work.
All-hands standup to discuss the goalDecided to build similar application like selected oneSought input from the team for creating an execution approachWent with Agile Scrum approachFinalized to do four 4-hour sprints
Reiterate team working toward common goal – very close working relationship
Sprint activitiesWhite boardingCollaboration for best solutionCodingTestingIntegration of different partsShow & tell
Oceans 11 used technology to rob casinos, we used technology to build Mobile DR Renewal app
Hackathons can add a new card to your deck - they are not just about software development; it teaches people new ways of thinking They can be used for new project execution plans, emergency handling, sustained annual planningIf you’re interested in doing this yourself … come find us, we’re here to help<EW Notes: possible updated title for this slide along the lines of “New hand in the deck”; will also weave in following points: Not all about software, teaches people about new ways of thinkingCome find us if you’re interested in doing this yourself … we’re here to help if you’d like>
Create your own Oceans 11 – hackathons will help you take Vegas (or your organization and/or your customers) by storm