After some time of pondering upon this question, analyzing our team and those of our partners and competitors (who we actually also consider to be our partners as we are on the side trying to provide the best Atlassian support services :)) we came up with the structure presented below.
First and foremost, it is important to have a person who will know every little aspect, every tiniest detail about Atlassian tools – in our team it is our Senior Atlassian expert. He is usually the one who contacts the clients, evaluates technical requirements of projects, whether they need support or development services, and formulates tasks for other specialists.
Then there are experts that deal with actual tasks. At Polontech, we have two pools of specialists – administrators and developers.
Administrators work with such tasks as Atlassian tools support, including installation, configuration, customization as well as further support and necessary training. A lot of our customers often need some collateral services like server administration, virtual servers setup and support etc., so we try to make sure our specialists can provide them, too.
Then there are developers involved in JIRA and Confluence plugin development and related Java development. It is important for every team to have a clear hierarchy of development subdivision. We try to stick to the pattern when there is a senior developer knowing every detail of the client’s needs and Atlassian tools and setting development tasks for middle developers who are well-versed in Atlassian SDK and JIRA and Confluence APIs and do the most of a specific development work concerning Atlassian tools. They in turn are supported by a bunch of junior developers mainly involved in a general coding process.
Development services often require certain design work, notably creating user interfaces for client’s tools. It creates the necessity for having a designer on board. We usually deal with JIRA and Confluence plugins and enterprise software development which will most likely be not used by exterior users, so there is no need to have a graphic designer in the team, but having a good UX/UI designer who will manage to create usable and easily comprehensible interfaces is of utmost importance.
And, of course, every team needs a QA specialist.
It is always easier to find and fix all possible bugs before handing the deliverables over to the client, and a good QA specialist is one of the key persons ensuring it. A specialist proficient in manual and automated testing can ensure the final product delivered to the client is top-quality and free of bugs which will likely improve the company’s reputation and make sure their clients will get back to them again.
Based on our experience, the team structure described above helps ensure that clients receive top quality Atlassian support and development services and that the processes within the team run smoothly and without a hitch.