Skip to end of metadata
Go to start of metadata

<Weak Points of JIRA>

One of the Atlassisan's main products, JIRA is good tool for Developer, however, the views for Manager, has been said "weak". 

As a means of supporting features that the products do not own, Atlassian provides Site for Developers and SDK, and Atlassian Marketplace as a place to release developed software. 

Often, JIRA is used in product-developing project, however, there has been strong demand for the gantt-chart features that managers utilize. Then we enabled the gantt-chart add-on (originally developed by a German engineer) which was at that time provided for free, for the Japanese with Japanese resource.  However, we were in the situation that we had to provide some donation to the engineer since he was Christian otherwise we would've been able to utilize the add-on. So we started thinking about developing our own add-on some day because there were lots of requests for the gannt-chart feature from our customers. 

Then, there was an opportunity to propose gantt-chart feature to one customer and we had only two weeks until the proposal submission deadline. 

<The initial implementation of Gantt-Chart in a short period of time: Encountering Ext Gantt>

In our proposal, of course we could not write something we were not able to do, so decided to check the feasibility. It was 2012 and we had full of web application experiences and knowledge of JIRA, however we had developed only a few small JIRA add-ons. The difficult point was to plot out the specification to implement Gantt-Chart to JIRA without any discomfort and to design formulas in order to display screen-drawing without any collapses. Also, we needed to determine how to propose the feasibility of Gantt-Chart itself in such a short period of time. 

Since JIRA is using jQuery, we thought of leveraging the library of drawings made for gantt-chart. However, there were nothing reliable so we investigated more in a wider area and decided to select a drawing library that was the best among all JavaScript library. Ext Gantt was the one we chose. Ex Gantt is based on ExtJS and we felt comfortable in using Ex Gantt since we had been using it for more than a year. 

< Implementing >

Next, we made sure these points.

  • Gantt-Chart can be plotted with ExtJS+Ext Gant in JIRA
  • JIRA Screen is not collapsed
  • Top navigation is not collapse (Especially this one because if this part were broken, nothing could have been done!)

In particular, Velocity is used to extend JIRA screen. The first step is to migrate the demo screen as an Add-on such as Ext Gantt Guides's Hello World (From html to Velocity). http://www.bryntum.com/docs/scheduling/4.x/?#!/guide/gantt_getting_started

 

html file
<!DOCTYPE html>
<html>
<head>
  <link href="http://bryntum.com/examples/extjs-6.0.0/build/classic/theme-classic/resources/theme-classic-all.css" rel="stylesheet" type="text/css"/>
  <link href="http://bryntum.com/examples/gantt-latest/resources/css/sch-gantt-all.css" rel="stylesheet" type="text/css" />
  <script src="http://bryntum.com/examples/extjs-6.0.0/build/ext-all.js" type="text/javascript"></script>
  <script src="http://bryntum.com/examples/gantt-latest/gnt-all-debug.js" type="text/javascript"></script>
  <script src="synopsys.js" type="text/javascript"></script>
</head>
  <body>
  </body>
</html>

Below is the actual code. It is very simple code, however, we read widely Add-on development documents to reach this point. 

Velocity file
$!webResourceManager.requireResource("...")
<html>
<head>
</head>
<body>
</body>
</html>

When the above code starts to work, the correctness of the designed formula is verified and it will be the phase where features are added. Tasks proceed very well without any problem when some features are added individually. However, when all the features are integrated and are to be tested for a release, additional problems arise. They are called "Combination bug." Those problems won't occur when they are tested one by one, and when one of the new features runs in the specific environment where another feature is tested, the new feature does not work. JIRA is well known for its flexible setting and format, however, very complicated at the same time from the testing perspective. 

On the day before the demonstration of Gantt Chart, we found a bug. It was actually a bug from ExtJS, however, we did not know what the cause was. So we sent the code to the technical support desk of Bryntum and they investigated for only 30 minutes then discovered the cause. (The support desk responded exceptionally fast after we told them it would be needed on the next day.) Then, within another 30 minutes, they sent us the fixed code (of ExtJS code) and it ran correctly that made our demonstration possible. 

< Result >

We registered this product in Atlassian Marketplace as "WBS Gantt-Chart for JIRA". And now WBS Gantt-Chart for JIRA does agile development, has been through version upgrades, and become a product that is always displayed in the top selling add-ons for JIRA.  

Our WBS Gantt-Chart for JIRA is now used in large IT and manufacturing companies, and in not only Japanese but also Overseas big IT, software development companies, and in Universities. Last year, we signed sponsorship for the first time for a Japanese company, in Atlassian Summit 2015, and manned a booth to promote WBS Gantt-Chart for JIRA. 

At the booth, we received a lot of feedback and made our decision about the direction of feature enhancement. We will continue to improve WBS Gantt-Chart for JIRA from now on, too. 

<Lastly: Regarding Add-on Development Business>

 Is it fun to develop Atlassian add-ons? My answer is "YES!".
What do we do to make add-ons software easier? Would users be happy about the improvements? Would new techniques or parts be usable? What do we do about Logic? Overseas Marketing? English support? How many thousands of yen can we sell? Is it going to make good business sense? There are many more things to think about. 

  • No labels