My first exposure to CiviCRM was around 2009. I was working at Freeform Solutions, Canadian IT nonprofit organization that supports other nonprofits by providing technology support. We were looking for a CRM system that would support an HR organization that had a few thousands contact records. They needed a software that would allow all staff to access the same contacts database so that all staff members can update the records, send newsletters and other mass mailings and to run reports on the collected data to know what type of clients they work with. In the future, they were planning to do online events registrations, possibly with payments.
We've done some research and several things attracted us to use CiviCRM for this project:
- CiviCRM, being an open source software, meant to us, the developers, that if we had to tweak any functionality or add some new features, we could do that without having to rely on the creators of the software to allow us to do it or have to pay them to do it
- CiviCRM would store all the information in one database and the information from event registrations would be seen on individual contact records which was a much better solution than using several systems to do bits of this implementation
- CiviCRM had all the components that we were looking for
- CiviCRM, being a web-based application, allowed all staff to have access to the data, not only on any computer in the office but also on the go, when travelling or working from other offices. There was no additional costs no matter how many users were logging and using the system
- CiviCRM being an easy to expand and customize software - by adding custom fields - meant that there was no large additional cost to adjust that software to the organization's individual need - to collect organization specific data. In addition, designated staff could add those custom fields using the CiviCRM interface (point and click, no need for specialized programming knowledge) which meant lower development costs in the future.
That project marked the start of my journey with CiviCRM. I attended one of the first CiviCon in San Fransisco in 2010 and although we were a small group at that time (about 100 people?), it was fascinating to see what others have done with CiviCRM, what projects had been implemented with amazing results.
Since then, while working at Freeform Solutions, I've implemented or managed an implementation of a few hundred CiviCRM projects, ranging from small implementations to support staff shared database of contacts to large implementations where either almost every single CiviCRM feature was turned on or where we took CiviCRM core and extended one feature to be the hub of the whole system.
Almost every implementation had used membership management, online event registration, online and offline payments, tax receipts, mass mailing, reports and in a case where we extended the core functionality, we've implementation for Edmonton's Food Bank in 2012 a food hamper management system built on CiviCRM Activities. In recent years, Freeform Solutions expanded and was able to contribute back to CiviCRM community thanks to Lola Slade's coding expertise and Lynna Landstreet's great documentation contributions.
For the last 5 years, I had a pleasure to be both a web developer and a project manager for CiviCRM projects. My favourite part is the discovery phase, where together with a client, we discuss the system needs and plan how CiviCRM will be used to meet those needs. Because CiviCRM has many data management parts, it is important to plan the implementation to take the advantage of all the built-in features. Incorrect implementation (true to any project process) often causes misplacement of the data and in consequence, not being able to take the full advantage of CiviCRM features. I have seen implementations where organizations would create custom fields for email, contacts names etc. without knowing that those fields are provided out of the box. In this case, using custom fields for storing email address or contact names could render those fields unusable for mass mailing or keeping the database clean (so called dedupe process which we wrote about with Lynna). Proper design and planning of implementation of any project allows to lower the final implementation costs and future maintenance costs, so it is a worthy investment.
The good news is that, once the planning is completed, often to the client surprise, their needs can be met by simply configuring existing CiviCRM out-of-the box functionality. Sometimes, small tweaks are needed and those are usually either met by creating custom code or using one of the existing CiviCRM extensions that other developers so generously provide to the community. CiviCRM Extensions directory was one of the community projects that I helped to implement, to enable everyone to find all the great CiviCRM extensions in one place.
To better align my passion with client needs, in January 2015 I moved on to my own consulting company Kasuwade Solutions Inc. where I will continue to work with open source systems to address organization's IT needs. As CiviCRM is my favourite CRM, I will certainly continue to be part of this community, using my knowledge and years of experience to support sucesfull CiviCRM implementation.
For any of you, I encourage you to join CiviCRM community:
- spread the word about CiviCRM by registering your CiviCRM installation,
- become a CiviCRM partner (if you are a development shop) or become a CiviCRM member (if you are a CiviCRM user) - to help support growth of CiviCRM, which means a better tool for us all to work with and use.