SecondMarket
A conversation with Stuart Donovan, Chief Technical Officer at SecondMarket
- Headquarters
- New York, NY
- Industry
- Financial services
- Use of JIRA Studio
- Collaborative, distributed software development
- Number of users
- 19 developers and 40-50 collaborators
- Key benefit
- The ability to focus on software development, not software development tools
SecondMarket brings together buyers and sellers in the largest marketplace for illiquid assets. To speed and streamline development of the company's trading platform and information portal, SecondMarket's distributed software development team relies on JIRA Studio, a hosted development suite that integrates Atlassian's bug tracker, wiki, and development tools with Subversion source control.
Tell us a little about the development projects your team is currently working on.
We've got two major projects right now. The first is a trading platform for illiquid assets such as restricted stock, warrants, and bankruptcy claims that can't be easily sold on other markets. The second project is an information portal that collects and redistributes news, valuations, and other specifics on the instruments being bought and sold on the trading platform. Both applications will be used by our customers, including hedge fund managers, investment bankers, and anyone managing large portfolios that contain illiquid assets.
"Illiquid assets" has recently become part of the national vocabulary. Before we talk about how you're using JIRA Studio, can you give us a quick rundown on how the current market situation is affecting your business?
A lot more assets have become illiquid recently, that's for sure. Everyone is very tentative right now, and they're buying mostly T-bills and gold. Most firms on Wall Street are really hurting, and they're reorganizing to cut costs. But we see real opportunity arising from this market. In the next 6 months or so, we expect to see an up tick in business for asset classes like bankruptcy claims. So we're reorganizing to manage our growth. It's a bit surreal to be in that position when the whole market is in turmoil. We don't hold any positions, so for us there's no market risk, but we have to make sure we can handle a higher transaction volumes down the road.
- "We're under a lot of pressure to get things moving very, very quickly because everything is happening very, very fast. That's where JIRA Studio comes in." Stuart Donovan, SecondMarket
Does that put more pressure on your team to release new iterations of the SecondMarket technology more quickly?
Yes, we're under a lot of pressure to get things moving very, very quickly because everything is happening very, very fast. Normally, you can put your developers in a room and slide pizza under the door, but we can't really do that with our virtual team. That's where JIRA Studio comes in.
How were you developing SecondMarket technology before, and why did you choose to move to JIRA Studio?
A vendor was building our technology for us. They were using documents to update us on the status of their work and QA reports, test cases, and feature lists were all in poorly maintained Excel spreadsheets. It just wasn't working.
We decided to create our own engineering capability in NYC, which was a challenge because it's difficult to attract and keep talent here and its also very expensive. So we built a team made up of best-of-breed people located all over the U.S. and Europe, and that meant we needed a completely online system that would allow us to collaborate remotely as we develop, build, and track our own technology.
I'm a long-time user of Atlassian products, so I knew Confluence and JIRA. When we heard that Atlassian had integrated them with FishEye and Crucible we were really excited. It was a no-brainer to go with JIRA Studio.
Were you specifically looking for a hosted solution, or just an online environment?
I definitely wanted a hosted solution. We are a small team whose job is to deliver the software that our customers use. Any time I have my architects or lead developers working on tools is time they should be focusing on developing end-user software. Plus, my team are a bunch of brilliant developers of course, but they're just not production management guys.
I've set up environments and tools before, and even if you buy packages from companies that pretend to integrate everything, it still takes a lot of time and effort. To hire someone in-house would have been difficult and expensive. I knew that the Atlassian tools were best of breed, and having them managed and upgraded by professionals would save me a lot of headaches. I just didn't want to have to worry about it.
So far, has Atlassian lived up to your expectations for the hosted and managed environment?
Yes. The whole Atlassian team is very responsive to suggestions and problems, and we've suffered absolutely no down time. We also like getting all of the new features and support for new plug-ins that come along with the frequent upgrades.
- "I knew that the Atlassian tools were best of breed, and having them managed and upgraded by professionals would save me a lot of headaches." Stuart Donovan, SecondMarket
How does JIRA Studio help your virtual team work?
We started with JIRA Studio right from the beginning, so it's a core part of our development culture. We currently have 19 developers actively working on our technology and 40-50 collaborators — both inside and outside the company — who represent our end users. The whole premise is to use JIRA Studio as a meeting place where you find out what you've got to do and what others are working on, post questions, and find out the status of things. We're a small team but we often have 20 different projects that aren't always going at the same speed, so it helps us focus and get everyone on the same page.
How has adding collaborator licenses affected your development process?
Adding Studio Collaborator licenses was a good decision. It has allowed us to add a lot more people to our team, and I'm surprised how involved our collaborators have become in our development projects. They use JIRA Studio to check out the development roadmap, and we get a lot of valuable input from them on the development process, whether it's about a specific use case or a vision document for a new product. We also push information out via a daily digest and emails with issues assigned to traders, salespeople, and operations people.
So let's go through how you use JIRA Studio piece by piece, starting with the wiki.
We start each project by using the wiki to document our business processes, the project roles, and use cases including wireframes that show our users what we're going to develop. That helps us build up a repository of knowledge — it's a living thing that is constantly being updated and keeps people who aren't in the office up to speed. It lets us be very flexible as to where we put our resources at any point in time.
How about the issue tracker?
Once we've designed the use cases, we transition to JIRA for requirements tracking, bug reports, and iteration planning. Developers place features in JIRA, create their own tasks and subtasks, and plan their own iterations. We tell them what the priorities are and they tell us what the estimated efforts are, and then we reprioritize based on those estimates. It works well because sometimes we think something is really simple or really complex and it turns out to be the opposite. A project manager oversees each iteration in terms of giving us a heads-up on the burndown and any changes that need to be made at the last minute.
JIRA is also really helpful in setting priorities in cooperation with the business group. We can say, “Here's the roadmap. If you want this feature faster, we'll move it up the queue but then others might drop off the bottom of the list.”
How are you using the development tools and source repository?
All the software is checked into Subversion and we use FishEye on top of that so the QA team and the business team can understand the changes. We've also integrated Bamboo into JIRA Studio and we use that with Maven to do all our builds. Keeping all of the information in one place reduces the chances of duplicates or overwrites, and helps us make sure nothing is missed or misunderstood.
What do you gain from the integration of Atlassian products within JIRA Studio, as opposed to using them separately?
The integration of everything within JIRA Studio is incredibly valuable. It allows us to do things like create one status page in the wiki for every project. The project lead needs to go in before the weekly status meeting and just fix a couple of things, but most of the information is created dynamically with feeds from JIRA, FishEye, and Bamboo. For meeting notes, we just add comments. People can look at one page per project and get a snapshot view of exactly what the status is.
- "JIRA Studio saved us about 20% in the development cycle." Stuart Donovan, SecondMarket
Has the wiki eliminated Word docs, spreadsheets, and other standalone pieces of information?
It hasn't eliminated them entirely, but I'd say we're down to about 10% of what we used to have. Word docs have all but disappeared. We did have a couple of die-hard Word guys using Atlassian's document import function and WebDAV facility for a while, but the wiki eventually won them over. And we still have one QA spreadsheet, but that's it. It's been a very welcome change.
What JIRA Studio has eliminated is any confusion about what version of a document you're looking at. It has also really sharpened communications because we're able to work much more incrementally. Nothing kills development productivity faster than lots of long meetings. So if everyone shares information, whether it's a backlog or an estimate or an implementation or a design document, we can focus on one thing at a time instead of having everyone sit through a three-hour meeting to go through everything at once. The more information and knowledge that is gathered asynchronously the better.
You've replaced Visio with the Balsamiq plugin for Confluence. How did that transition go?
Balsamiq was rapturously received by the business analysts! Within 10 minutes they were creating their own wireframes. It really has been groundbreaking. In the last couple of weeks we've been using it to do some major use-case work — like 30 or 40 use cases that have multiple visualizations on them. We would never have been able to do that if we weren't able to create the diagrams on the page as we were developing the use cases.
You're using GreenHopper for Agile project management. Are you doing peer code review as well?
We actually do pair programming, so it gets done before code review. Going forward, we do want to do code review as part of the QA process and for our team's professional growth. Informal peer reviews are a good way for developers to learn from each other.
Do you have a favorite feature, or one that's had the most impact?
The Activity Stream is really useful. In my experience, one of the problems development teams face is that people are reluctant to publish and share information. Some of the more junior people are eager to read and absorb knowledge, but they're afraid to put themselves out there and risk asking a stupid question or posting something silly. I call it 'Publisher's Fear.' With the Activity Stream, people can see what's happening right now — who's done what in the last 15 minutes. It makes it easy to get involved and that's very useful from a collaboration perspective because activity begets activity.
What would you say is the single biggest benefit of using JIRA Studio?
Again, it's a matter of focus. For other teams it might be different, but helping my small team to focus on the software they have to develop rather than the tools they need to collaborate has given us a huge return on our investment — at least 10 times over.
Can you quantify the affect of improved focus in terms of productivity or development speed?
I'll give you an example. We just did release 1 of our information portal for illiquid securities in eight and a half weeks. The quick development time is largely due to the tools we chose to write it in and the talented people who were working on it. If we had to use traditional tools (non-Agile, non-online) to do a requirements spec and detailed design document, it probably would have taken us 16 to 20 weeks. I'd give JIRA Studio at least a third of the credit. It saved us about 20% in the development cycle.
If you announced you were switching from JIRA Studio to another environment, how do you think your business users (collaborators) would react?
They'd be very surprised and pretty disappointed. They want to use the tools themselves for their own meetings. Over the next few months, we'll be looking into rolling it out as an intranet application for non-technical users.