July 19th, 2025 by Paul Conley
July 19th, 2025 by Paul Conley
When I’m standing in front of a clogged pipe or a coffee maker making a strange noise, I start to think, "How hard can it be to fix this myself?" However, my past DIY projects have taught me that initial impressions are often wrong
So when Baywood Consulting needed a project management tool, I originally didn’t listen to my DIY instincts. We spent hours assessing the common big, enterprise-grade professional services automation (PSA) tools which had been common in my past lives working in large corporate environments. However, for a small nimble, nonprofit-focused consultancy like Baywood, they all felt too complex, too expensive, and didn’t capture our flexible workflows.
Eventually, I caved into my DIY tendencies and thought, "Heck, I can build this myself in Salesforce."
And so far, it has been the right choice.
We live and breathe Salesforce every day, so why not use the platform we love to run our own business? The use case was simple, leveraging the platform's extensibility as a DIY challenge was a no-brainer.
Version 1.0 was straightforward: a Project object, with related Tasks and Timecards. It worked, but we quickly found it wasn't quite enough to capture the rhythm and flow of a larger implementation.
We needed another layer in the hierarchy. Enter Milestones.
Our structure became Project -> Milestones -> Tasks -> Timecards, all connected with master-detail relationships. This simple but powerful hierarchy gave us the flexibility to manage everything from quick projects to multi-month full implementations. We’re currently running all our client projects on it, and it’s holding.
One of the best side effects of this lightweight design is its flexibility. We can adapt it to fit how our clients work, not the other way around.
Agile? No problem. We treat a Milestone as a Sprint and Tasks as User Stories. We even have a "Backlog" Milestone to hold all the stories waiting to be tackled. At the start of a sprint, we just move the chosen tasks under the new Sprint Milestone. We could even add Story Points to the Task object and have it roll up to the Milestone for easy velocity tracking.
Love a Kanban board? So do we. Thankfully, Salesforce allows you to create a Kanban view for every object.For a Kanban-style project, we can create one main Milestone to hold all the work. Each Task becomes a card on the board, giving us a clear visual of all work in progress (WIP). We can even get clever and label the columns with WIP limits—like "In Review (3)"—and in the future use Flows to enforce them.
Classic Waterfall? It’s got you covered. This is the tried-and-true method for many customer-facing projects, and it's what the tool was originally designed for. The Project -> Milestone -> Task hierarchy lends itself seamlessly to a phased, sequential approach.
A Funny Thing Happened on the Way to the Timecard…
As we used the tool more, we looked for ways to make it easier to use. I created a "Add a Timecard" button that launches a screen flow. It’s smart enough to know what project you're on and prompts you to pick the right milestone and task. I was pretty proud of it.
Then my colleague gave me some feedback: "It's not working for me."
My first lesson: I had left some debugging components on the page layout. She was running the flow from that component rather than the button. My test case didn't match her user experience. My second lesson was even more humbling. Because I had run the debug dozens of times, I knew when the flow was finished. She didn't. I had completely forgotten to add a final screen that said, "Success! Your timecard has been created." It was a classic reminder that User Acceptance Testing (UAT) isn't just a box to check; it's about customer empathy. You have to see the product through your users' eyes. It’s a lesson we bring to every client project.
I'm always conscious of the return on investment (ROI) for time spent tweaking our internal tools. But the rainy day list is growing with a few ideas:
Connecting to Financials: The building blocks are all there. It would be simple to add a few formula fields to translate hours from time cards into project expenses, pulling rates from the original linked Opportunity.
Proactive Reminders: A simple flow could send out reminders at the start of the week for tasks due in the coming days, keeping everyone on track.
Project Health Dashboard: As we grow, a high-level dashboard showing project status, bottlenecks, and overall hours will be invaluable for managing our portfolio.
This story isn't just about building a cool internal tool. It’s about our philosophy.
We’re Practical: We build or use only what’s needed, focusing on elegant, simple solutions that solve real problems without unnecessary complexity.
We're Experts: We know the Salesforce platform inside and out—from data models and automation to the user experience.
We're Your Partner: We listen, we adapt, and we learn. We understand that the best solutions are born from collaboration and a deep understanding of your needs.
We built our own PM tool because we needed something that was just right. And that’s exactly what we do for our nonprofit clients every single day.