Code For Nashville Handbook
- Roles - who does what and what are the titles involved
- Elections - how we decide who gets to step up among competing parties
- Leadership Development - how we get more leadership in here
- Project Pipeline - how people engage with projects
The Code For Nashville handbook outlines the organization’s purpose, structure, and operations. The handbook is easily accessible to the membership, and the officers regularly refer to it so that its existence and content is common knowledge.
Members can suggest specific revisions for the officers to implement. Small revisions should be tracked automatically by the editing software (e.g. Dropbox pages), but official versions may also be periodically marked for easy reference and review (e.g. 2018 handbook). Any substantial revisions should be promptly announced to the general membership asynchronously (e.g. email or Slack) and at the Hack Night meet-ups and posting on the Code for Nashville website.
Code of Conduct
All participants are expected to adhere to the Code for Nashville Code of Conduct.
Code For Nashville catalyzes domain and technical volunteers to improve government and non-profit services through projects that engage with public institutions and improve quality of life in Nashville.
To network and support a community of civic hackers and stakeholders to increase their capacity to make meaningful contributions to technical projects that improve Nashville.
- Diversity in demographics, perspectives, ideas, and skills
- Equity in access, influence, and accommodations
- Inclusion in roles, leadership, opportunities, and recognition
- Excellence in communication, organization, planning, and delivery
- Accountability to each other, our community, and all stakeholders
- Open-ness in all our values, especially accountability and inclusion
Goals are tracked year-over-year in a separate document. The goals document will follow the same Revisions guidelines as this Handbook (e.g. suggesting, editing, announcing drafts, publication, and archival). In addition, goals are reviewed by the officers at least once a year (in Q1).
- Prep - 5:45
- set out food, space, etc
- Welcome - 6:00
- invite people to grab food
- let them know we’ll start at 6:10
- Introduction - 6:10
- Intro Slides: +Hello, Civic Hack
- Round of intros for 15 or less people
- Announcements - 6:15
- Links to sites, links to resources
- Schedule of upcoming stuff
- Standup - 6:20
- 60 seconds per person.
- Say your name!
- Describe the project
- Tell what technologies you’re using
- Say what skill-sets you’re looking for
- Hack (Activity / Presentation) - 6:30
- Ending Standup/End of Meeting- 7:30
- Ask participants to fill out meetup survey
- Socialize - 7:40
- Review - 8:00
- First Tuesday of the Month - Hack Night
- Schedule outlined in Agenda
- Week after Hack Night - Leadership meeting
- Plan next hack night
- Follow up on action items if needed
- Smaller project night (hack night but must bring a project, after reflection/leadership night)
- Quarterly - Mixers with other interest groups
Anyone that adheres to our Code of Conduct can attend and enjoy our events. Everything we do is in the open it is the responsibility of attendees and project creators to respect and be aware of this.
Code For Nashville Hack Nights are open invite meetings focused around technology and civic involvement. Depending on individual’s interests and goals there are many ways to participate in hack nights:
- Write some code - Bring or join a project. Set a specific task or goal and try to achieve it at the hack night.
- Learn - Connect with others to share technical and domain knowledge.
- Socialize - Knowing others around you strengthens community.
- Network - If you are trying to achieve something specific in the civic tech space, hack nights can be a good opportunity to others that can help you.
Hack nights are typically free form events. Occasionally, meetings may have other formats such as a speaker or a workshop. Meetings outside of the Free Form hack night are organized by the Event Coordinator.
- Free Form - Its a sandbox.
- Workshops - Hands on activity.
- Speakers - Sit back, listen, and learn.
Internally, after each meeting we fill out a form to track our effectiveness.
After each meeting, feedback is collected from attendees via a Google Feedback Form. The form is sent out via segmented Meetup lists and an automated Slack message.
Seek members to fill the roles below in the listed order, but always prioritize using the right person for the right job. Don’t make somebody Delivery Lead that shouldn’t be just because it’s next on your list. Give people jobs they’re good at and want to do.
At any given time any number of the roles (with their responsibilities) will be concentrated on available leadership staff. For example, if there are only two people on the leadership team all duties are split between them according to interest, capability, and urgency.
At a minimum, the group must know where the money is, run a regular meetup, and maintain a website.
Roles can be split and merged at any time at the discretion of leadership to suit the needs of the group and leadership. For example, if a member of leadership needs to take a leave of absence, their role and duties can freely be merged back onto the still active leadership members.
Only the role of captain is exclusive. All other roles can be duplicated among staff, for example splitting the Storyteller role between two people based on availability or preference for tasks.
- Brigade Captain
- Provide general support to all roles, teams, and members i.e. be there for people
- Track and check group output at high level with respect to mission and vision
- Hold leadership roles accountable via consistent, collaborative follow up on projects/responsibilities
- Apply structure of Meeting Agenda to meetup, keeps time
- Maintain 10k foot view of group’s project workload, checks in on teams (“need anything?”)
- Community Outreach and Diversity Chair
- Seek opportunities to engage with diverse communities in Nashville
- Facilitate a pipeline of partners for Code For Nashville
- Cultivate relationships with non profits and governmental agencies
- Organize networking, community, outreach, tech events within the group and between the group and others
- Delivery Lead
- Maintain active knowledge (3k foot view) of all projects being worked on in local Brigade
- Connect volunteers to available project work
- Recognize and uplift project leadership
- Work directly with project leadership and team to plan new projects, strategize about existing projects
- Funnel relevant CfA Fellowship and Brigades apps to Brigade members for redeployment opportunities
- Handle cashflow, bank account, credit cards, list of paid and free service accounts in use by the group
- Plan and track event budgets, project budgets
- Organize and distribute resources to participants
- Coordinate elections
- Grow the group’s social media presence via blogging, podcasting, interviews, etc
- Curate and publish a semi-annual newsletter to membership
- Connect interested journalists/media entities to the group
- Communicate and coordinate with other CfA brigades
Terms For existing leadership, 9 month tenure culminating in advertised “train new people into leadership” period. “You wanna do my job? Let me show you the basics - here’s some tasks”.
For captainship, 18 months.
Election Process In either case, assess interest from group. If there exists mutual interest for a given role among parties (two or more), do:
- Announce at meeting
- Nominations at the following meeting
- Elections at following meeting
Voting is anonymous, done in person, and based on a simple majority.
Much of the work defined above under various roles should initially be allocated as tasking to individual members. For example, a Publicity task could be defined like “spend time weekly for the two months leading up to event E generating tweets and Facebook posts about it using these templates.” This provides for several benefits:
- Easy tracking
- Clear definition of expected output
- Ability to distribute work more simply among members
That is the first level of engagement with a potential leader. Continue to engage this person with tasking as they demonstrate various qualities:
- Proactive interest in doing the same and/or more of it
- Quality output without much supervision
- Proactive communication about ongoing effort
- Addition of skill/expertise/willingness to take ownership around the associated skills/output
At the discretion of existing leadership, offer to grant this volunteer a dossier of work related to the role. Rather than specific tasks, offer the volunteer the set of high level goals that pertain to the role or roles they have been contributing to. An appropriate candidate will likely have already generated a certain amount of documentation, tasking, and other strategic information. Meet with the volunteer to collaboratively review any such info and work with them to ensure that the core goals of the organization are represented in their docs.
Work with and observe this volunteer for a period of some weeks or months. Work with them to ensure that they are comfortable and empowered in taking on larger scope of work related to the role. Again at the discretion of existing leadership and after this period of observation, it’s appropriate to ask the volunteer if they’d be willing to take on the role formally. At this point the volunteer would take on the role and be subject to the relevant election cycle.
Projects are built by cross-functional teams of stakeholders and technical volunteers. The Code for Nashville community and events are places to discover projects, find collaborators, and connect with partners. Projects pitches can be presented at the beginning of each meeting, providing an outlet to discover and share.
The Community Outreach and Diversity Chair actively works to build relationships with partners. Along with the Delivery Lead, they groom potential projects and recruit technical volunteers. This effort is complemented by projects, problems, and relationships that participants bring themselves.
User-centered project should start with the three “P”s:
Describe your project as a problem or area you want to address, not the way in which you’ll address it.
- Bad: I’m going to build an app that notifies people when it’s recycling pickup day.
- Good: The utilization of recycling services in Nashville is at 80%. I want to help increase it over the next year.
- Good: I'm interested in recycling in Nashville.
Starting with an app idea tends to lead to products without a clear goal, beyond their own existence. Phrasing your project as a problem often forces you to do some initial research and reach out to community or civic partners to discover what the real issues are. As illustrated above, the problem doesn’t even have to be specific. Starting out with an area of interest, an open mind, and a willingness to ask questions from civic and government partners can be just as good.
A government or local non-profit partner is critical. Partners validate or provide problems to solve, and guide you towards impactful solutions.
Example: To learn more about recycling issues, I’m reaching out to Metro Public Works, the department responsible for running Nashville’s curbside pickup recycling program. I’m also reaching out to Environmental Education TN, who help coordinate some local recycling education programs.
Some ways to connect:
- Join up - Seriously consider participating in the communities dedicated to your problem area, if they exist. It’s a great way to learn and help without building a technical solution, and a request for a partnership from a participant is a lot more powerful than from a third party.
- Attend a public government meeting - These are opportunities to meet decision-makers face to face, and learn what problems they’re working on. Example: Traffic and Parking Commision meeting.
- Email, direct message - Explain the problem you’re interested in, the team you have interested in addressing the problem, and how a potential partner can help. Members of governments and non-profits have been receptive to being “cold-called” in the past.
A small warning: don’t promise anything you’re not committed to delivering. Remember to promise less than you think you can accomplish. We expect to accomplish great things, but technology is always harder than we think it is, especially when it’s being created by volunteers.
Google for existing solutions before you write any code. As your understanding of the problem increases, google again.
Example: Metro Nashville has an existing email and text notification service for curbside pickup.
Expect a handful of existing open source or enterprise projects that touch on your domain. Existing projects can be forked, provide lessons on what mistakes to avoid, inspire new approaches, and help you learn more about the domain. If a possible solution to your problem already exists, have an honest conversation within your team and with your partners about it.
Assemble a group of 3-5 people to work on your project.
- Lead/Point of Contact
- Community Partners
Code for Nashville Support
The Code for Nashville community is small enough that core team members can help with most aspects of the project, including partnerships, planning, and development.
Code for America sponsors qualified projects by covering their Heroku bills - contact one of the Code for Nashville organizers and we can help with applying for sponsorship.
Visit How do I build… for some simple, free resources to deploy your application.
At the end of each year, Code For Nashville recognizes a few volunteers who made significant contributions toward projects that reflect our values and make a positive impact on the community.