Atlassian Jira

History of Evolving Smart Attachments for Jira

Hey All!

We start a series of blog posts that will tell you about the apps that we develop and the history of their creation. Keep following on our blog and find the recent information about us and our products.

Today we will have a talk about the Smart Attachments for Jira app with its product manager, Vadim Rutkevich.

Please tell a bit about yourself and your role in the Smart Attachments app.

I’m Vadim, a product manager of the Smart Attachments for Jira app, and I also manage Smart Attachments for Confluence. So, in general, I work on two great solutions for document management in Atlassian applications. Yeah, I’m quite shy :)

What does your app do?

Well, the app provides the configurable categories that are further shown in issues. When you upload files you can put them in specific categories, so after some time you can quickly locate this or that file in the corresponding category. For each category you can pre-define issue types in which it is shown. You can set access restrictions for users, groups, and project roles. And you can also define rules for automatic file distribution, so the app will automatically put the file into the pre-defined category based on the file extension or its name.

That’s all?

Hahaha, sure not :) The app also provides other augmentations that simplify experience with attachment management in Jira. Firstly, a project storage which allows you to keep important project documents and assets in one place. So you needn’t distribute files among issues, you can keep them in dedicated folders and your teammates can instantly find them there.

Secondly, document versioning for keeping distinct revisions as an expandable document tree. The app supports the automatic revision-to-document mapping or you can upload some file under the document you need.

Thirdly, you can use workflow automations for checking presence of specific files in the category when performing the issue transition, delete the no longer needed files when closing an issue, or send the ready files to approval to external stakeholders. Of course, there are useful features for managing attachments in Jira issues.

Could you please recall how the idea about developing such solution appeared.

OK. Let me recall … In general, the initial idea that became a basis for Smart Attachments was not ours :) Yes, I’m not joking. Originally, it was a custom project which StiltSoft completed for one customer. In general, it was quite different from Smart Attachments in architecture, but the problem it addressed we preserved in Smart Attachments. One day we decided to design an app that can be used to categorize attachments in Jira issues, and so the Smart Attachments app appeared on the Atlassian Marketplace.

Was it difficult to choose a name for the app?

I cannot say that it was difficult to choose a name for that app as we really did not have quite many good variants. I even have a list of them. One second please. Okay, here they are – Smart Attachments, Attachment Categorizer, Smartee Attachments, Intelligent Attachments, Attachment Compounder, Attachment Grouperizer and Attachment Groupee. As you can see, there were no two ways about it.

What was the first version of the app like?

It was minimalistic, I would say. The app had only the administration section to manage the list of categories and the list of categories in the issue view. That’s all. Of course, it was not sufficient for our customers, so they started reporting their problems to us and we continued development of the app.

Name three versions of the app that introduced the greatest changes in it?

Quite a complex question. I need some time to check release notes.

(after two hours)

Okay, I have a top list. Let’s start from 1.6.0 version which introduced support for editing of MS Office documents in Jira. You could initiate the file editing in Jira, then transition to MS application, add changes in it, and save. Then the app will upload the file back to the issue and put it as a revision. In general, this feature was one great fuckup of mine.

Why?

It used the webdav protocol between Jira and MS applications. This protocol was not reliable and had limitiations which were quite critical for some customers. The webdav library we used was quite buggy, so we were constantly updating it, in some situations rolled back, as a new version appeared to be worse.

OK. What about the second version.

Let’s say 1.13.0. In this version we exposed our REST API which allowed our customers to use it for automation of their document processes. It is actively being used at the moment, but the app has also moved to Java API.

And the third?

I think 2.0.1 which introduced category schemes. Actually, it was 2.0.0 but it had a critical issue which we identified two hours after release by accident, so it was hidden from the Atlassian Marketplace. In general, category schemes were in the first prototype of Smart Attachments in 2014. It took about 5 years before it appeared in the app. (heavy sigh)

How many people are in the team that develops Smart Attachments?

At the moment, there are three of us. Anyway, every team member carries at least two roles, so by the way, the team includes 6 virtual people (smile) The size of the team allows us to communicate a lot about the app, but also limits our capabilities in developing the app. I’m working on this too. Here should go a heavy sigh from my boss (smile)

What methodology do you use for development?

Too tricky. In general, in product development it is quite difficult to stick to a specific methodology. It is definitely, not Waterfall (smile) Yeah, we are agile. Sometimes too agile. I cannot say that we use Scrum, because it is not quite flexible for us. I would say we are closer to Kanban, its perverted form (smile) Our processes are very flexible, we can run a feature-version and bug-version simultaneously, this is needed when we receive tickets from our customers. We cannot make them wait for a fix until the sprint is completed, so we release a bugfix-version. I cannot say that I like it, but we really need it. As it works in our case.

How do you collect feedback from customers?

In different ways. We have a feedback forum on the basis of Jira Cloud and our product Customer Case, we have the in-product embedded widgets, we send followups, run interviews, analyze tickets and bug reports, and do experiments.

I want to show our customers a quick way to report any issue or feedback by clicking the Feedback icon. This opens the widget where you can vote on the features in the backlog or provide description of the issue you encountered.

How do you prioritize requests from customers?

We use the customer-oriented approach for prioritizing requests. The more votes, the higher value this feature will bring to our customers. Of course, there are other factors that we consider. For example, we ensure that the request fits the scope of the app. The development time is also a critical point during prioritization. Additionally, we consider all sorts of limitations and concerns prior to start of work on the feature. And, the last point, is my vision of the app. The crucial factor, of course … (laughing)

What types of challenges do you usually encounter while developing the app?

In general we have two challenges. The first challenge is to reach our customers. They do not want to actively communicate with us until an issue occurs. Then we change our roles (smile) The second challenge is technical limitations of Atlassian applications. For example, we receive a cool request from our customer and we perform a quick R&D. And we find that we cannot integrate this feature into the app and Jira itself. So here I come with bad news.

I have one request for our customers, please, actively participate in the app development, report feedback, reply to emails we sent to you. From our side, we will do our best to deliver the solution you need.

What is the AHA-feature of your app?

For me it is automatic file distribution. Users when see it first time always say ‘Wow’! It saves quite much time on the trivial file upload, you just drop files and the app sorts them between categories. It will be wonderful to integrate machine learning into it. (dreaming)

What feature have you added recently?

The latest feature that we have added is the project storage. It took about 3 years before we decided to implement. I ran an experiment to ensure that our users need it. So now they can use it. Of course, we released MVP of this feature, but we will continue work on it. I promise.

What new features will appear in the app in the nearest time?

I think the next candidates are search for attachment and creation of categories per issue. But it is not exact information (smile)

Could you please name the most innovative feature in the app?

I assume this is access restrictions. As it appeared, our users like to hide documents from each other, so category restrictions allow them to do this.

Please describe your app with 5 words.

Robust. Powerful. Reliable. Time saver.

How do you plan to change or extend the app in the long-term perspective?

An excellent question (smile) Well, I have too many plans. Let’s say that we will add metadata for documents, hope to integrate the app with Atlassian Companion for editing files, probably, add some data lifecycle management for utilizing the not used documents.

What was the greatest bug in the app since its initial release?

Hmmm, I would say not the greatest, but the trickiest bug. We have a feature discovery in the app which appeared upon the first installation of the app. It appeared in the issue view, your read it, you close it, and it no longer appears. But for some users under specific circumstances this feature discovery persisted. It made them crazy. I was not able to reproduce it and developers were not able to identify it in the code. Only during development of 2.0.0 version, we have identified the issue which may caused such behavior. We have removed this feature discovery, so our customers can be calm.

If you want to discover more about Smart Attachments for Jira, try this comprehensive solution for document and attachment management in Jira for free.

Recommended Articles