Patience is critical to learning and teaching!
Recently, I had breakfast with a good friend, mentor and supporter. While we were chatting about politics, the state of our economy and other light topics (HA!), we brushed up on her organization's Salesforce.com implementation (they were in my first cohort). They've lived with this system for about 18 months and it's been serving their needs. During this time, my friend (who happens to be the executive director) has had a few ah-ha's that I think are very relevant and important to share:
- Don't throw the database out with the bathwater! It's really true. She recounted an example where the Salesforce.com database did not have a specific field. During the designing phase, they were capturing the work done by the volunteer, hours and client served. No volunteer name was captured. What they learned, as the system was put into the flow of the business, is that the volunteers wanted follow up with clients but the staff couldn't find volunteers since the names were not put in the database. She laughed and said, "before, I would have said let's throw this database away. It is poorly designed!" But now, she realizes that THEY CAN FIX IT. They are empowered by being able to make the changes on their own. There is power with this sense of freedom and realization that systems are made to be flexible and fluid. Organic!
- Reporting is more than just numbers. She laughed as she told me about their reporting mechanism. Someone would send a request to the system administrator who would create the report. Pretty simple, but what they realized is that they were not providing her a good definition of their needs. What they saw were that the numbers looked wrong in the reports. Now, they knew the data was entered correctly. So, as they dug deeper, they realized that it's not simply pulling numbers from the system but really understanding the basic underlying structure of the database. Here is an example of what I'm talking about: getting a list of active clients should be easy, right? It's just a list of all the contacts in the database, right? But, when the requestor is given the list of "active" clients, he/she realizes there are some "inactive" clients in the list. And, as they dig into the system to understand why the "inactive"clients show up, they realize that the definition of "active" client was not properly given to the system administrator. So, what would have been better is the following: I need a list of contacts that have had activity in the last 12 months. This gives the system administrator the ability to pull the data appropriately from the system. But, here is the thing, if the requestor doesn't understand how the system was built, they cannot even begin to know what to request. Since this organization created their database, their understanding is much deeper. The requestor and the system administrator can have a conversation in data lingo and understand each other. It's wonderful and amazing to see this growth and learning.
As she recounted these stories, I could feel myself swell with pride for this organization. I am so very proud of how far they have come with their education. The education that they have given themselves is more than I could have ever hoped for... it's simply amazing what they have managed to do themselves. It goes to show, if you give individuals the education they need and crave, they will surprise you.
This organization has come such a long way in their understanding. and it happened on their terms and in their time. That is the beauty of teaching database development in this way, it teaches you patience, persistence and focus. Through this comes knowledge and through that will come wisdom.
It's a privilege and honor to be given the opportunity to teach and learn beside these individuals. It's very humbling.