What crosses your mind when you hear open exchange, transparency, community driven development, and shared learnings? Drum roll… It’s open source! One of our Scrum teams recently published their first public repository on GitHub. Today, product owner Bob explains why his team committed to give something back to the coding community. Part of working agile is making sure you’re always learning and improving. That’s why you should regularly define goals to aim for, both as a company and as a team. We call these goals our objectives and key results (OKRs). Earlier this year, I sat down with my Scrum team to define our 2017 OKRs. Everyone on Team Member — yes, that’s the name of our team — had an objective about open source in mind. Having benefitted from so many open source projects, we decided it was time to give something back to the coding community.
Measuring the impact of a good deed
When you’re setting OKRs, it’s important to choose measurable objectives. But how do you measure your effort of giving something back to a community? Well, giving back means you make someone happier than they were before they got your gift. And what do happy people do? Happy people give stars!
Stars are a feedback tool on GitHub, the world’s most popular code sharing platform. So, we set an OKR for reaching 100 stars with an open source project. We also vowed to supply proper documentation and have 80% of our code covered by tests. On top of that, we pledged to reply to every issue or question raised by the community. That’s how we would proactively contribute something of quality to the open source community.
What is open source?
Does none of this ring any bells? No worries. Open source software runs on code that anyone can inspect, modify and enhance. That’s because the source code is publicly accessible on platforms like GitHub. This makes it possible for developers to adapt such code to their own needs. If they then decide to share their adaptations, the entire internet community can benefit from these updates.
Open source comes in many different shapes and sizes. There are open source operating systems (Linux, Android), programming languages (PHP, Ruby, Swift), frameworks (React, jQuery), applications (GIMP, Firefox, VLC), and much more. In fact, most of the software you use relies on some form of open source code.
For developers, open source is a godsend. Using publicly accessible components saves time, effort and funds. On top of that, a major benefit of open source components is that they are often well-tested and actively developed by a dedicated community. That makes for safe, high-quality software with frequent updates and extensive documentation. What's not to love?
Building a snappy image viewer for iOS
After pledging we wanted to contribute to the open source community, we asked ourselves: what tool could be useful to other developers? What would we like to use ourselves? In one of our previous projects, we had relied on an open source library for viewing images on iOS, but we found it too bulky for what we needed. This OKR challenge was a great opportunity to build an alternative.
The result of our open source effort is Simple Image Viewer, a lightweight component for iOS. It provides an interface for moving from a thumbnail to a full-screen image view. The component also supports gesture input for zooming and panning, and it has built-in transition animations. It's the kind of component we would've liked to have in our toolbox before.
To 100 stars and beyond 🚀
When we started this project, we set out to break through the 100 star frontier in the GitHub universe. Right now, our project has amassed 157 stars. That means we've reached our goal. Yet, we’re not done. We’re hoping to add more functionalities to the image viewer soon. Swiping between images in full-screen view is something we’d like to include.
Of course, the beauty of open source is that you have the power to start adding this feature today. We’d love to see what others can do with our component. All you have to do is fork our repo. Meanwhile, we’ll keep our eyes open for other opportunities to contribute our expertise to the coding community. Considering everything open source has given us, it's the least we can do.
Wanna know what happens under the hood?