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.
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.
Next, we made sure these points.
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
Below is the actual code. It is very simple code, however, we read widely Add-on development documents to reach this point.
$!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.
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.
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.