Where do we get new ideas for constantly improving BizTalk360?

Published on : Apr 5, 2014

Category : BizTalk360 Update

Saravana

Author

One of the key factors of a healthy software product is keeping it fresh by adding new features, stabilizing the quality by fixing bugs and improving performance and most importantly solving real customer problems.  We get inspiration and ideas from variety of sources for BizTalk360 improvement.  It’s very important we channel and capture our various sources of ideas  in a central place, so that it will not be lost. First question is “How do we constantly get ideas for product improvements?” as shown in the below picture we get new sources of inspiration from various channels. Where do we get new ideas for constantly improving BizTalk360?

Desk.com (Support Tickets)

We currently use desk.com (Salesforce company) as our ticketing and support system. This is one of the great sources for us to get new ideas and also identify any bugs in the product. Whenever a support ticket is resolved we flag them appropriately by using “tags”. It could be either “resolved“, “bugs” or “product improvement“.

Emails

We currently use Google Apps as our email provider, one of the great things using Google Apps is it comes with lot of useful plugin for the mail. We use one such plugin called Streak, which allows you to manage pipeline (something like mini version of Trello). Whenever we are in email conversation with someone asking for a new feature or raised a bug in the product we can easily track it by simply adding to our pipeline. You can see an example screen shot here. Over a period this will get accumulated and will finally end up in our future versions. using Streak to capture ideas within Gmail

Custom Development Request

When someone is evaluating a product like BizTalk360, they may find the product addresses close to 80-90% functionality they need, but 1 or 2 features are missing. In those cases they contact us directly and check whether we can build those 1 or 2 functionalities for them. This again could be indirect way of getting new ideas to improve the product. Example: Search and Action on Artifacts functionality in BizTalk360 which allows you to search for all the design time artifacts like BizTalk Applications, Orchestrations, Send Ports, Schemas etc. and take action on them like start, stop, disable etc was requested by one of our big customers with complex environment (over 800 applications in a single environment)

Customer Feedback

Customer feedback loop is another important channel for us to get new ideas. We talk to customer regularly, some of the support tickets raised cannot be resolved just by emails and we will typically arrange for GoToMeeting/WebEx session with the customer to resolve the problem. While looking into customer problems in their own environments, typically in addition to the problem we are solving, we will also get some new ideas by seeing the customers pain points. Backup – Disaster Recovery Visualizer in BizTalk360 was born in one such customer engagement, where the customer had a disaster scenario and when they were about to start their DR process they realised the DR set up was not working correctly for many weeks and no one noticed it.

Product Demos

Product demos is another category where we get new ideas. We constantly give BizTalk360 demos to potential customers. During our typical 1 hour demo, we always ensure there is enough time for Q&A, and this is where we identify shortfall in BizTalk360 and ideas for new improvements.

Internal Ideas

Of course we cannot omit this one, we constantly debate within the company about new ideas and areas of improvement within the product.

Other Products

You don’t need to necessarily watch out for your competitors shoulders, there are tons of ideas which you can grab from completely unrelated products. There are few examples in BizTalk360 which comes under this category.  Example “Advanced Event Viewer”.  There are bunch of products in the market which enhances the standard windows event viewer functionality.  This is such a great and important functionality for BizTalk server scenarios, because event viewer is the key place support people will look for to find route cause of the problems. The standard Windows event viewer is not great, especially when you are dealing with multiple BizTalk servers in a single group. Hence we added that capability in BizTalk360, ability to query events across all the servers (BizTalk and SQL) in the entire environment from a single place via the web interface.

Influential Blogs

We carefully watch all the influential blogs in the community writing about BizTalk Server. This could be a great place to look for new product improvements. Example: We implemented the “Custom SQL” functionality in BizTalk360 after reading the blog post “More useful BizTalk SQL Queries”  by Tord Glad Nordahl. It is one of the common requirement for BizTalk administrators to constantly get some data directly from various BizTalk and custom SQL databases. Typically they need to use SQL management studio, they need to have enough rights on the databases etc. We just simplified it bringing a platform inside BizTalk360 to store and execute SQL queries safely.

We recently came across Richard Seroter’s old blog post “Send Port Duplicator” which allows you to copy and past BizTalk ports, we don’t have this functionality at the moment, but this is a good idea for the product.

Social Media

These days people are very active in social media platforms like Twitter, Facebook and LinkedIn. Most of the time people come and whinge about their frustrations in the social media, which could turn out into useful ideas for us. LinkedIn group are great source of place to look out for what people are talking about. Here is an example of conversation that started in comments based on one of the post we published in our Facebook page image

Partners

We have great relationship with lot of partners across various countries. Partners work with their customers closely and see the problem first hand. How much ever you test your product there will always be certain things beyond your control and can only be identified in real world scenarios. Our partners help us to fill this gap and bring new ideas and solutions to bugs.

Technical Forums

You can watch out for what people are talking about in technical forums like MSDN forum, TechNet WIKI comments, StackOverflow etc. to understand what problems they are facing and whether you can solve them by adding new features to the product. Here is an example, “Looking API for BizTalk Tracked Messages“, in this thread someone wants to access the BizTalk tracked messages via an API. This is something we can easily do with BizTalk360, as we have rich set of API’s for pretty much everything in BizTalk Environment (BAM data, Management Data, Tracking data, etc) that returns data in JSON format that you can use to integrate in other systems like SharePoint, custom portal etc Example: The following call  “http://localhost/BizTalk360/Services.REST/BizTalkQueryService.svc/GetServiceInstance?environmentId=dab031cf-1eaf-4818-80b9-e0e6884e63eb&serviceInstanceId=d39fdf63-1122-433c-b259-5c7656efb5ac” will get you the details of the service instance in JSON format
{
  "success": true,
  "serviceInstance": {
    "ServiceName": "Simple.Messaging.File.Send",
    "Application": "Simple.Messaging",
    "ServiceClass": "Messaging InProcess",
    "StatusDisplayText": "Suspended (Resumable)",
    "ServiceInstanceStatus": 2,
    "CreationTime": "\/Date(1396351609633+0100)\/",
    "ErrorCode": "0xC0C01B4D",
    "ErrorDescription": "Service instance was suspended because the corresponding service (orchestration, sendport, ...) was in the stopped state. Instance can be resumed after corresponding service is started.",
    "PendingJob": "None",
    "MsgBoxServer": "SKWIN7IMAC\\SQL1",
    "MsgBoxDB": "BizTalkMsgBoxDb",
    "HostName": "BizTalkProcessHost",
    "SuspendedTime": "\/Date(1396351609633+0100)\/",
    "ServiceInstanceID": "d39fdf63-1122-433c-b259-5c7656efb5ac",
    "ServiceTypeID": "1cfce076-fc23-41f9-8996-f63167654735",
    "ServiceClassID": "59f295b0-3123-416e-966b-a2c6d65ff8e6"
  }
}
This is something we don’t talk about publicly, but this could be an idea to use BizTalk360 to expose your BizTalk environment for API access.

Community Engagements

Community Engagements : We are well known for being very active in the BizTalk community. We present constantly in lot of BizTalk user groups across Europe and this gives us opportunity to speak with lot of people who are passionate about BizTalk server. We also host the annual BizTalk Summit in London bringing together all the people who work with BizTalk/Integration under one roof, which give us tremendous opportunity to understand various use cases, interesting solutions, challenges they face etc, all could lead to various improvements/product ideas in BizTalk360.

Product group and MVP interaction

One of the great advantage we have is our close relationship with Microsoft BizTalk product group and the MVP community. We do get quite a bit of inspiration and ideas when talking to the product group members and MVP’s. Of course Microsoft can’t solve all the problems under the roof with BizTalk Server. They are good at creating the platforms and things only Microsoft can do. It’s inevitable the product will have some gaps, or there will be some real world scenarios that may not fit nicely within the BizTalk server product roadmap. Example BizTalk team is never going to build a monitoring solution for BizTalk. Strategically they rely on SCOM to cover that aspect. From customer point of view it’s not ideal, they want one consolidated tool and also don’t want to deal with two complex products. This is one of the core ideas of BizTalk360 monitoring and notification capabilities, making it simple and part of the single solution. We catch up informally with lot of the people in BizTalk MVP community for drinks/dinner and most of the time the chat will result in some pain point they are facing at customer site, which always end up as inspiration for BizTalk360 BizTalk Summit 2014, London - Speakers
BizTalk MVP Community - Norway BizTalk MVP Community - Italy
BizTalk Product Group meeting - India BizTalk Product Group meeting - India
Overall BizTalk360 takes an approach of feedback driven development, we listen to real problems either through customers, influential people, bloggers, etc and address their concerns. We feel it’s pretty dangerous to simply go and build the features which the product development company thinks it’s cool, and finally no one really wants it.  Sometimes we test the interest of the product my using MVP concept (Minimal viable product), we just release a base version and based on the interest we enhance it further. We constantly enhance the product with new features, we are also super cautious not to over bloat the application with unnecessary functionalities. Once we get the idea we keep it in the pipeline, leave it for sometime and if we hear the same problem 2-3 times then we pick it and bring it in the product. People ask us for roadmap, honestly we do not have one at the moment, we just pick up things which are of top priority at that moment.