Here are some ideas for how you might use OpenSquiggly to improve your overall team productivity:
- Onboarding - Bringing new members onto the team is notoriously difficult in software projects. OpenSquiggly can help new team members come up to speed more quickly by having an organized, curated, and customized view of all the project's source code, documentation, and technical errata.
- Leveraging Senior Engineers - Senior engineers are getting harder to find and more expensive to hire. When you do manage to land senior developers on your team, you want to make sure you are leveraging their skills across the other newer and less senior engineers. A great way to have senior engineers leverage their talent is by having them use OpenSquiggly to write and share great documentation and giving them to ability to share their notes and insights with the team.
- Working with Legacy Code - Large, old, legacy codebases can be difficult to work with. It can often take a lot of time to understand the original intent of the engineers that worked on the code long ago. OpenSquiggly can help you work more effectively with legacy codebases by giving you a way to quickly search across multiple repositories, find documentation when it exists, take notes, write code narratives and walkthroughs, and bookmark files as you are doing your research so that you can quickly return to relevant files when needed.
- Refactoring - In order to maintain codebases over the long-term, teams should on the right occassions refactor legacy code into better, cleaner implementations. But refactoring an API might mean finding and updating all the places that call that API, which means that sometimes refactoring code can involve making a lot of changes to code across many different repositories. OpenSquiggly can help you identify which code will need to be changed, and help you document a development plan before you begin the work.
- Remote Development Communication - It's important that documentation and source code can be shared quickly and efficiently with remote team members.
- Cross Team Coordination - Today's projects often consist of subteams and/or microservices. When you set out to implement a user story or bug fix, the code that needs to be changed may cut across the boundaries of different teams. OpenSquiggly can help you research and document which changes willl be needed by which teams before the work commences, so that the efforts of the whole company are coordinated.
- Curve Ball Tasks - We've all had this happen - our manager gives us something completely out of left field. We don't know how to get started. We don't know which repository the code lives in that we're supposed to be working on. We're not even sure that the task belongs to our group. In a situation like this, there's a certain amount of groping around in the dark that is unavoidable, until finally we start to develop some clarity about what needs to be done. OpenSquiggly can help developers make headway in these situations by giving them a way to peruse and discover documentation, poke around in the source code from other groups, bookmark documents that they think might be relevant to the work, take notes, and organize their thoughts.
- Communication with Management - Sometimes work turns out to be more involved than was originally anticipated, and this can lead to a mismatch between management expectations and what the developer is delivering. Managers might not understand what the hold up is. OpenSquiggly can help bridge this communication gap by providing a common portal that both developers and managers can use to group relevant documents and source code together into a folder so that the managers can have a better sense for how much work is involved.