Atlassian Rovo
Rovo is a tool to help make sense of our data
A lot of the announcements at Team24 revolved around AI and how it will be integrated with all of Atlassian’s various tools. One big announcement, however, was about a specific AI feature called Rovo.
Rovo helps teams out by performing in three areas - search, learn and act.
Rovo Search
Companies have data, lots of data… how much data, you ask? Well, on average it’s something something like 2 billion data points spread across 200 systems. There is absolutely no way any sane person could make sense of that. Personally I have enough challenges keeping track of the information in the few systems I happen to use regularly that I don’t even consider how it can be combined or used with data from other places.
So we are forced to use tools. Unfortunately many of those tools only see a small portion of that data, making them useful only in specific instances. If I’m very lucky I’ll have an analyst or someone else who is familiar with other data sets that can help me make sense of everything - but that’s uncommon. Even when I do have an analyst who can help me out, we’re still frequently unable to pull everything together - either due to technical limitations (a specific data set isn’t available to us) or due to access or other considerations.
Rovo however, overcomes these challenges. It natively plugs into every Atlassian product, and knows how to interpret that information. This alone is a massive advantage over a human… many times I have to teach someone what data is available, what it means, etc… whereas Rovo knows all of that out of the box.
Even better, Rovo can be connected to non-Atlassian systems to gather information. Sure, this takes a bit of setup, but once it’s done, Rovo is able to analyst and add that data to what it already knows. While a human can certainly do this it takes time to learn the data sets (just like someone unfamiliar with how a Jira ticket is structured has to learn it), which slows down the process and opens it up to risk.
There is one big question that needs to be answered… Security. In order for Rovo to be tied into various systems, it inherently must have access to them. This means if I use Rovo to help me, it’s possible I’ll be exposed to data I don’t have access to… or does it?
It does not! Rovo is designed to respect the permission schemes of the source systems - so if I can’t access it with my credentials, Rovo won’t show it to me (even if Rovo can see it).
Rovo Learn
Data is great - it helps us make decisions, discover new things and make progress. Raw information, however, is generally useless without some type of analysis or organization. For example if you see a project name in a Confluence page it doesn’t really help you if I show you every page that mentions it. Humans are pretty good at finding patterns, discerning meaning and understanding what's going on, however, with the massive amounts of data flying around this is limited.
We are, after all, limited in the amount of information we can keep in our head. (I can barely remember where I leave my keys some days…) Systems like Rovo don’t have this limitation. (Sure there are technical limitations on it, but for the purposes of this discussion they’re effectively meaningless compared to the limitations a single human runs into). Rovo uses this capacity to help humans make sense of all that data.
For example, Rovo can assemble knowledge into “knowledge cards” that display information about a project including team members, milestones, metrics and more. This instantly allows a human to understand more about a project or team - and doesn’t require that human to pull apart multiple Confluence pages or other sources to learn that. Rovo does this by having access to all that underlying data, and is able to pull together contextual information from multiple places.
Rovo can also define terms and acronyms. Personally I’m a huge fan of guess what TLA (Three Letter Acronyms) mean, but not know, or not being able to easily figure them out, can be incredibly frustrating to folks joining a team. Rovo is able to do this across Atlassian, and non-Atlassian, systems. So not only will it define terms you see on a Jira ticket, but also in a Google Doc, or Outlook Email. Imagine how much less frustration folks would have with this type of information easily accessible.
And last but not least, Rovo supports natural language chat. This can either be done from the get-go, or as followup questions about anything it serves up. For me this is a massive plus as it allows users to gain trust in the system by asking clarifying questions. Rovo will even show where it found its information, giving users more confidence that the system is giving them positive information and not hallucinating or giving incorrect info.
Rovo act
Being able to parse through data and determine context, meaning and other things is a great ability of Rovo… however, it does take it one step further and helps users take various actions based on the data it see. Rovo has the concept of “agents” - essentially virtual team members - who can be designed to perform specific tasks.
Agents can be shaped to assist humans in a variety of ways.Imagine waking up and seeing a list of suggestions for how to prioritize your backlog, based on information Rovo knows about the project, its status, and team members. Or what if you needed to draft a marketing document, just ask a Rovo Agent - which has been developed and trained by your own marketing team on your company’s assets and tone - to help.
These Agents appear in the same places human team members appear, making them feel like a team member. To me this blurs the line between “tool” and “team member”, but not necessarily in a bad way. After all, learning how to use a tool can take time and can be frustrating, but if I treat that tool like a virtual team member, it cuts out a lot of the learning curve and friction.
Rovo Agents can be built from raw code, allowing developers a great deal of flexibility in defining what they do, how they behave and what access they have. They can, however, also be developed via no-code options. This allows less technically-inclined teams to develop and share agents with other teams - further enhancing their impact and reducing friction.
My take
We're only getting more systems and more data, so having a tool that is plugged into as much of it as possible and can help us make sense of it all is an obvious next step. This is double true when considering the amount of manual effort it would take to approximate this capability.
I can, however, see challenges in gaining adoption. For example groups may question how secure it is, or wonder how they know they can trust the tools output. After all, many LLM’s and AI operate in a bit of a black box, which can make it hard for humans to trust them (especially if they are used to being able to ask an analyst or other expert how they got to their conclusion.
These concerns, however, aren’t a reason to not develop or use this tech… it is, though, a reminder to be careful in how these tools are introduced to organizations and how they are managed. For example, instead of a “big bang” rollout begin small and find a group that's excited about it and develop targeted use cases. Work with them to determine other use cases, potential issues and other areas to expand into. Then let that group tell others about how useful it can be.
Overall I'm excited for tools like Rovo to come out, they’ll help free us up to do other more interesting things than fight with data. They’ll not only reduce the monotony that exists when wrangling large amounts of data, but also open new areas of inquiry and illuminate areas that otherwise would have been hidden. I can also easily see this tech help smaller teams have an outside impact by allowing them to extend into other areas.
Team 24 Confluence Updates
Lots of updates at Team24 for Confluence - see them here!
I’ve been over at Atlassian’s Team24 event (their yearly conference) and there are loads of interesting changes coming to their various products. There’s so many I’m going to focus posts on each system - starting with Confluence!
Whiteboards
AI sorting
Using whiteboards for ideation is a very common use case… I find, however, that the board easily gets full with sticky notes and other information. Sure, I can manually go through and sort them… but soon AI will sort them by category for us.
I can easily see how this will help teams gather their ideas, but more importantly organize and action them. It will also help reduce the time it takes for a team to go from “we’ve got an idea” to “what do we do”. Shortening this gap is important as the bigger it is, the more energy and excitement the team loses.
Voting
Folks will be able to vote directly on the whiteboard for their ideas. This looks similar to voting on a Jira issue - just click the thumbs up icon to vote on the sticky. Personally I haven’t used the voting features too much in Jira, but I’ve spoken to folks who find it very helpful in getting feedback from bigger groups.
This seems to be another great way to reduce the distance between “we’ve got an idea” and “what should be do”. Having it right in the whiteboard is also great, since folks won’t have to remember to look it up later and target what they wanted to do.
Databases
Pages can be built into databases
Personally I haven’t used databases very much as they’re a bit new, and missing some features I need… however, they now support the ability to build pages directly from a Database. This makes it easy to keep building out confluence and provides two-way linking between that page and the database.
This will speed up my process as I won’t have to go create a page, copy the link and come back any more… I can just create it from the database, use a template if I like and keep going. This will help keep me focused on my planning, and then circle back to the content.
Smart links can be added
This one is very interesting to me… we’re no longer limited to using only Confluence or Jira links within a database, we can link anything. And even better, that link can pull back information like a screenshot if it’s supported. This makes it much easier to build dynamic, and interesting, databases without having to manually copy in that additional content.
Smart links in Content Tree
In addition to smart links appearing in databases, they’ll also now be available in the content tree. Personally I find this to be exciting since many times the teams I work with have resources outside of confluence (e.g. tableau, google docs, whatever), so having the ability to pull them then directly into Confluence and make them a link only further helps reduce friction in using Confluence.
Search / AI
Page Catchup
This feature tracks changes made to a page since you last saw it and summarizes them for you. Essentially an extension of summarizing a page, but something I’ll personally find very helpful since things change a lot!.
Suggested Searches
Suggested searches will now appear (powered by AI) and results should be more accurate. This seems like a small update, but having Confluence suggest searches (similar to how Google autocompletes its search) is a big usability / quality of life feature. It will help folks find content they maybe didn’t know was there and expand their knowledge - the entire point of Confluence.
Search expansion
Search’s scope will expand beyond confluence and cover all atlassian products. This will allow folks to find related information in compass, jira and other places where it otherwise may be hiding.
I think this will make the search feature a lot more interesting / usable as information can easily be in various places. Allowing Search to find it beyond just the scope of the system you happen to be in will make it easier for folks to find what they’re looking for and increase the system’s overall usefulness.
The Importance of Tracking Changes
Every project goes through change… but it must be tracked!
Even the best planned project will need to change its plan at some point. Depending on the methodology used these can be easier, or more challenging, to incorporate, but regardless of how your project is run you’ll need some way of accepting, tracking, approving and deploying changes to The Plan.
Accepting change requests
The process begins with accepting requests for change. This can be as simple as someone adding a ticket to a backlog, and as complex as an official form someone has to fill out and submit to a specific person(s). Determining how your project will accept change should be considered during your planning process, and should be clearly documented.
This process should be shared with your project team and senior stakeholders as they’re the most likely groups to need to submit a change, but the process should also be setup to allow change requests from other sources (e.g. customers, suppliers, etc). Not only will they need access to the process itself, but ensure any documentation around how the overall process works is also available.
Tracking Changes
Change requests, regardless of viability or type, need to be tracked. This could be a simple whiteboard accessible to folks, or a complex software system. What you track may depend on your environment and specific needs of your team. At minimum, however, you should track the following information:
Tracking number - This is a unique identifier that allows folks to refer to a specific change request. This makes it easier to discuss and track throughout the system.
Description - A description of the requested change, including why it is being requested.
Requestor - The individual who requested the change. Followup questions, status updates and other things will be sent their way.
Status - Indicates where the request is in the workflow (e.g. “new”, “rejected”, “Accepted” etc).
Impacted area - The area of the project this request impacts. This could be a specific task(s), milestone or part of the project and is intended to help determine the risk this change request represents.
Approving Changes
Historically this is where I find waterfall projects get a bit of a bad rap since each change has to be evaluated by a change control board and approved or declined. This is an extreme version of change control, but it does offer some advantages that help ensure the change is handled as safely as possible:
Every change is evaluated
The appropriate stakeholders sign off on the change
Unfortunately it does have some downsides - mainly it can take a while for anything to get approved. This puts the project at risk of missing out on critical changes or pushing the timeline if something truly needed is delayed.
At the other end of the spectrum are approaches like Scrum, which allow anyone to submit a feature request or a change, which is then evaluated by the product owner. This has the opposite benefits of waterfall:
Much less friction in submitting requests
Changes can be evaluated and approved more quickly
Personally I find this makes it easier for changes to be considered, and adopted. That said, I also find that agile projects end up with a backlog that goes on forever as many groups don’t take time to go through and either reject, or archive, requests they won’t do.
Your specific will help dictate what your approval process is - typically some form of signoff is needed, however, how much evaluation each change goes through and who has to signoff can vary.
Monitor the Change
Approving changes helps avoid potential risk or negative side-effects, however, they still need to be monitored to ensure they place nice with the rest of the project. You can tailor your monitoring efforts to the size of the change - bigger changes = more monitoring - but in general I like to check in on any change a bit more frequently than other items.
Change is good… when controlled
Change isn’t anything to be afraid of - all projects go through it - but it is something to keep an eye on. Having a process, and making sure your team understands how to follow it, is critical to having changes happen in a graceful way.
Don't blame the tool
I frequently hear discussions along the lines of 'xuz is a terrible tool'. My knee jerk is to want to ask more - why do you think it's a terrible tool? What did it do or not do, to cause that reaction.
These are good question - but there are better ones to ask if you want to understand why someone thinks that. Questions like 'ehen it was setup did your team fully understand how to use XY tool? ', 'did the group who installed it take time to understand your needs?', 'did the folks using it get training on how to use it, and how to use it for your needs?'
Frequently I don't get answers to those questions because folks don't know. They inherited a system or joined the company after it was implemented. This is fine, however, I've noticed it can doom a system, and a team, to repeat mistakes and get stuck in blaming their tools.
Tools can be the source of trouble. They may lack a specific feature, or have bugs, or be hard to use. These are all legitimate complaints and issues that need to be addressed, or, at the very least, understood by the groups using it. After all, if I'm aware my tool has a known deficiency I can at least plan around it.
Many times, however, I find folks blame their tools without examining other things that contribute to their perception. Things like training, process mapping and understanding intended use.
Training
The eample I always think of here is an equity team I worked with wanting to stop using Jira and go back to zendesk. I asked them to brainstorm all their issues, and then share them with me. After that we met for half an hour, and I resolved all but one of their complaints, and solved the final one the next day.
Their complaints ranged from Jira not showing tickets a specific way to it missing features. The root cause wasn't that Jira was deficient, instead it was that the equity team didn't understand how to use the tool. They didnt know they could build a dashboard to show them information, or that they could easily reassing tickets.
Ensuring users, especially the ones responsible for using the system on a daily basis, know how to use the system is paramount to adoption - after all it's their job you're changing.
Process mapping
I'm frequently telling teams I work with that we shouldn't even consider using a system until we can map our our processes on a whiteboard. Being able to do this means we actually understand what the process is - who is responsible for what, where to go for help, etc. if we don't understand what it should be, there's no way a system can support it.
Process mapping is simple - just start drawing. Keep adding steps until either you don't know what's next or everyone agrees it's complete. Clearly indicate any gaps, and then go find someone to help fill them in (this can be a bit of a journey depending on how big the gap is!).
Don't start using a new system until you understand the process genetically - if you don't know it the system can't.
Intended use
Similar to understanding a process, understanding what a tool can, or should, be used for is a common challenge.
Schedule Crashing
Crashing means putting more resources on a task to finish it… but not all tasks are crashable!
Planning a project is a lot of work. There's dependencies, resources risks, assumptions, competing stakeholders and more. You've got to juggle all of those thoughts and demands and somehow come up with a project plan that gets you from nothing to something.
And then you realize some task won't get completed on time... There's just too much work. Luckily there's a way to help speed that up - crashing. Crashing a task is basically throwing more people at it to get it done faster. Only have one person and have ten widgets to build? Get five people and go five times as fast.
It is a great option for o help speed things up, but has several limitations that need to be understood....
You need to right resources
Every task in a project has a specific set of skills needed to complete. For example building a website requires someone who knows HTML and CSS. This need should be accounted for in planning to ensure the task can be accomplished, however, it doesn't mean you'll have others with the skill available to crash a task.
Depending on your team you could get lucky and have multiple individuals who have the necessary skills available to crash something. You might even be able to get by having one resource quickly train others (although this introduces a risk that they'll do something incorrectly...).many times, however you simply may not have the correct resource available.
Crashability
Many tasks can benefit from crashing. Data entry is one example I frequently run into... Two people will update a spreadsheet twice as quickly as one. Some physical tasks, like moving materials or preparing a work site are also good examples as multiple people can work together to speed them up.
There are, however, tasks where that isn't true... The standard example is having a baby - there simply isn't a way to speed that process up. Some tasks require waiting - for example proofing bread - that cannot be sped up even with more resources.
The challenge is to understand the difference - which takes can you crash, and which can you not? There are some characteristics I look for when trying to figure out if a task is crashable:
Repeatability - Are aspects of the task repetitive? If they are then the task may be a good candidate for crashing. Since the action actions happen multiple times they’re easier to train up others on, and there are more opportunities for others to help. Data entry is a good example of this.
Complexity - Simpler tasks tend to be more crashable as the skills needed are more widely available. This makes it more likely that your team has the skills spread across multiple resources.
Resource Availability - Getting more resources to work on a single task is more expensive - either in time, money or opportunity. There may be times when you simply cannot afford to crash since your resources are tied up elsewhere.
Crashing can be a great way to get things done in time - but like any tool you need to know how it’s best used, and the tradeoffs!
Handling Sensitive Information
Modern knowledge bases like Confluence are great things. They let us store and track information, share it with our teams, and make it incredibly easy to share information. While Confluence makes this process easy, sometimes it can make it TOO easy, allowing someone to accidentally share sensitive information.
We’ll dig into this problem, as well as how tools like SecurEnvoy (learn more here, and get a free trial) can help organizations mitigate the risk of sensitive information getting out.
The Problem
We’re in the information age - and information is everywhere. Fortunately tools like Confluence help us focus that into usable formats. While this is a great thing, it can end up hurting us if sensitive information gets shared to folks who shouldn’t have it. This information can run the gamut from things like business plans and project documents, to personally-sensitive things like Personally Identifiable Information (PII), health records, immigration information and more.
Tools like Confluence can also surface information to individuals outside your organization in the form of help center articles, product updates and more. This presents the possibility of sensitive information being exposed publicly, which is substantially worse than if it was only exposed to an internal audience.
Many modern systems do not have built-in systems or tools to help either prevent this information from being added to a system, or identify it if it’s in there. This creates a massive headache for groups that use these systems - how do you ensure your system does NOT contain sensitive information?
Solutions
There are several ways this problem can be addressed
Manual reviews
Get a group of people, teach them what to look for, and let them loose. After a time (typically determined by the size of your database) they’ll come back with their results.
Advantages
Anyone can do this - Just get some folks and train them on what to look for, and what to do when they find it
Disadvantages
Cost - This requires a large amount of person-hours to perform. You’ll either be pulling resources from other, more important, tasks, or hiring outside help to do it.
Risk - Even the best-trained individual can miss things, so you are exposing yourself to the risk they’ll miss something. In the realm of compliance this can be an incredibly costly mistake.
Continual effort - Your knowledge base is constantly changing, and these types of audits are only helpful for a point-in-time. By the time the audit is done, you may have to run another one.
Policy
Set clear policies and expectations so your team knows what information can be stored where.
Advantages
Compliance - Typically this type of policy is needed to ensure various compliance requirements (e.g. GDPR, SOX, etc) are met. Since you’ll need to be doing this anyway, make sure folks know about it.
Deflection - Many times people make an honest mistake and include sensitive information somewhere they shouldn’t. Educating them on what is OK to post helps avoid those mistakes.
Disadvantages
It’s passive - A policy can help prevent sensitive information from being posted, but it can’t actively stop it, or find violations.
Ignorance - Individuals may be unaware of the policy and violate it accidentally
Active Scanning
Use a tool, like SecurEnvoy, to actively scan your knowledge base, file servers, etc for potentially sensitive information.
Advantages
24/7 scanning - SecurEnvoy provides real-time scanning that identifies and helps mitigate sensitive information in a range of places (Confluence knowledge bases, end points, file servers, etc). And it doesn’t sleep….
Active mitigation - SecurEnvoy can take actions to help mitigate the risk, including tagging resources for followup action, emailing individuals and more
Cost savings - Automated tools have a significant cost saving over manual audits (check out this case-study of how a bank reduced scanning costs by over 93% by using SecurEnvoy).
Accuracy - Scanning software won’t misread numbers or make similar mistakes. Once you’ve setup your rules (e.g. find Credit Card numbers) it will find them. Every time.
Flexibility - SecurEnvoy lets you setup your own rules, for example searching for a project name, or unique character string. This allows you to define what is considered sensitive instead of being stuck with a set list.
Disadvantages
Setup cost - Active scanning tools have some type of setup cost (in time and dollars), however, they pay that back by
Administration - Someone needs to administer the tool (e.g. set it up, followup on alerts). Some, like SecurEnvoy, however, are mainly “set-and-forget” - once you’ve setup the scanning jobs just sit back and wait for alerts.
Path Forward
Focusing on a combination of Policies and Active Scanning is the best way to help ensure your systems don’t accidentally let sensitive information get exposed. Policies help reduce the chance sensitive information gets introduced to your systems, while tools like SecurEnvoy help catch it if some sensitive info gets out.
Curious to learn more? Check out SecurEnvoy here (and get a free trial)
Templates Are Your Friend
Templates help speed up your process, and make content more user friendly
I’ve created a lot of Confluence content. Sometimes the content I’m creating is unique, or at least uncommon. More often than not, though, the content I’m creating is similar to something else I”ve already done. How-to pages. Policies. Meeting notes. The list goes on.
Earlier in my career I found myself creating all that content from a blank page - it is, after all, the first thing you see when you click create. While this gave me a blank canvas to work on, I quickly found it to be time consuming to add the same formatting options, or macros, or headers time after after. It can also be a bit daunting to stare at that relatively blank space and get started.
A fix
So, I stole a trick I used in other systems - copy and paste! Just open up another page that looked like the one I wanted to build, copy everything and paste it on my new, blank page. This worked… However, it required that I go over the copy and remove anything that related to the page I was copying from. At best this resulted in me taking more time than I would prefer, at worst I’d miss something and leave incorrect information on a page (not the end of the world, but annoying and embarrassing!).
This process of copy, paste, edit, write continued for a while, until someone pointed out Templates existed. I’m honestly not sure how or why I didn’t use them before, but once I did I got a lot faster at creating solid content.
Managing Templates
The sheer number of available templates is a bit staggering, so I quickly found it worth my time to manage them a bit:
Use the search bar and filter options - You can certainly scroll through the 100+ templates in confluence… but that takes time. Instead, just use the search bar at the top (or the filter options) to quickly pare down the list.
Star favorites - Starring favorites makes it much easier to locate and it only takes a few seconds to do. Typically I find myself only using a handful of templates (even including new ones I’ve made), so doing this is more than worthwhile.
Remove them - If you’re really feeling up for it, go into space settings and remove unnecessary templates. Personally I find I don’t do this since it takes a bit of time, but many of the templates displayed never get used, so just rip them out.
Edit existing ones - Sometimes you’ll find a template that doesn’t QUITE meet your needs… don’t suffer through editing it every time you want to use it - instead go edit the template in space settings. This ensures every time you use it, it will be exactly what you need.
Make new ones - While the 100+ stock templates can be useful, you will likely find you have a specific need they don’t meet. Take some time to make your own template the fits your exact use case. This does take a bit of time, but it will both save you time constantly editing new pages, and also remove the mental burden or worrying about that time spent.
Other benefits
I’ve found that taking time to manage templates in a space doesn’t just help me, it helps everyone else creating content. Many folks I talk to mention formatting and not knowing how to setup a page as being a hurdle to making content, so by cleaning up templates and making them more useful to your team you’ll be helping knock down barriers to entry.
Driving Adoption
Getting your team to adopt a new system or process is challenging - but not impossible…
Getting a new system or process setup is a challenging process. You need to build buy-in for the idea, convince folks to spend money and time acquiring it, and then actually go and get it. Getting to this stage is a big accomplishment… but the work is only just beginning.
Once you’ve got a new system or process, you need to convince the broader audience of your organization to adopt and use it. Many teams will spend a lot of time and resources on implementing the system, on to run into challenges with adoption as they don’t give it the same focus.
The acquisition phase of a project typically involves a smaller, more focused group, the adoption phase expands the focus to a much broader audience (sometimes the entire org!). This means that while the general form of securing adoption is similar, you’ll have to use different tactics and strategies to communicate with them.
Identifying Users
Adoption begins with identifying who should be using the platform. For example a new legal system might impact all of Legal, but also other users who would submit requests. A new ticketing system would impact support, but may also need to include folks from IT to help administer it. A new knowledge base may impact the entire company, but have a deeper impact on some specific individuals as well.
Many times these folks may seem self-evident, but making time to dig in and understand who will be expected to use the platform is still important. Not only will it validate your assumptions (something that in itself should be done more) it will also help uncover other groups who may not be as obvious. Identifying who will be impacted is also critical to the next step - understanding what they’ll be doing with it.
Understanding Needs
Once you’ve identified who will be expected to adopt the new platform, you’ll need to determine what they’ll be doing with it. For example knowing that HR will be expected to use a knowledge base is one thing, understanding how they’ll be using it to craft and share their policies is something else entirely.
Depending on what resources you have available this may also be done in conjunction with outside help (e.g. whomever helped implement your system). That said, this step should always include some representation from the impacted teams - after all, they know their processes and needs the best! Work with those groups to identify champions - individuals who are engaged and motivated to help out. Champions will help you not only uncover use cases and processes, but also help in future steps - building documentation, evangelizing and more.
Training Development
Once you understand what the target groups will be using the tool for, you’ll need to get detailed training and enablement information together. This could take the form of vendor-provided recordings or other off-the-shelf information, but it should be supplemented with tailored training for your team. (I find that off-the-shelf information is great for more generic processes, e.g. “how to enter XYZ record”, but specifics vary wildly between groups, so having details unique to your org is critical).
This is also a great place to involve your champions, or other individuals from the impacted group, as they can help build, or at least review, the training material. This will both help catch weak-spots, but also make buy-in a bit easier as you can have those individuals help train others.
Your training should also consider different methods - written, recorded and live - to help capture the broadest possible audience. This does take some more effort, however, having different mediums available helps ensure more folks actually take the training.
Communicate
Communicating typically happens at all stages of this process, however, now it is beginning in earnest. Not only will you be communicating status updates to stakeholders, here you’ll be sending targeted information to groups that will be expected to use the platform. These could take the form of detailed schedules explaining when things change, index of training, invites to live training and more.
The goal is to ensure no one is surprised by the change, as well as that everyone understands the impact of changing to a new system…. After all, it will require everyone to change their habits and how they work, so they should clearly understand what is happening.
Communication shouldn’t only come from you, however… work with executives and leaderships to help spread the message (one trick I like is to get a short video of execs endorsing the platform.. It’s a very low lift that can have a huge impact). Working with individuals who are well-known in the target group and having them send comms is also a great way to help increase the impact of your communication.
Followup
Once the system is live your job isn’t over - it just changes shape a bit. You’ll still need to focus on communicating updates, expectations, stats and more to help support the team. Follow-on training is also always a good idea, as are showcases drawing attention to ways the tool is being used (e.g. “look at the amazing work HR is doing - you can do it too!).
Many teams find it helpful to schedule regular reviews of their adoption - quartlerly or twice yearly. This gives them a set time to sit down and review how things have been going, determine next steps and improve offerings. This step is commonly missed, however, regular reviews give you a great opportunity to improve adoption over time.
Conclusion
Adoption is one area that many groups struggle with - but it doesn’t have to be a challenge! Taking time to pull together a team and supporting the impacted groups is always worth the time spent.
The Importance of Ticket Deflection
Answering tickets is great - but preventing the need for them is even better.
Any given support team will collect a large amount of tickets. These can range in complexity from simple to complex, and require a wide range of skill sets to manage, track and resolve.
The first step in handling those tickets is to gather them all in one spot with a tool like Zendesk, Jira, Asana or something else. This allows groups to track their status, report on them and manage the workload. Generally a small group (sometimes just one person!) handles all the tickets.
Eventually, however, the number of tickets and the types of tickets that come in begins to grow. That small team will find itself buried under a landslide of requests, and will be rapidly shifting from one type of ticket to another. This constant pressure, and need to context switch takes its toll.
Tiered Approach
To help address the wide range of tickets that come in, companies tend to evolve a multi-tiered approach for their support teams to handle the influx:
Tier 1 - This is the front line and is equipped with stock responses to as many tickets as possible. They’re typically trained how to triage any given ticket, and if they have a response to provide it. Examples of tickets this group can handle are things like password resets, simple Q&A and general feedback.
Tier 2 - This is a more specialized group that takes over any ticket that Tier 1 isn’t equipped to handle. They may have some stock responses, but generally this tier has either access or training that the Tier 1 group lacks. There are, however, some things Tier 2 can’t handle.
Tier 3 - These are your super-experts and they handle the most complex or challenging topics. Ideally only a small percentage of tickets end up in this group as there tend to not be many of them, and the requests can take a while to respond.
This structure allows the team to specialize. Some agents tackle the large numbers of “simple” tickets, while a smaller number focus on the “complex” ones. This increases response times, as well as satisfaction, as the simple ones are knocked out more quickly, while a more knowledgeable agent handles the harder ones.
This approach, however, requires humans - someone who is trained in how to respond to, and resolve, issues. In many cases a human is required to help out, however, employing someone to answer tickets can be expensive, and it can result in it taking longer to get an answer.
The 0-eth Tier
This is where ticket deflection, or Tier 0, comes in. This tier is everything the customer can do BEFORE asking for help. It could involve reading a wiki page, asking a chatbot something, or trying it themselves. There’s a wide range of things this COULD be, but they all result in the customer getting an answer/help without having to interact with someone on a support team.
Examples include:
A knowledge base - Having robust, customer-facing documentation is a great way to empower customers to answer their own questions. These do take time to setup and maintain, however, directing customers to them is significantly cheaper than having a human answer at ticket. Many customers also want the ability to lookup information on their own, so having a knowledge base available also helps fill that need.
In addition to questions and answers, knowledge bases can also contain step-by-step guides customers can try on their own to resolve their issues. This subset of information gives customers one more thing they can do before having to interact with your support team. This allows customers to get help 24/7, and further reduces the demands on your support desk.
Chat bots - Chat bots are getting a LOT smarter and a lot more helpful. While there are certainly some gaps and features that aren’t quite there yet, these interactive tools make accessing information and guiding customers to responses a bit quicker than search. Some of the newer tools are even able to take action on behalf of a customer - for example resetting their password. This reduces the number of things your TIer 1 team is responsible for, both simplifying their workload but also reducing it.
Automated Tools - This one can be a bit trickier to setup, but having a tool the customer can use, without having to access a support team, is another way to deflect tickets. Resetting a password is a common example - customers click a button and go to their email to get back in. This shortens the distance between the customer having an issue and getting it solved.
Typically Tier 0 starts out as a small help-center, however, it should be constantly evaluated, expanded and updated as time goes on. Not only will older content need to be refreshed, but new pages, tools and guides can be added.
Tier 0 Improvements
Agents should be constantly on the lookout for opportunities to improve Tier 0. Not only do they see all the incoming requests, but they have solutions for them. There’s several ways this can be done:
Writing (or rewriting) articles - Agents are typically closest to the problems, and solutions, so they should either have the ability to directly edit or update articles, or have a process to suggest changes.
Product improvements - Agents should have a pathway to suggest product changes to avoid the need for a ticket. These suggestions should be reviewed by product, marketing, or other teams, to see what can be incorporated to help alleviate the need for a ticket.
Training materials - Agents should suggest ways to train customers or users on how to use systems. This can directly reduce the number of “how do I do X” tickets.
Deflection can be a bit tricky to quantify, after all you’re stopping them from having to do something (put in a ticket), so you may never know how much it’s REALLY impacting. There are a few ways to keep an eye on it.
Knowledge base utilization - Tracking which pages are used can give you insight into how much pressure it’s taking off your ticketing system. For example if you add a new article on password resets and that ticket type drops, you can infer the article had some impact.
Automated actions - The number of times your chatbot (or other tool) takes actions is another way to see how effective it is. Each password reset done automatically is essentially a ticket that wasn’t submitted.
Ticket deflection is incredibly important to a successful ticketing system. Not only does it reduce pressure on your support teams by both reducing volume and the number of things they have to handle, it empowers customers to take action… and is faster than putting in a ticket. There is a bit of legwork needed to determine what can be done, but it’s more than worth it.
Are system evaluations important? (Yes, definitely!)
I learned a valuable lesson early on - never, ever, pick a system randomly.
I worked at a company once where we used a particular software tool to manage our projects. It wasn’t a bad tool…. But it didn’t quite fit our needs. My team spent a LOT of time figuring out how to make it work, which not only distracted us from work it made us more than a bit frustrated. We didn’t have a choice though, so we suffered through using it, and finally, after about a year of pounding a square peg into a round hole we asked why we used that particular piece of software.
The answer… was a bit shocking.
Basically an executive was asked what we should use, and they pointed at the one we had and said “that one”. That was it. No further discussion. No questions asked. No requirements gathered. Nothing.
I had a feeling back then, and have since learned, that that is NOT a good way to pick a system!
Positives and Negatives
The positive aspects of randomly picking an option is it’s quick. You’ll get to the end of your “selection” process faster than you could otherwise. This can be an attractive prospect as system evaluations can take a lengthy amount of time and resources to complete.
In some extreme situations there can be an argument for speed, but I have never encountered one where every other aspect of the evaluation was thrown out the window. Needing to move quickly isn’t an excuse to not conduct due-diligence.
That positive aside, there’s a TON of negatives… things like:
Price - other options may do the same things (or do them “well enough”) more cheaply, or can be implemented more quickly. If you don’t evaluate those systems you won’t even realize you’re paying more for something.
Features - The one you pick may not do what you need, or may do it in a way that makes it challenging or onerous for your teams to adopt. Critical features can fall into this bucket, making a quick selection incredibly painful for teams when they realize their new system doesn’t do something they need to be successful.
Compatibility - The one you pick may not integrate or be compatible with other systems or processes you have. This can result in your teams having to do additional manual work to transfer information or get what they need. At best you may need to build custom integrations between systems, which introduces greater cost and risk, and in some cases may not even be possible if you don’t have the resources to integrate (either money or people).
Duplicative systems - You may already have a system that meets your team’s needs. Failing to recognize this could result in you ending up with two, VERY similar systems. This increases the administrative and budget overhead and adds unnecessary complexity to your tech stack.
Any one of these on its own should be enough to not randomly pick an option… all of them together make it a painful, and costly experience.
Doing it right
Instead of pointing randomly, groups should go through a more formal evaluation of their requirements and their options. This doesn’t have to be a months long, in depth endeavor, but it should at least involve some thought about what is needed, and how the options meet those needs.
Typically this process includes things like:
Identifying stakeholders - who will be using the system, or be impacted by it? Depending on their level of involvement stakeholders should be involved in the selection process to help ensure their needs are met. This list should include direct users, but also teams who would have to support or build the system (e.g. IT, engineering, etc).
Determine requirements - what challenge or issue needs to be solved and how should the system do that? The stakeholders identified in #1 can help pull this list together, but this is a critical step (one that the company I worked at definitely skipped!). By the end you’ll have a list of things you need to be successful, and while you may not get all of them, understanding what is needed will help you make a better choice.
Get options - After you know what’s needed, go and find potential options. This could be as simple as some quick googling, or an in-depth examination of what’s out there. Personally I find this to be an interesting step as I get to learn about what’s available.
Eliminate some - Compare your options against the requirements. Do any clearly NOT meet your needs? Sometimes you can figure this out just by looking at their website, other times you may need to send an email and ask for more info. Doing this helps weed out options that are clearly not a good fit, and saves time later.
Get more information - Once you’ve got a shorter list, dig in and really compare the rest to your requirements. Get a formal demo. Talk to other customers. Figure out how it really works. While it’s uncommon to find a system that really does everything you need, this will help you find the best possible fit. Have a core group of your stakeholders (especially from the group who will use the platform) get involved in this step as they’re the ones who will be stuck with the final outcome!
User Acceptance - If you decide to go forward with a new system make sure your stakeholders have a formal acceptance. Let them use the system and determine if it meets your needs… if not, work with the vendor to update or change things, but don’t just blindly accept that it works as expected!
All of this does take time and effort… however, it’s always cheaper to go through this process than to end up with a system that doesn’t meet your needs. Not only will you have to replace it, you’ll have to retrain everyone, find a new system, and rebuild credibility.
A great side effect of this process is it also gives you a great opportunity to build buy-in for the new system, to update processes and policies, and further enhance how your team operates.
Does it take time and effort? Yes.
Is it worth it? Definitely.
Learn by Teaching
It seems odd but teaching is a great way to learn a skill.. and help someone else!
I read somewhere that one of the best ways to learn and remember a skill is to teach it. On the surface this doesn’t make much sense… if you’re teaching something, you should already know it, right?
Dig a bit deeper though, and you’ll realize that teaching something not only requires you to understand the skill or concept - it requires you to rethink how you understand it in a way that helps someone else understand it. That sounds a bit odd, but hear me out.
When I teach someone something, it doesn’t help them if I explain it in a way that makes sense to me (ok, well maybe it helps them a little). This is due to a few reasons, but mainly - they don’t think the same way I do, and they have a different background and set of experiences. These differences blunt the impact of any explanation I provide that is entirely tuned to my background and my thinking. It also forces them to spend time and energy trying to relate to my explanation - time and energy better spent learning.
The challenge in teaching, then, is reshaping how something is explained to best match the learners background and understanding. This requires a great amount of mental gymnastics on the part of the instructor, as not only do they have to hold the idea or concept, they have to understand their student pretty well too.
This is what makes teaching a great way to improve your own skills. It essentially forces you to relearn something from a different perspective, which helps solidify concepts, challenge assumptions and bring up new ideas.
Working with one student, or a group, over time makes this easy. The longer an instructor and student have together, the better in tune they’ll become. This is what makes long-term relationships with a teacher so powerful - they get to know you, but more importantly they know how you think and learn.
I find it odd that more people don’t teach skills - it’s an amazing way to solidify a skillset. I definitely understand that some folks don’t want to, and that’s totally OK… but for the rest of us teaching a skill is an incredible way to get better.
How to start
Teaching something doesn’t require us to be college professors in a classroom with dozens of students. You can teach something to an individual on a coffee break. It doesn’t even have to be a complex skills - a simple introduction to a concept or idea helps both the student and the instructor get better.
The size of the group does change how someone should approach teaching, as does the medium…. Teaching one person over Zoom is a LOT different than teaching 20 people in person, which is different from teaching 1000 over a recording, which is different then a 1 on 1. And while the instructor will learn different things from different groups and sizes, teaching someone you’re comfortable with, in a setting that works for you is still really beneficial.
Go teach!
So, my challenge to everyone is to teach someone… something. Pick a thing you understand well and find someone who wants to learn it. Take some time to get to know them and what they want to learn, and then expand your own thinking and teach them that thing. Pay attention to how you have to challenge your own ideas about the topic. What do you have to rephrase? What new analogies did you come up with? How did YOU grow and learn from teaching that person?
How to get into Project Management
Project management is a great field - but taking time to understand why you want to get into it, and understanding your skills, is really important.
A common question I hear frequently is “How do I get into project management?”. Typically it comes from individuals who are new to their career and are interested in becoming a project manager (PM), but folks looking to make a career change also consider it. After answering this question several times I figured I’d collect my thoughts on the answer and share them below. Hopefully they’re helpful!
Why are you interested?
The first thing I ask someone who expresses interest in becoming a PM (or anything else really) is why are you interested? There isn’t really a wrong answer to this, but understanding why someone wants to become a PM helps them figure out how to get there, or maybe helps them figure out it’s not for them. For example, wanting to become a PM to help improve the lives of under-priviledged people is different from wanting to be part of building something big.
Understanding their “Why” not only helps guide them in terms of where to apply their time and energy, but may also help determine which type of project management they should look into. For example if they want to be part of construction projects then Waterfall projects are likely a better fit. If they want to build the next Big App, Agile is likely a better fit.
One important thing to note is that while you contemplate your Why, you may determine Project Management isn’t for you - and that is OK! Discovering that about yourself is a very important thing, as it will let you focus on something else that you’ll get more excited about.
What project experience do you have already?
This question is a good way to baseline where someone is, and also helps figure out next steps. It’s also a bit misleading, as almost everyone has SOME kind of project experience.
Just out of university? I’m betting you’ve been part of a class or group project and had to navigate stakeholder management (e.g. your project team).
Ever done a home project? Many things we do at home are projects. Do you have a garden? Build Lego? Install your own gutters? All projects.
Never been part of an official project? I’d bet the team you were on had some projects going that you were aware of.
Been part of a project team, but not the PM? You’ve definitely picked up some bits and pieces of how projects work.
Knowing what experience you have is important as it helps you figure out where your knowledge gaps are. Personally I learned many of my PM skills by doing… which isn’t necessarily the best way. This gave me a deeper understanding of some of them (e.g. communication), but I was totally lacking in others (resource management). This required me to improve my general knowledge to first understand what I was missing, then targeted learning in those areas.
What options are available to you?
I’m still working on a way to instantly become a PM, so the next question I ask is what options are there? Some individuals are in a position where they can take extensive training courses at work to learn the skills, others have an intense job that limits their time, and others are between jobs for various reasons and have other restrictions.
There are certainly a LOT of different ways to learn PM skills, including, but not limited to:
School - Many universities / colleges offer certificates, or even degrees, in PM. I took a great community college course on PM, and it was also part of the masters program I was part of.
Paid online learning - There are a ton of online learning options for PM (instructing.com is a great one, and I have several Udemy courses on the topic). These can offer intensive courses, or packages to help improve skills. Some will also prepare you for certifications (more on those below).
Free online learning - There’s also a ton of free online learning (check out my youtube channel).
Books - Personally I learned a ton from various PM books (like this oneLINK NEEDED). For a relatively small investment (in dollars) and larger investment (in time) I picked up a lot of the basics.
Mentorship - Some company’s offer formal mentorship programs, and informal mentors are almost always available if you look around. I find these tend to be better if you’ve got a starting point, but can also help someone get into being a PM.
There may be more options out there, but taking time to understand what is available is crucial as it helps guide learning.
Entry level roles
Finding an entry-level job in Project management can be challenging, but there are a few titles or roles to look out for:
Project Coordinator - Coordinators tend to assist project managers by helping manage things like scheduling, documentation and more. This is a great way to get exposure to project management without being responsible for running the project.
Project Analyst- Analysts typically focus on specific areas, e.g. risk management, contracts, etc. This type of role may be easier to get into if you already have experience in that area, but it will expose you to project management in general.
One thing to keep in mind is that every company may call the job something different, so it’s important to read the job description.
Closing Thoughts
I thoroughly enjoy my time in project management. It’s helped me learn a ton of great skills, exposed me to some really interesting people and helped me grow as a person. It does, however, take some internal work to get into and to thrive in. That said, the time you spend considering this is more than worth it.
Many ways to solve a problem
On a recent flight I noticed many solutions to the same problem - how to watch your phone… This got me thinking on problem solving in general…
On a recent 5+ hour flight I noticed something. It wasn’t that the snacks were terrible and the drinks were slow. It was that many, many people had run into the same problem… and came up with different ways to solve it.
The problem wasn’t anything really major - they weren’t fighting with their neighbor over their armrest or realizing they lost their luggage, instead, the problem they had was “How do I prop my phone up so I can watch video on it?”.
Flashback
Growing up I remember flights having an inflight movie. The movie was projected on a single screen at the front row, and repeated on small TV’s down the aisle… and if you didn’t like the movie, tough luck. As technology progressed this eventually turned into seats having their own TVs (which was an insanely amazing upgrade!).
Now, we’ve come full circle… planes don’t have screens any more… but everyone has their phone! Unfortunately the nice people at the phone company’s don’t make it easy to watch something on your phone for a long time.. No one wants to hold it up for hours on end, leaving us with a communal problem - how do I watch something on my phone?
Many Ways
On the flight I was on I observed at least a half dozen ways to get around this issue.
A phone case with a kick-stand
Propped up against the seat in front of you (not a good idea if they decide to recline!)
In a ziplock bag hanging from the closed tray-table (I really liked that one)
Propped up against a sock (hopefully a clean one?....)
Hanging from the closed tray table by the back of a case
Wedged into the magazine holder above the tray-table
What interested me about this wasn’t what people were watching (mostly sports-ball), but rather how many solutions to the same problem I saw. Each individual approached the issue of not being able to watch their phone in a different way, and based their approach and solution on what they had available. Even though each person had a different method, each one still solved their problem.
This got me thinking about problem-solving in general. Every day we address, and overcome, challenges… and rarely is there a single way to do that. Instead, we solve problems in different ways based on our skills, knowledge, what we have available and more. There isn’t a single right answer, but instead many answers that get the job done.
This also challenged my own bias to my own solutions.. Sure, I think they’re good / correct / etc., but they’re rarely (ok, basically never!) the best possible way to do something. That doesn’t mean they’re bad since they get the job done. The danger is thinking they’re the only answer.
The path of “there’s only one answer” gives us a number of extra hurdles we have to overcome, including:
We may not have the most effective answer - Sure, using a specific tool was really useful at some other company or situation, but it may not be the best option here.
We cheat ourselves out of growth - Sticking only to what we know robs us of learning. We won’t learn how to use a new tool, or how to approach a problem in a new way. Instead, we just do what we know, which doesn’t lead to growth.
It may be more expensive in time or money - Sticking with the single answer we find may not be the fastest or cheapest way to get something done. Other tools may still get the job done while being faster, or cheaper.
How to find new answers
When I can’t come up with a solution to my problem, or if I find myself assuming whatever I come up with as being the best solution, I consciously try to break out of that thinking. This can take several forms:
Forcing myself to use a different approach
Researching other ways to solve the challenge
Talking to others about how they do it
While each of those steps comes up with (hopefully) new answers, what it’s really doing is helping me think differently, and to challenge my internal assumption that my answer is the best. I find this makes problem solving more interesting since I get to learn more ways to solve things, and many times helps me find a better answer than I could on my own.
On the excitement of maintenance
Maintenance. Is. Boring. That said… it’s necessary, so it’s up to us to find ways to make it bearable.
If there's one thing I know everyone loves, it's maintenance. Ok, well, maybe not for most of us… but it is a very important activity, both in our daily lives and at work.
I’m sure you can imagine dozens of maintenance examples. I find the easiest ones to pull out are home-related - like laundry. I like having clean clothes to wear, which means I have to make time during my week to wash and fold laundry so it’s ready for next time (quadruply so with a few kids!). I am incredibly thankful that washing machines exist (I cannot imagine how long it took before these wonders), but I’m still required to take an hour or two out of my week to do it.
This is time I would much rather spend doing almost anything else. In the case of this particular type of maintenance, it’s also time I know will be quickly “used up” since those same clothes will appear in the laundry in the next week or two.
There are, however, many, many work-related examples of maintenance. When I manage projects I find myself having to organize notes, collect and scrub tickets, and remind folks for the ump-teenth time that something is needed. I certainly don’t wake up excited to perform these tasks, but they are
There’s a quote from a TV show called Ricky and Morty about personal maintenance that resonated with me - “Because the thing about repairing, maintaining, and cleaning is it's not an adventure. There's no way to do it so wrong you might die. It's just work”. In the context of the show this speaks to a character’s need for constant life-or-death situations. (Hopefully) most of use will never be in one of those, but maintenance is still just work. There’s rarely anything exciting about folding a shirt, or reviewing meeting notes, or reading server logs to find a bug.
Sooo why do it?
It’s boring and repetitive, so you may be thinking why would we choose to do maintenance? Well, it’s worth it. If I don’t clean my laundry I won’t have clothes to wear (I’m told this is something to avoid). If we don’t change the oil in our car the engine will wear down and break. If we don’t restart our computers for new updates we’ll get hacked.
In short - we tolerate it’s annoyance to avoid worse consequences later.
So what do we do about it
Personally I’ve found that maintenance itself really can’t be made to be fun. We can outsource some/most of it, however, there will always be SOME maintenance-related tasks we have to do personally. We can, however, do some things to make it more bearable, or at least slightly enjoyable:
Make it a game - I find this works well with a group (or with a few kids…), but set each person against each other to see who can do the most maintenance, accurately, the quickest.
Get a reward - As a kid my reward for doing chores was an allowance… As an adult my reward for doing chores can go beyond completing the task.
Do it as a team - These boring tasks can go a lot quicker (but subjectively and objectively) when done as a group. Put on some music and get your team together and knock out that boring data entry. Get a friend to help with that thing you’ve been putting off. Maintenance goes faster, together.
Conclusion
At the end of the day maintenance isn’t going anywhere. Machines still need an oil change. Clothes still need to be folded. Meeting notes need to be archived and never read. All that said, it serves an important function in keeping things running smoothly - and if no one ever complains about an issue because I performed boring maintenance, I’ll call that a win.
Becoming a “jira guy” - or how I started using Jira
I didn’t start using Jira because I thought it was the best… I used it because that’s what I had available.
One of my favorite sayings is ‘use it up, wear it out, make it do, or do without’ - and it's served me very well with my tools.
Over time I’ve found out different ways to solve challenges with tools like Atlassian’s Jira. but the reason WHY I use Jira, or any tool, really, may surprise you.
I’m frequently known as “a jira guy” (I can’t say “The Jira Guy - that’s already taken!). This name came around since I”m generally the person on my team trying to figure out how to use Jira to solve a problem. Building a new piece of software? Jira can help with that. Have a help desk to manage? Jira does that. Have complex Sarbanes-Oxley (SOX) compliance to track? Jira can do that.
For the Jira example it’s not because I think Jira is the best possible tool, or because I’ve spent years analyzing all the options and picking Jira… it’s because I tend to get stuck with it. It happens to be the tool my employer has available, so I use it.
The same is true for Confluence - it happens to be the knowledge base my employers uses.
I didn't start with Jira or Confluence, instead it was Sharepoint (a Microsoft product). I don't have any particular love for it, however I was tasked with setting up a knowledge base to support 5000+ workers, so I got to work figuring it out.
While I did learn some of the specifics of SharePoint, I've realized the skill I really learned was how to figure out a system, and then map it to my needs. This could involve changing how our processes operate to work within a limitation, using parts of the system in ways other than intended, or even building custom extensions (as was the case once with Google sheets.)
I've found being able to adapt to new systems makes it much easier to get started at a new role. Here's a few tips on how to do it:
Be curious - Don't just accept how something is done, or wait for someone to show you how to do something. Take time to poke around, challenge yourself to figure out how a system works or make it do something you need. This both teaches you the system but also makes you a bit better at problem solving.
Do your homework - Read the instruction manual, go on YouTube, ask around, but don't just sit there. This will not only expose you to different ways to use the system, but also give you ideas on other ways things can work, or even other tools you could use.
To be honest, ‘Because that's all I have’ isn't really the best reason to use any tool - ideally there's a formalized process to identify needs and then find the best fit. Personally it drives me nuts when a group makes a decision without going through that needs-analysis, but I do also understand that many times we’re just stuck with something, so we make do with what we’ve got.
What do you mean by "Integration"?....
“Integration” can mean many things, and understanding the intended use is INCREDIBLY important!
One of my favorite terms in tech is “integration”. It’s not my favorite because I build them, or because of what they can do, or because of the technical complexity. It’s my favorite because everyone uses it to mean something different, and like many terms, the range of differences can be immense.
Further, the cost of misunderstanding the intended use can result in turning down projects, to complete failures, to incredible amounts of overengineering. It’s a loaded term - and one that I have a lot of fun unpacking.
Wait, what’s an integration?
We live in a world with lots of computers and different systems (citation needed). Many times, any given system can house all the information or processing it needs - but in many other cases they have to talk to other systems.
To me an integration is anything that allows two systems to pass or share data. An API is an integration. A CSV being emailed is an integration. An XML file being passed to an AWS bucket is an integration. A human typing information from one computer into another is a (bad) integration.
In an ideal state we never know there’s an integration - the system just works. If we’re aware of them it’s likely through some kind of login (e.g. having to log into your bank account to pay a bill), but after that we never think about it.
Here’s an example - in order to get your paycheck, your company must have a system that integrates with their bank. This integration tells their bank to send your pay to your bank.Those banks are integrated to share information, and your bank has an integration with your mobile app so you can view your balance. This represents AT LEAST 3 integrations, although many more are likely involved.
OK so what does that mean
Since this term means so many things to so many people, one of the first things I do when I hear someone use that word is to ask them to describe what they mean. This generally isn’t the first thing they think I’ll ask, so it can take a moment, but it’s one of the most important questions for me to clarify.
This is important as the answer can have wildly different impacts on a project. For example I was once asked to integrate an HR system with a third party’s Learning Management System (LMS). They asked our team to “provide an integration passing employee data” - to which our team said “sure, that will take 3-4 months to develop and test.
This timeline didn’t work for the third party and risked losing a contract. So, I asked a few questions, and after about 5 minutes of talking learned that all they needed was a CSV file with 5 specific columns of data. I asked our team if this was possible and they said yes - and a week later we were up and running.
This is what makes talking about tech, and integrations so challenging - the slightest misunderstanding or misconception about what is meant can result in massive impacts to a group or project.
Over the years I’ve started to pull together a list of different types of integrations to help me understand what is needed. Check it out below, and let me know what you think!
Are skills like JQL and SQL still needed?
With the rise of AI assistants, do we even need to learn skills like JQL or SQL?… yes, I think we do!
Magic?
I know it’s not, but some of the recent advances in AI tools are basically magic. They can take a question I type in and translate into something the computer easily understands. While there are certainly other query languages out there, the ones that I’ve used the most are JQL (Jira Query Language) and SQL (Structured Query Language)(I”ll leave it to the comments to argue on how to pronounce it!).
I began using both only after my job demanded I needed those specific tools. SQL came around when I was asked to help build out reports, and JQL was forced upon me when I was expected to lead a team’s Jira initiatives. Both required me to beat my head into the keyboard repeatedly, until, finally, I got the answers I needed.
At first blush AI would seem to reduce, or eliminate the need to learn how to write queries in those languages. It’s easy enough to just type in a question and have the computer do it for me, so why bother learning how to do it myself? Looking back on my career this could have saved me a TON of effort, energy and time by giving me a way to just type in a question and get an answer.
If you don’t know…
This technology will help a LOT of people get information they need more quickly. Many folks don’t have the time (or the ability to replace keyboards broken out of frustration) to learn a query language. This means that without this type of tool, they’re stuck with basically three options:
Not get any data - Not knowing how to write queries, or not having someone who can, means you won’t be able to get information. This will result in poor decision making and a general blindness to what’s going on. Certainly not a good option given the amount of data our systems generate these days!
Learn how to query - Personally I’m a fan of this option as it helps expand skillsets and ways of thinking. It does, however, require time, effort and energy… and not everyone has those. It’s also a skill that you’ll lose without practice… I’ve learned SQL at least 5 times, and every time I have to use it I find myself further back on the learning curve that I used to be.
Have someone else do it - Many, many people do this today. They have, or find, an analyst who knows how to talk to computers, and have that human translate their needs. This, however, requires budget and/or headcount, and is not a luxury everyone has when they need it. (Note that analysts do MUCH more than just translate English in a query - they work with you to understand your needs, ask better questions, provide insight into the data and more. Query translation is only a small part of their role!).
Having an AI tool that can create queries for you removes options #1 and #2 as the computer can do it… and that’s something they’re really good at. They won’t forget how subqueries work. They won’t fat finger a project name in JQL. They won’t be missing a critical piece of info on how the language works. Those AI tools will take over a small part of what #3 can do - create queries. (I find there’s a mis-conception that analysts just write queries all day - they do a lot more!).
AI Advantages
That AI tool also has some advantages a human doesn’t. It’s likely closer to the data, and related data, than any human could be. It likely doesn’t only understand YOUR data and YOUR question, but the similar questions of dozens, or hundreds, of others. It likely has access to millions of additional (anonymized) data points that it can use to make better queries. A human doesn’t stand a chance at having all of that, making these tools incredibly powerful in some ways.
These tools eliminate two of the options we have (don’t get answers and learn it yourself) and also and offer some advantages that humans can’t possibly replicate (more data, faster responses, etc). This means that “just ask the computer” will make many, many, people much, much faster at accessing data more quickly. This will (hopefully) lead to better, faster, decision making.
But wait, there’s more
While I feel these tools will help by eliminating the need to learn a query language, I still feel there is value in learning one.
For me it’s similar to learning math even though we have calculators, or learning a bit about how a car works when we learn to drive - that underlying information teaches us concepts about how it works, allowing us to better use it and understand the answer that the magic box gives us.
I see several reasons learning queries is valuable:
Skill augmentation - For those of us who know query languages, these tools will help us augment our skills. This is similar to how a writer may use a tool like ChatGPT to draft a document, then edit it to their liking. AI can give you a starting point for a complex query that you can then expand on, or write more simple queries faster, saving you time. Eliminating the need to write simple queries frees up time to focus on more complex ones, allowing us to further improve our skills (I read somewhere that tools like this will turn a good engineer into a great one, and a great one into a fantastic one).
You’ll know what the machine is doing - Understanding how something works is incredibly important to understanding why it’s doing what it’s doing, and being able to explain it. Knowing what a “Select” statement is in SQL, or how the “IN” operator works in JQL will mean you can read the machine’s output. At the very least this gives you more confidence in what it has churned out, but will also help you defend its results if anyone asks. I can easily imagine scenarios where someone is challenged on the data they present and only being able to offer “well, the computer told me” as a defense… (this would not be good!).
You’ll get smarter - Similar to augmenting your own skills, you’ll be able to expand how you think. The tool will have a different approach than the one you use in some cases, exposing you to new use cases or features you haven’t used yet. I find I tend to only have narrow use-cases for tools, resulting in me missing concepts or features outside that focus. Using AI tools will help break me out of that narrow window by showing me other ways.
Parting Thoughts
AI tools are here to stay. They’ll continue to augment and improve our skills, and will continue to become more and more powerful as we understand them more. They are, and will continue to be incredibly useful in helping humans do more faster. That said, if we’ve learned anything from comics books with that great power comes a great responsibility - not only to use it responsibly, but to understand how it does what it does.
AI For All! (Well, all Atlassian Cloud customers...)
Atlassian Intelligence features are now available for all Premium and Enterprise customers.
What happened now?
Back in April Atlassian announced that they would begin to deploy AI in their products to help empower users… and now they’re fulfilling that promise. What began as a beta deployment of AI for ~10% of their customers is now becoming available to anyone who wants it (well, and uses Atlassian products!). There’s several features that will be made available now to Premium and Enterprise Cloud subscribers (admins can turn them on here), with others coming up soon:
Item |
Notes |
Area |
Generative AI Editor |
Think ChatGPT but tailor towards creating User Stories, or product updates, or empathetic responses in Jira or Confluence pages. |
Productivity |
AI Summaries |
Summarize long Confluence pages to quickly understand what they’re about. |
Productivity |
Natural Language Automation |
Automate actions, like creating a table with information, directly in Confluence. Available in Jira soon. |
Productivity |
AI Definitions |
Still in beta, but will allow users to define company-specific terms easily in Confluence… no more wondering what a TPS report is! Available in Confluence now as beta, Jira soon. |
Productivity |
Natural Language -> JQL |
Translate natural language questions to JQL… hopefully folks will still need my JQL Udemy course! . |
Data |
Natural Language -> SQL |
Translate natural language questions to SQL… I love this one since I’ve learned, and forgotten, SQL multiple times. |
Data |
Ask Confluence for information on specific projects, policies, etc. One of my favorites since it helps users find things quickly. |
Data |
|
Compass Search |
Natural language questions for Compass - similar to the Confluence update, this reduces the distance to finding things. |
Data |
Request Type Suggestions |
Agent helps users put in the right type of ticket based on Q&A. Helps folks file tickets correctly, reducing time to resolution (and frustration! |
Driving Action |
Bitbucket Code Review |
Coming soon, but automatically will leave comments in pull requests to speed up reviewing. Available soon. |
Driving Action |
My Take
There’s several different areas that I think would benefit from this type of AI. All of them impact end users on a regular basis, and having any of them would help reduce friction, and frustration, with the people I work with (links to YouTube shorts with more thoughts):
Knowledge discovery - whether its natural language search in Confluence or a Virtual Agent guiding someone to a knowledge base article shortening the gap between “I need something” and “here it is” is always helpful. For me this is especially true in systems, as many times you need some special knowledge (looking at you JQL) to extract it. I’ve also found that even if you take the time to set up Confluence as “perfectly” as possible, things can still slip through the cracks in search.
Productivity Assistance - I’ve used tools like ChatGPT for a while and found them incredibly helpful in augmenting my productivity and creativity. Atlassian intelligence now provides similar support in Jira and Confluence and allows users to draft Pages and Blogs, but also to fill out tickets for user stories, requirements and more.
Guided support - Virtual support agents are another area I’m interested in exploring with Jira. Many times the support process involves soliciting information, then moving down a decision tree to get to an answer. That answer could be “restart your computer”, “do XYZ” or even “I’ll need to escalate this”, but offloading that work onto a machine allows the human agents to focus on other tasks, like managing escalations, improving process and more.
Query Translation - Lets face it, most folks won’t learn JQL, SQL, CQL or any of the “QL”’s. Or, if they do, they’ll learn juuuust enough to get by. Those are incredibly useful tools in finding things, but they’re usually too technical for the majority of uses. Using tools like AI to help bridge that gap, and allow individuals to write natural language statements that get converted into something Jira understands is a great move.
Personally Speaking
Personally I’ve been able to use a bit of this set of tools and I’ve found it very helpful… in particular the ability to search Confluence with natural language. I put a LOT of time into crafting structured pages that are as user-friendly as possible… and even then folks still have trouble finding them. While this feature is still in beta, it gives my team the ability to search MUCH more effectively than using the general confluence search. Or, what honestly happens, having folks open one big FAQ page and using CMD+F to look for keywords. To me, this is basically magic and would reduce the need for me to act as a human router by quite a bit.
One particular use case that caught my eye was allowing the agent to take some action. For example, in this gif it appears the agent is able to grant Jane access to Figma. This is a great use of automation to help reduce workloads (I imagine before a human would have to perform this), however, I can see some hurdles… especially if the system that is being requested is restricted or requires additional approval.
Take on AI
Any of the things these tools can do can be done by a human - but they take time. Time to learn the basics, and then time to create something new every time it’s needed. Personally I’ve learned, and forgotten, SQL or JQL more times than I can count, and while it’s not too hard to remember or relearn, it does take time and effort. I can easily see having an AI Assistant augment those skills be a huge time saver.
Confluence, for example, can now help setup pages or draft articles. This doesn’t take away from my ability to add new policies or other content, but instead reduces my workload by adding formatting, suggesting things to include and prompting responses. This allows me to focus on the more interesting, and important, parts of adding the actual content.
Summarizing pages is another great use case - not everyone has the time to read a 10 page blog post about a great new update. Having an AT tool read through and summarize it into a single paragraph is immensely useful.
I can easily see this type of feature making Confluence or Jira much more approachable to folks as it removes some of the objections related to “how do I use the system”, “I don’t know where to start” and the like. This in itself is a win as it reduces the distance from “I don’t know what to do” to “I’ve created something”.
Next Steps?
The next thing I’d love to see is if these tools can also reach out to the right team or person to gain approval to add Jane…. although then I wonder how the agent would handle someone ignoring it’s request (maybe shutting off access until there’s a response?….).
Or, for example, having the system realize I’m writing an article on HR policies, and either suggest other folks who should chime in (either by knowing what they’ve written, their status in the organization or other data), or proactively reach out to let those individuals know my article is there. A similar feature could apply to tickets - pulling in resources who can help unblock or progress an issue without me having to ask. A feature like this would help shorten the time it takes to get something approved, and make sure the folks who need to know about the change, or chime in, are looped in.
Overall I feel that tools like these will augment and improve the humans that use them, and I’m excited to see how Atlassian is combining their current tools with these new ones. I’m looking forward to seeing what everyone does with them!
Additional Resources:
Testing Anxiety (Grade school, college, certification etc)
In school I was never nervous for tests… and I also never did well. Now, as an adult, I’m nervous before exams…. and I crush them.
This won’t surprise folks who knew me back then, but I wasn’t a good test taker in school. I didn’t get nervous or freak out about them - I usually just didn’t care… Fortunately (maybe the wrong word choice…), this changed after I left college and had to sit examinations for various certifications, such as the PMP, or ACP-620. I found they made me nervous… I was taking MONTHS to prepare for them, writing out dozens, no, hundreds, of flash cards and drilling them until I saw them in my sleep.
On the day of the exam I would be anxious… extra energy making me jittery and hard to focus. The 2-4 hours stuck in a booth clicking answers felt like forever, and waiting for confirmation of a pass took longer.
Sidebar:
For those of you who haven’t had the pleasure of taking one of these exams you used to have to go to a testing center, sign in, hand over all your stuff and then sit in a booth with a computer. You’d answer all the questions over 2-4 hours, then click “done”. You wouldn’t know your results until you went to the front and the proctor gave you a printout with “pass” or “fail”. The time between clicking “done” and seeing that paper was pure agony.
You can now take these exams at home, which requires you to show videos of your space to prove you aren’t cheating (finding a clean spot is hard!). Once you click “Done”, however, you’ll get results VERY quickly. But that gap still feels like forever.
Additionally, I earned my Masters in IT Management several years after earning my BS while working full time… and pulled almost straight A+’s the entire time.
For years I’ve been trying to figure out the difference… and I think I finally have it figured out - I care now. For me the exams in school were compulsory, something I had to do… so I did, just… poorly. Now, however, they’re optional, something I am opting into. I’m choosing to subject myself to hours of lectures, reading assignments and practice environments. I’m choosing to memorize how workflows or automations or queries work. I”m choosing to do all that instead of relaxing, or playing video games, or doing anything else.
And because I’m choosing to do all this, I’m nervous. Nervous that I’ve wasted my time, or won’t do well, or won’t have learned what I wanted to. I think it’s that personal buy-in that’s made the biggest difference. Once I decided to become invested in something, it had value to me.
Current Me wishes that past Me had figured that out… but I don’t think I would have. I didn’t have the desire to do well on the test or in (most of) my classes. While I do suffer from a bad case of “what if” when I think about it, honestly I’m just glad I’ve figured it out now.
Understanding why I care makes it easier for me to flip a switch and make something important. For example, while I may not REALLY care about that certification, I do care about what the process of earning it teaches me. While I may not REALLY care about most of the content, I do care about the portions I know I’ll apply.
It’s been an interesting revelation, and one that I’m glad I finally made.
Boolean Basics - Parenthesis
Does anyone out there remember PEMDAS? I remember learning it back in grade school as a way to remember order of operations… but I never thought it would be helpful as an adult!
If I’m being honest I never thought it would be useful, ever, since I wasn’t into math… that said - I do NOW find it helpful!
Specifically the “P”, which stands for Parenthesis, is the part we’ll dig into today.
As a quick reminder, PEMDAS details the order in which specific mathamatical operations occur in an equation or statement. The letters stand for :
P - Parenthesis
E - Exponents
M - Multiplication
D - Divison
A - Addition
S - Subtraction
So if I remember 5th grade math correctly, any time I see multiplication in a math problem, I do that BEFORE I do any addition. Any time I see exponents, I should figure those out BEFORE I multiply anything… and so on.
Parenthesis, being the first letter, are done before annnnything else. In practice this means you take anything found inside a parenthesis and do it ALL before anything else. For example if we have
3 * ( 5 + 2 )
Then we first do the bit in the parenthesis like this:
3 * ( 5 +2) → 3 * 7
Then the rest
3 * 7 → 21
That’s a simple one… it gets gnarlier if the parenthesis are nested - that is parenthesis inside parenthesis… for example:
(3 * (5 + 2) ) * 3 + ( 2 + 1)
First we would find the “inner most” parenthesis -
(3 * (5 + 2) ) * 3 + ( 2 + 1) → (3 * 7 ) * 3 + ( 2 + 1)
And then the next layer
(3 * 7 ) * 3 + ( 2 + 1) → 21 * 3 + 3
And then the next operation (multiplication)
21 * 3 +3 → 63 + 3
And then addition
63 + 3 → 66
This means we need to be REALLY careful when parenthesis are involved, since if we don’t do those things FIRST, we’ll get a different answer. For most queries this isn’t too complex, as MOST queries only have none, or one, layer of parenthesis.
For the more complex ones, however, it can be beneficial to break them down (similarly to what I did above) to understand how they work.
A general rule I follow is that if I see ANY parenthesis, I take a moment to understand what they’re doing, even if things seem simple. Taking just a moment to unpack what they’re doing will save you a LOT of headache later!