“The less your app is a chore to build, the better it will be. Keep it small and manageable so you can actually enjoy the process.”
– Jason Fried
The above quote is from the best selling book Getting Real by 37signals/Basecamp. In it, they talk about a wide range of things related to building software including a large section dedicated to “process”. The book made quite the splash several years ago in the software world. If you haven’t read it yet, I highly recommend it.
Building software is a process. It can either be simple, or it can be complicated.
If your process is complicated, chances are your software will be too. It’s important to have a process that not only works, but one you enjoy. A bloated, over-architected process will likely lead to a bloated, over-architected product.
Find the process that works for you. A good process is easy to follow, efficient, and painless. It really comes down to three things… people, tools, and methodologies.
It starts with the people. If you’re not hiring the right people, your entire team will suffer and your process will break – or just fail to work in the first place. Don’t try to fit a square peg into a round hole. Hire people who fit the culture and share the same values. Don’t hire on a whim, take your time.
If you’re a young startup, someone coming from a large consulting firm might struggle adapting to the environment. Not that it can’t happen… it can, but be aware of the risks and bring on the right people.
By starting with the right people, you’ll have an easier time getting those people onboard with the tools and methodologies already in place.
Use the right tool for the job.
If a certain software application isn’t working, try something else. So many teams feel “stuck” here… “we’ve been doing it this way for X amount of years, we don’t have time to change”. If you’ve ever said “we don’t have time to change”, let me tell you this… you are wrong and you are only digging yourself into a deeper hole.
The best time to change is now, not tomorrow, not next week, not next year.
Maybe you’re using Jira as your issue tracking tool but your team is getting lost in the mix of features and workflows. Now, this could be a training issue, but lets say you’re a small product team with only a handful of employees. Maybe you can get by with a lighter weight tool such as Basecamp, Asana, or Trello.
Conversely, maybe you’re using Trello for product development. Trello has been your tool since day one when there were two people on the product development team. It’s worked really well, but now you’re a team of 20 and need a more scalable solution. Jira might be the right tool for you now, even though you’ve been using Trello for years.
Don’t be afraid of change. Change can be a good thing. Make sure you’re looking ahead at the future and adapt for the sake of success. Ask yourself where you want to be in X amount of time, and then ask yourself if the tool you’re using can get you there. If the answer is no, it’s time for a change.
Just like there are many different tools to use, there are many different ways to work. There’s agile, waterfall, and each have a variety of different versions. So how do you decide which software development methodology is the right one for you? A good place to start is educating yourself on the various methodologies, then trying them out and adapting them to work with your team.
It’s important to be aware of how well things are or are not working. You can easily dig yourself into a situation where you’re spending money on tools or resources that may not be necessary. If you’re part of a growing team, it’s especially important to have a process that scales. Survey your team and maybe even your customers. Ask for feedback and adapt to fit the needs of your team and customers.
Keep your ear to the ground and don’t forget, it’s never too late to change the way you work.