Salesforce, Python, SQL, & other ways to put your data where you need it

Need event music? 🎸

Live and recorded jazz, pop, and meditative music for your virtual conference / Zoom wedding / yoga class / private party with quality sound and a smooth technical experience

But WHY do you need a database?

24 Sep 2021 🔖 architecture databases
💬 EN

Table of Contents

I’m so excited – a non-desk-job, real-world acquaintance just asked over social media if they knew anyone who could “talk to them about database stuff.” And they picked me! While I waited to see if they’d reach out, I came up with 21 questions to guide the conversation.

If you’re the person who’s been told you need a database, this is a non-technical list, so read on! You might be able to take your own notes and have a really production conversation with a friend in tech. But I know it’s a lot, and you don’t have to – a good database professional will have questions like these floating in the back of their head but be able to just ask you more unstructured questions like, “Tell me what’s on your mind” and ask you these kinds of questions without letting you realize you’re even being asked them.

Q01: What’s the data?

“What real-world data needs organizing, and what business/life processes does ‘staying organized’ support? Tell me your story.”

Q02: What’s the problem?

“What’s wrong with the way you’re doing things right now?”

Q03: What’s not a problem?

“What feels good about the way you’re doing things right now, and why?”

Q04: Why bother?

“What real-world benefits would you gain if you waved a magic wand and had a perfect way of getting your tasks done?”

  • Money
  • Free time
  • etc.

Q05: But really, why bother?

“Are those small or big impacts on your life?”

e.g.

  • It’d double my revenue
  • This one improvement would free up 4 hours/day, but the other, probably just 1 hour/week
  • etc.

Q06: What can you pay?

“What’s your up-front one-time budget this project? What’s your ongoing monthly budget?”

e.g.

  • I can spend $300 right now on something if it’d last me a lifetime and be done right the first time right now
  • I already have enough revenue to support $15/month
  • etc.

Q07: Can you pay more later?

“Same question, but can you pay more ‘ongoing’ money if this actually works?”

e.g.

  • If it works at bringing me more revenue, I should be able to support $50/month within 2 years
  • Nope
  • etc.

Q08: Data writing

“Check the boxes, and elaborate upon, all the ways in which data will need to be added to the system in which you organize your data:”

  • Manually, through a point-and-click administrative interface, by me, one record at a time.
  • Manually, through a point-and-click administrative interface, by me, as a batch import when I first start using the system.
  • Manually, through a point-and-click administrative interface, by me, as ongoing batch imports every so often.
  • Manually, through a point-and-click administrative interface, by power users I’ve designated (about how many?), one record at a time.
  • Manually, through a point-and-click administrative interface, by power users I’ve designated (about how many?), as a batch import when we first start using the system.
  • Manually, through a point-and-click administrative interface, by power users I’ve designated (about how many?), as ongoing batch imports every so often.
  • Without human intervention, immediately, on behalf of guests who don’t even have any idea of “what’s under the covers” of the thing they think they’re doing – e.g. an automation that does something in my data system every time a customer purchases an album or subscribes to my newsletter.
  • Without human intervention, in batches on a schedule, from some other system entirely – e.g. an automation that downloads the previous day’s sales from Bandcamp every night at 2:00 AM.

Q09: Data reading, 1 record at a time

“Check the boxes, and elaborate upon, all the ways in which you’ll need to read existing data 1 record at a time:”

  • I, or power users I’ve designated (about how many?), will need to be able to browse or search for a record, click on a link to it, and read the data attached to it through a point-and-click administrative interface.
  • Power users I’ve designated (about how many?) will need to be able to browse or search for a record, click on a link to it, and read the data attached to it through a point-and-click administrative interface.
  • I, or power users I’ve designated (about how many?), will need to be able to download some sort of specially formatted file (Word, PDF, plaintext, Excel, etc.) that contains a summary of a given record to my computer or phone, via a button in a point-and-click administrative interface.
  • Guests of a web site, or users of a different system, need to be able to see the details of a record. (e.g. they need to be able to see a web page about a given upcoming show displayed on my web site)
  • Whenever there’s a change in my data, people will need to get e-mailed or texted automatically.
  • Whenever there’s a change in my data, a copy of that change needs to go to some other computer system automatically and instantly.

Q10: Data reading, many records

“Check the boxes, and elaborate upon, all the ways in which you’ll need to read existing data many records at a time, or aggregated (e.g. sum, average, difference, etc.):”

  • I, or power users I’ve designated (about how many?), will need to create reports and dashboards in a point-and-click administrative interface.
  • After creating such reports, I, or power users I’ve designated (about how many?), will need to be able to download some sort of specially formatted file (Word, PDF, plaintext, Excel, etc.) containing the results of the report to a computer or phone, via a button in a point-and-click administrative interface.
  • After creating such reports, it will need to be possible to create a schedule on which the results of a report are automatically e-mailed to people (e.g. “weekly sales summary”).
  • After creating such reports, a copy of the results needs to go to some other computer system automatically on a schedule (e.g. I need to batch my album sales over to Quickbooks once every 3 months).
  • I need multiple records out of this data displayed on a web site, or in a different system, at a time (e.g. I need all my gigs listed on an “events” calendar on my web site).

Q11: Data writing free time

Whew! You made it! Those were the really hard questions.

(And hopefully the ones a professional would be able to help keep you from explicitly having to think about by just asking you questions about your business and inferring the answers.)

Next questions, which is actually 3 questions:

  1. “How much free-time do you & your staff have up front for initial data entry?”
  2. “How much free-time do you & your staff have for ongoing data entry?”
  3. “How much tech-learning-patience do you & your staff have up front for figuring out how you’re supposed to do data entry?”

Q12: Data reading free time, aimed at humans

Again, 3 sub-questions:

  1. “How much free-time do you & your staff have up front for creating reports & dashboards?”
  2. “How much free-time do you & your staff have for ongoing creation of reports and dashboards?” (And is that even a need, or do you think you’ll know all your needs for the next 5 years up-front?)
  3. “How much tech-learning-patience do you & your staff have up front for figuring out how you’re supposed to create reports & dashboards?”

Q13: Data reading free time, aimed at computer automations

Last time, 3 sub-questions:

  1. “How much free-time do you & your staff have up front for building automations to external systems & display of data on public web sites?”
  2. “How much free-time do you & your staff have, for ongoing building automations to external systems & display of data on public web sites?” (And is that even a need, or do you think you’ll know all your needs for the next 5 years up-front?)
  3. “How much tech-learning-patience do you & your staff have up front for figuring out how you’re supposed to build automations?”

Q14: Long-term or short-term?

“How many years do you think you’ll be in the business that this system is meant to help you stay organized in?”

Q15: Stability

“Do you think that all of your answers to Q08-Q13 are likely to change much? Either gradually as your business matures or suddenly due to external forces, like the way the 2020 pandemic suddenly needed every restaurant to have carryout options? What kinds of changes can you imagine being likely?”

Q16: Existing tools

“What tools do you already have accounts with / downloads of that you enjoy using and suspect might make a great part of a solution to your problem?”

Q17: Accessibility

“Any accessibility needs you can already think of for the point-and-click administrative interface? Big text, colorblind friendliness, screen-reader compatibility, etc?”

Q18: Screen size

“Will you always be able to use the point-and-click administrative interface from a desktop computer, or are there certain things you’ll absolutely need to be able to do from a smartphone or tablet?”

Q19: Connectivity

“Will you and any designated staff always have stable, high-bandwidth internet available when you need to use the point-and-click administrative interface?”

Q20: What’s the data? (pt. 2)

Here’s where, if you want to really get into the weeds, you can start thinking about the “nouns” of your project – e.g. the ways you might label things if you were using a paper organization system of some sort, or the names you might give Excel spreadsheets, tabs, and column headings if you were using Excel.

“What real-world concepts, and relationships between them, do you wish you could properly organize?”

(Do a quick sketch with sticky notes and string, or bubbles and arrows … a database professional will do the hard work of really getting this right – this is just a conversation-starter / mind map.)

Q21: What’s the data? (pt. 3)

“Thinking back to Q08-Q10 (data entry, single-object reading, & multi-object reading) … how important are the relationships you just described, on a scale of ‘sounds nifty’ to ‘essential’?”

e.g.

  • When I’m entering the details of an album I sell into the point-and-click administrative interface, it needs to feel intuitive to edit its track details without feeling like I really left the “album details” screen. The “albums have tracks” relationship exists in the real world and is also really important to helping me stay organized.
  • It’d be nifty if I could go back into the calendar after a show, enter the number of each album I sold that night, and then later be able to do some reporting & analytics about which albums sell the best at live shows, or seeing which shows have been “moneymakers” at the bottom of a given album’s detail page. But honestly, that’s a “could be neat,” not essential. The “shows sell albums relationship exists in the real world, but probably isn’t terribly important for me to take the time to organize.
  • etc.

You might not need a database

Hopefully, this will help a friend in tech decide:

  • If you just need deep training in Excel and Word Mail Merge.
  • If you need to buy a prefabricated piece of software like You Need A Budget / Bandcamp / Quickbooks.
  • If you need totally custom software built for you.
  • etc.

Good luck with your project!

--- ---