The Pillars of a Sustainable Software Practice in Professional Services Development
Published in
2 min readFeb 11, 2021
Originally published to the Sustainable SuiteScript newsletter.
What follows is my opinion on the foundational framework that underpins a successful, influential, enviable SuiteScript team.
- Invest in your people first
- Create valuable, visible, accessible expertise
- Be intentional and habitual in delivering value
- Question and learn continuously
Invest in your people first
- Hiring is disruptive and expensive; it should be your last metric and method of growth.
- When you do need to hire, attract the right talent, and retain them.
- Involve the team in the hiring process.
- New hires don’t hit the ground running, no matter how senior; you have to guide them onto your team gradually.
Create valuable, visible, accessible expertise
- The billable hour is an irrational, unforgiving tyrant; set your fees according to the value of the outcomes you deliver, not the inputs you provide.
- Go narrow and deep in the types of problems you solve; go wide in the types of services you offer to solve those problems.
- Create valuable intellectual property around those problems; reuse, repackage, repurpose it to appeal to more clients in different stages.
- You don’t win clients because of your internal processes. Work in public; share your expertise generously.
Question and learn continuously
- Everyone at every level should seek feedback and welcome constructive criticism; make that easy, safe, and frequent.
- Training is not something employees do on their own time or their own dime.
- Feedback is a crucial part of evolution and learning; continually question and review assumptions, processes, and projects.
- Mentorships are highly effective ways in developing strong skills and great teams.
Be intentional and habitual in delivering value
- Have your team define their standards and conventions, then automate them. Don’t waste cognitive power on your own best practices after they’re established.
- Agreeing to a deadline before starting any work on a software project is insane. Software projects are about decomposition of problems; the same is true of the schedule, the scope, and the budget.
- Keep track of friction in processes; remove it ruthlessly.
- Being busy is not the same as being effective or successful.
More on all of these in the future.
I welcome your feedback and constructive criticism.