Last Monday was the best day I have ever had at a Salesforce event, and I’m so excited about what this community holds. At the opening plenary of the day’s Nonprofit Starter Pack Sprint, hosted by the Bay Area Nonprofit User Group (and the United Way of the Bay Area donating an incredible space), Ryan Ozimek echoed Judi Sohn’s words from the Fall 2015 Sprint – “What starts as a spark today will turn into a bonfire tomorrow.” But I’m pretty sure by lunch time today that fire was burning. This was the most engaging and productive group of people I have ever seen, and I’m so excited about what was worked on.
After Ryan’s big introduction, we split up into three working teams: Development, Documentation, and Dashboards/Reports.
Documentation Team
The Documentation team made an incredible leap today and under Anne Crawford’s leadership, and guided by Sarah Marovich (the new docs member of the SF.org team), an incredibly complete and useable “Upgrade Guide” has been created. I’m looking forward to how many solo admins a centralized Upgrade resource will assist, and it is also going to be an incredible asset for Salesforce Pro-bono volunteers who know Salesforce but need help with the NPSP. Katie McFadden led a fantastic team writing scripts for 6 short videos about how to perform basic user functions in the software. These are high-end affairs with professional graphics and amazing sound quality. You’re going to watch them. And I had the complete joy of meeting Beth Saunders, who led the doc-building task force, and wrote outlines or full docs for all of the documentation priorities for the Sprint!
Dashboard/Reports Team
Over in Dashboards/Reports, they split up into two rockin’ teams, tackling a review of all the reports packaged with the NPSP. These reports, as you may know, haven’t seen love in quite a while. The team went through the reports and identified keep/replace/delete candidates. They then re-wrote and adjusted reports to use the latest fields, and make them easy to clone and adapt them for re-use. Kristina Winters led the team working on donor management reports, and they also wrote up additional “recipes” for extending the base reports for common requests. Caroline Renard and Adam Kramer tackled the grants/memberships reports and cleaned them up in a great way!
Development Team
Finally, I was leading up team Development with the goofy and talented Nic Campbell of Salesforce.org Product Delivery Team! We summited and came up with three(to four) ideas that intrigued the group of us. After thinking up these sub-tasks, we took a moment to get a tour of how the NPSP contribution process works. We looked at Github, the internal work management tool for the product team, and Jason Lantz’s absolutely fantastic Contributor tool. With just clicks (not code!) you can install the NPSP in a dev org, make changes, turn those changes into metadata, push them to Github, and create a Pull Request for the package. It’s incredible, and if you are interested in making changes to the NPSP code base, it is the future.
After Nic gave a tour of the NPSP architecture and codebase, we dug into sub-groups to work. David Chang, Bonny, and Sara Chieco rocked out some bug-squashin’ that one can’t help smile at. Shannon Hale beasted out accessibility and labels, making the screen-reader experience of the NPSP way better. This will also help us remember (and guide us on best principles) for accessibility in future NPSP pages.
And then in the last corner of the room, I had my little team. Megan Himan had suggested a few days ago that wouldn’t it be great if the NPSP had a rollup for # of Consecutive Years given. I agreed and said “let’s do it at the Sprint!” Well I come to the sprint and Megan not only brought her expertise to the problem-set, but also one of her consultants, TJ Wakefield, to work on the problem, and a new but amazing admin, Nikole Pagan, who is really looking for that feature and had great feedback about the design of it. So we roped Vered Meir onto our team too, and started speccing out the feature.
We designed four new rollups, and put serious thought into how they work with different fiscal year settings, how to keep them consistent with NPSP rollup design, and what the best way to name and document them was. Then, I jumped into coding with support from the team, and they pulled up Google Docs and started writing real documentation. They clarified all the assumptions we made, wrote up best practices, and ran the feature by other sprinters for feedback. By the end of the day, we had a working prototype that behaved to the spec, and a great set of impact assessment, integration note, and admin documents for the feature. Hopefully coming soon to a Sandbox near you!
The Spark of the Salesforce.org Community
The most magical part of this sprint was the huge group of customers and members of the Bay Area NPUG who attended the event. You guys are truly an amazing and engaged community, and I felt so welcome in your home! You hopped right into groups with partners from all over the country and that customer/nonprofit point of view was so good for everyone. I am so thankful to Anne Crawford and Bonny Hinners for welcoming us into the space that they meet in monthly. It was a great environment. I wish I could remember the name of every single person I met, because you were all awesome.
It was also fantastic to have so many employees of Salesforce.org drop by and say hi (including CEO, Rob Acker and VP of Product, Cheryl Porro!) and see what we were doing. Our community was on display today and it performed wildly well. I am so proud of everything we got done, the sense of fellowship in the room, and the benefit it is going to give to the Nonprofit Starter Pack in the long term.
As Ryan reminded us, the “currency“, the unit of value, in an open source application is the community contribution. I’m excited to see how SF.org take lessons from this sprint and other efforts to improve the ways to contribute. Working on ways to make contribution easier has helped the product considerably, as showcased today.
This post was originally published on Christian Carter’s personal blog.