hackathons: embracing collaboration to achieve results

28
Presented by: Raj Polikepati Director of Application Development Texas.gov Hackathons: Embracing Collaboration to Achieve Results September 17, 2013

Upload: texasgov

Post on 12-May-2015

305 views

Category:

Technology


1 download

DESCRIPTION

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. Join Raj Polikepati, Director of Application Development, as he discusses Texas.gov’s first hackathon. In addition to producing viable solutions, the hackathon: • enhanced core technical and soft skills, • identified key success factors, • modeled a lean delivery approach, and • generated team pride. 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.

TRANSCRIPT

Page 1: Hackathons: Embracing Collaboration to Achieve Results

Presented by: Raj Polikepati

Director of Application Development Texas.gov

Hackathons: Embracing Collaboration to Achieve Results

September 17, 2013

Page 2: Hackathons: Embracing Collaboration to Achieve Results

Texas.gov/Solutions

Presenter
Presentation Notes
Texas.gov helps promote government online services to constituents. We also provide solutions that help government entities streamline business processes, create cost savings, and operate more efficiently. In October 2012, we launched a site where government “do it yourselfers” who like to do their own research can learn more about the services and solutions we offer at Texas.gov. We invite you to visit Texas.gov/Solutions for: Information about our payment products and enterprise services Free demos, webinars, presentations, and datasheets about government technology topics that are important to you How easy it is to become a Texas.gov partner And much more! Now I’d like to introduce Raj Polikepati, Texas.gov’s Director of Application Development. Hi Everyone, I am Raj Polikepati. I am responsible for all things development at Texas.gov. My team develops Texas.gov applications using several technologies. .Net, Java, UX (Html5, Responsive design), Grails, SharePoint for our web applications and Portal. Mobile (iOS and Android, PhoneGap) Service layer: oracle SOA, Business Intelligence: Microsoft BI stack The technology stack has changed with lifecycle of the portal to help build the maximum value for the constituent in most efficient approach. I have worked in various roles, such as, Developer, Technical Architect, Development Manager, and Director of Development. We are an agile organization currently running 5 scrum teams.
Page 3: Hackathons: Embracing Collaboration to Achieve Results

Where?

Agenda

Presenter
Presentation Notes
What – As part of this presentation, we want to share our hackathon story Where – Also to share where hackathons may be applicable in our day-to-day jobs How – To show how the industry conducts hack-a-thons Why – What some of the benefits are with hackathons
Page 4: Hackathons: Embracing Collaboration to Achieve Results

What is a Hackathon?

Presenter
Presentation Notes
A hackathon is an event where software development teams collaborate to achieve a common goal in lean, agile, and rapid fashion. Hackathons can also be used for non-technical situations, like cost reduction initiatives.
Page 5: Hackathons: Embracing Collaboration to Achieve Results

Business

Government

Presenter
Presentation Notes
A couple of examples: White House had 30 developers working on new eGovernment solutions using the API for We The People; they worked for 9 hours with White House staff to build new tools for finding, sharing, and analyzing the We The People petitions. About 16 projects were completed and the code was made available to everyone. This is a great example of working together toward a common goal. Hack Palo Alto: as part of the first-ever and historic National Day of Civic Hacking event where technology, entrepreneurship and innovation come together to help shape the future of the community. The City’s downtown was transformed into CityCamp Palo Alto where families can enjoy the latest in robotics, maker space and art activities, food, live music and of course, innovation! There are four focus areas for this event: Connectedness - includes transportation, parking, Internet, commuting, and traffic Sustainability - includes climate change, clean environment, and energy Resilience - includes disaster recovery and cyber-security Health - includes chronic disease, nutrition, exercise, and mental health Please note that all of these areas are not technical in nature. Phonegap: The software PhoneGap began as a project at the iPhoneDevCamp (later renamed iOSDevCamp) in 2008
Page 6: Hackathons: Embracing Collaboration to Achieve Results

Facebook Hackathon

Presenter
Presentation Notes
Link to Facebook Hackathon - https://www.facebook.com/video/video.php?v=23155051776
Page 7: Hackathons: Embracing Collaboration to Achieve Results

• Started with technical brown bags 5 years ago

• Progressed to “all hands on deck” workshop 2 years ago

• Used approach for prototyping and proof-of-concept for new possibilities

• Recently held 1st 24-hour Hackathon through grass-root interest

Evolution at

Presenter
Presentation Notes
Let me tell you how we got started with Hack-a-thon. At Texas.gov, we use several technologies and we host technical sessions every month to help with cross-training. We wanted to take this to the next level and get some hands on exposure to different technologies to build a team of generalists that specialize in certain technologies. About 2 years ago, we started 1/2 day workshops to learn new technologies. We used these sessions to share our knowledge on things like Grails, Big Data, Front-end technologies and so on. This provided great team building opportunities and knowledge sharing. Also, for some of the opportunities to work with our government partners, we started building prototypes for big programs before commencing actual development. The next progressive step was to host a hack-a-thon day (24 hours). No one in the team had previously been part of a hackathon. So we began researching online and found several excellent resources.
Page 8: Hackathons: Embracing Collaboration to Achieve Results

Improvise Voting

Problem solving

Innovation lunches

Ideation & Innovation?

Presenter
Presentation Notes
Hackathon 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 hackathon. We got several ideas and voted online to select most popular idea. The selected idea was to build a native application for one of our government partners. But, on the day of the hackathon, we figured out that we didn't have all the data to build it and would have to make up the data. One of the main goals (in true spirit of agile principles) was to build a application of value in a day. So we made a team decision to build a similar, but different application. For the new idea, we had all the integration service and the data available to build a application. So when you do this for the first time, don’t panic; make decisions that will help with successful completion of the hackathon. We also had few people working on solving one of the challenges for Finance team.
Page 9: Hackathons: Embracing Collaboration to Achieve Results

• 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

Presenter
Presentation Notes
People need have to have a good nights sleep. I can’t stress this enough. Especially if you are going for 24 hours. Large room conducive to thought processing. Production stability – make sure you have enough staff to cover day-to-day operations
Page 10: Hackathons: Embracing Collaboration to Achieve Results

• Product Owner

• Scrum Master

• Team

• Stakeholder

• Epics

• User stories

• Velocity

• Release Plan

• Sprint review

• Retrospective

• Sprint planning

Agile Terms & Roles

Presenter
Presentation Notes
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: A user story story of one or more sentences in the everyday or business language of the user that captures what the user wants to achieve. Velocity: Velocity measures how much work a team can complete in an iteration. Velocity is often measured in stories or story points. Release plan: Release planning refers to planning activities used to estimate when software will be released into product use. This is typically done by extrapolating the development team's performance on the basis of its velocity. 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. Retrospective: A timeboxed 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. 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 vision Creating and leading a team of developers to best provide value to the customer Monitoring the project against its ROI goals and an investment vision Making decisions about when to create an official release Scrum Master: The ScrumMaster is responsible for maintaining the Scrum process and the overall health of the team. The ScrumMaster assures that the team is fully functional and productive. The ScrumMaster 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 ScrumMaster is not: The ScrumMaster is not the task master, since the team is responsible for assigning its own tasks. The ScrumMaster 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.
Page 11: Hackathons: Embracing Collaboration to Achieve Results

• 9:00 am start time; offsite conference room

• ~20 people – web services, user experience, BI, and server-side web developers

• All-hands standup to discuss goals

• Input from team on execution approach – chose Agile Scrum

Hackathon Itinerary

Presenter
Presentation Notes
All-hands standup to discuss the goal Decided to build similar application to original one Sought input from the team for creating an execution approach Went with Agile Scrum approach Finalized to do four 4-hour sprints
Page 12: Hackathons: Embracing Collaboration to Achieve Results

♦ Build a mobile app that use bar code scanning technology to renew service

♦ Build a tool to help Finance team with monthly close

♦ Things under control: renewal service, payment service, technologies, financial knowledge

♦ Unknowns: Scanning technology

Initial Standup

Presenter
Presentation Notes
Reiterate team working toward common goal – very close working relationship
Page 13: Hackathons: Embracing Collaboration to Achieve Results

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

Page 14: Hackathons: Embracing Collaboration to Achieve Results

• 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 – Food breaks

Hackathon Day Ceremonies

Presenter
Presentation Notes
First sprint activities: Research the bar code scanning tools Finalize the technology for bar code scanning Complete wire frames and html Develop/modify web services Second sprint activities: Started work on coding the bar code scanning Started integration between web interface and services Developed few features for financial tool Third sprint activities: Integrate the bar code scanning code into application Continue work on the payment and integration services Continue work on financial tool Fourth sprint activities: Cleanup and finalize on the functionality
Page 15: Hackathons: Embracing Collaboration to Achieve Results

Sprint Activities?

Presenter
Presentation Notes
Sprint activities White boarding Collaboration for best solution Coding – Pair programming – Club Experiences, Real-time peer review, QA, Usability, and focus on task at hand. Testing Integration of different parts Show & tell
Page 16: Hackathons: Embracing Collaboration to Achieve Results

• Beware of preconceived ideas • Quick screen flow charts • Technical integration touch points • Known assets and known problems • Unknown’s • Tactics for known and unknowns

– Time-boxed – Creation of multiple focus groups

White-boarding and Collaboration

Page 17: Hackathons: Embracing Collaboration to Achieve Results

• Clubbing experiences • Watchful eyes • Real-time peer review • Real-time quality assurance • Enhanced usability • Improved focus on current task

Pair Programming

Page 18: Hackathons: Embracing Collaboration to Achieve Results

• Contract definitions – WSDL – Interfaces / Helper classes – WADL (Web Application Description Language – XML)

• Mock implementations • Environmental changes

Integration

Page 19: Hackathons: Embracing Collaboration to Achieve Results

• Create a script through collaboration – Key differentiators – Prioritized benefits and

opportunities – Possible alternatives and add-ons – Listed process improvements for

daily use – Projector and lighting – First impression

Show and Tell

Page 20: Hackathons: Embracing Collaboration to Achieve Results

Texas.gov Hackathon in Action

Page 21: Hackathons: Embracing Collaboration to Achieve Results

• 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

Presenter
Presentation Notes
We used current, cutting edge technology to build Mobile DR Renewal app.
Page 22: Hackathons: Embracing Collaboration to Achieve Results

• 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

Page 23: Hackathons: Embracing Collaboration to Achieve Results

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

Hackathon Benefits

Page 24: Hackathons: Embracing Collaboration to Achieve Results

• New project execution plans

• Emergency handling

• Sustained annual planning

• And more ….

A New Tool in Your Toolbox

Presenter
Presentation Notes
Hackathons can add a new tool to your IT toolbox - 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 planning, and much more If you’re interested in doing this yourself … contact us; we’re here to help.
Page 25: Hackathons: Embracing Collaboration to Achieve Results

♦ Red Raiders

Look Who’s Hacking

Presenter
Presentation Notes
Texas Tech held their own hack-a-thon after meeting with Texas.gov staff about using GRAILS and hearing about their hackathon. It was very successful.
Page 26: Hackathons: Embracing Collaboration to Achieve Results

• Host 3 hackathons every year

• Team-up with state partners and constituents

• Two day hackathons

• Budgetary considerations

• Idea backlog

Future Plans

Presenter
Presentation Notes
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 planning If 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 thinking Come find us if you’re interested in doing this yourself … we’re here to help if you’d like>
Page 27: Hackathons: Embracing Collaboration to Achieve Results

• Fosters blue-sky thinking

• Entire organization can participate

• Teaches effective decision making

• Can deliver results in astonishingly short timeframes

• All about the team – environment & empowerment

Executive Viewpoint

Page 28: Hackathons: Embracing Collaboration to Achieve Results

For more information about Texas.gov

enterprise solutions, contact:

Ed Emmett [email protected]

512-501-5983

For more information about Hackathons,

contact: Raj Polikepati

[email protected] 512-651-9801

Presenter
Presentation Notes