Wondering how we code and develop software at XALT? In this blog post, we share some of our guiding principles when it comes to software development of any kind. We were inspired by none other than Joel Spolsky (former CEO of Stack Overflow, one of the creators of Trello, among other things), who described the most important steps of programming back in 2000.
Some things have changed and become simpler since then, but the core principles still apply in 2021 and are a quick and easy way to find out if your SaaS business model is actually as good as you think it is, or if it's reaching its full potential.
If you are in a management or team leader position in a software development company, you should ask yourself the following questions and answer "yes":
(From the point of view of job seekers in the software sector, it is of course always good to know whether your potential employer has its finger on the pulse of the times. )
1. version control - do you use it?
Of course we do, we don't live in the 90s anymore after all. If you want to track changes to your code, manage them, and enable your programmers to collaborate more effectively, version control is critical.
For us, a Git workflow is the be-all and end-all, but depending on the type of project, we use feature branching, continuous delivery, sometimes even Gitflow. Among other things, we use Atlassian's own Bitbucket, as well as GitLab and GitHub Cloud. We place the greatest value on automation.
2. can you create builds in one step?
Yes, and we can even go one better; by using Docker and Bamboo, GitHub Actions and GitLab Pipelines, this is always automatically built for our projects. By using such tools, you can easily automate the integration of code from multiple stakeholders into single builds (keyword Continuous Integration, Continuous Delivery).
3. do you create daily builds?
Yes, daily builds are your friend in identifying problems. But why stop there? With CI/CD and automated testing, you can even deploy multiple builds per day!
We always create daily builds for our customers and also keep test servers ready for them.
4. do you have a bug database?
Yes! Instead of writing bugs on stone tablets, sticky notes, or just from memory, we chose Jira for effective, powerful, and versatile bug tracking. We even went so far as to Integrate Jira with other bug-tracking solutions and never lose sight of a bug. Another great thing about Jira is the easy integration with knowledge bases like Confluence, where you can document all bugs and issues in detail.
5. do you fix bugs before writing new code?
Yes, we always maintain our technical debts. What are technical debts? Glad you asked! We'll go into more detail about what technical debt means to businesses and programmers alike; you can here read all about it.
Essentially, it's very useful to fix bugs before writing new code. Among other things, this avoids having to go back in time in a software project to figure out why the code doesn't work today. The more time passes, the harder it becomes to remember where and when a bug first occurred. Therefore, the methodology of continuous documentation is a great way to achieve this, apart from fixing bugs as soon as possible
6. do you have a current schedule?
Always. We live agile software development every day, so the notion of an actual schedule inherently applies to everything we do.
Our tool of choice on this topic is Jira, which can make planning and managing projects as simple as possible and as complex as necessary.
7. do you have a specification?
You betcha. A product specification is basically a blueprint that describes exactly what the finished product will do, what its core features are, who it's for, and so on.
To make this easily editable and shareable, we use Confluence and easy integration with JIRA issues, as well as a team of highly skilled and smart cookies who can write technical specs for a given issue like it was your grandmother's cookie recipe.
8. do your developers have quiet working conditions?
Oh yes, you should provide your programmers (and all other employees of your company) with pleasant and quiet working conditions.
Whether it's in one of our great offices or at home - if you're work for Team XALTyou have the choice of where you work from.
Even after the pandemic, enjoy the benefits of home office and remote working. Still too noisy? We can also fit you with noise cancelling headphones to help you stay in the zone.
Nine. Do you have any testers?
It's important to have testers on your team. How else are you going to notice a bug or a missing feature in your product? When your customers tell you there's a problem? Yes, that's something to avoid, and testing your software can really help.
At XALT, we use automated tests for our builds in addition to unit tests, for example with Jira and Bamboo from Atlassian. With XRAY, tests can even present in beautiful front ends. You can read all about it here: Automatic test management with XRAY. Also, Selenium is another tool of choice to test solutions from the user perspective.
10. do you do QA testing?
We do that, with the help of Jira and XRAY. You can read more about it in this Blog post read.
11. do you use the best tools money can buy?
Always. Choosing the equipment and tools of your choice is the best way to make everyone in your company feel comfortable. And let's face it - what better way to bribe programmers than to give them all the tools, software, and hardware they need to be happy (aside from decent compensation)?
So when you work with Team XALT, all you have to do is tell us what kind of gear you need and we'll take care of it.
Do you agree with our principles and the way we work? Let us know, and if you're interested, learn firsthand how your company can leverage a few core principles to stand out from competing companies in software development and beyond.
If you are a developer looking for a new challenge in a company that makes working with and on software a pleasure. By following a few basic but very important and strong principles like the ones above, feel free to send us your resume and enjoy a smooth and no obligation hiring process.