Yes, that is the kind of context I was looking for. I’ve been that poor IT admin and solo developer before. Although the reasons are different, I have also been a solo developer on some projects here at Atlassian, where there are 1000s of developers. I know from those experiences how I would want to start a new project. I want to focus on my outcome, not on a assembling a lot of tools and integrating them. I want the “simplest thing that could possibly work”.
The main reason I need “dev tools” is for future me. I’m pretty much going to forget the decisions I made and the technical context after 2 weeks of inactivity. That said, in my experience, most solo developer projects eventually grow up, or at least need hand off to someone else. To me, all of those future considerations are handled by simple version control. And, for the solo developer, there’s very little point in branch-based development. It’s sometimes handy for context switching, but I rarely have reason to push branches to Bitbucket in solo mode. Indeed, there are long stretches when I don’t even push master. For solo me, Bitbucket is just a back-up or way to get code onto different computers.
For CI/CD, I often use Bitbucket Pipelines, but my typical approach is to script up the main dev tasks so I can run them locally with a quick command. That avoids the complicated debugging cycles on a remote machine, while making it easy to use any CI/CD server.
For documentation, I prefer “in repo” to Confluence. Although I’ve been the Confluence champion at 2 prior companies, I have come to prefer text markdown, over WYSIWYG. In solo mode, only my opinion matters! More objectively, markdown keeps content close to the code, which is easier to remember where to look for future me. It means the same code tools are my documentation tools. That’s less to manage.
The hardest question to answer is “to Jira or not to Jira?” When planning, I would rather write specifications, often in the form of executable tests. The suitability of this technique depends on how truly “solo” this developer is. If the needs for software really come from someone else, then we start into collaborative needs. Here too, I find it easier to collaborate on a short document, than on a backlog, especially with non-technical stakeholders. Also, I have strong opinions about limiting work-in-progress, so I refuse build a plan so big that it needs complex backlog management. That also informs my approach to defect management: fix it when you find it. Again, the only confounding factor is what to do about stakeholders. For other developers, like for a solo open-source project, an issue tracker near the code is best (like Bitbucket issues). For non-technical, I would probably try to use whatever they know already. If that’s Jira, so be it. But that means Jira is more for them, than me.
I’ve never had to suffer the kind of management that insists on specific kinds of project management tracking, like a Gantt chart. And I do my best to avoid that kind of “documentation overload” by embracing the agile principle, “Working software is the primary measure of progress.” Delivering a feature or 2 (as defined in stakeholder terms) every 2 weeks has worked well for me.
Now make the step back and look at the big picture: is it really necessary, all of this stuff, really?
In short, no. Absolutely not. I think what Atlassian tools solve for best are the collaborative challenges.
As 1 becomes 2, I would rather apply pair-programming than add a bunch of tools.
But as 2 become 4, it’s time to sprinkle in more Bitbucket, like making sure CI/CD is automatic, not per-desktop. Maybe pull requests for code review across pairs.
As 4 becomes 8, Jira and Confluence make a lot more sense as the work grows. At 8 people, there are likely multiple Bitbucket repos, with planning and documentation needs that should span across them, rather than be locked into 1 of them. Four pairs can do a lot of work, really fast, so more coordination is needed to avoid diseconomies of scale, natural to software development.
All comments are my own, not an official Atlassian opinion; however, don’t think there is any Atlassian dogma that insists even 1 person should need all our products. I’m also curious what other developers here think. I know many of them have built App businesses in Marketplace as solo developers.