Learnings of using software tools to run your business – Part 3

Moving information to SharePoint

Evaluation and ProcessIn my previous blog entry I gave the overall view how our Dynamics CRM 2013 account/contact entities have been used and what kind of Dynamics CRM 2013 custom fields I have used with those entities.

In this blog entry I will describe the process how we integrate to SharePoint 2013 Online (part of Office 365). The built-in integration between Dynamics CRM 2013 Online and SharePoint 2013 Online is not built in a way that satisfies my our needs and as I told you in my previous blog entry, I was not willing to do custom app development and maintain something I could not potentially support in the future.

The Dynamics CRM 2013 built-in integration today between these two systems do not utilize the benefits of the power of SharePoint so I decided to enable synchronization between Dynamics CRM 2013 entities and SharePoint 2013 Online custom lists. What this means in practice is that account and contact information from Dynamics CRM 2013 is synchronized with account/contact custom lists in SharePoint 2013. The synchronization is one-way where the Dynamics CRM 2013 is the hub and the SharePoint 2013 is the slave. My policy is that Dynamics CRM 2013 database with account/contact/project information is the “kernel” of our information and everything else pulls information from this source. Yes, I could have implemented two-way synchronization, but I wanted this to be simple and just tell people to maintain the CRM database with any new information or updates.

Moving information to SharePointTo initiate the synchronization, the only thing the end user has to do is to click the button “Move to DMS” and all of the needed fields are moved to a SharePoint list (account).

SharePoint Account listing

 

 

 

The synchronization can be defined in the settings of the synchronization tool that we are using and in our case it is 120 seconds. The tool runs in its own Microsoft Azure instance, which makes this solution completely cloud-based. I do not have to have anything installed on the laptop/desktop/mobile phone, everything runs automatically in the cloud. This is really the way I envisioned a solution architecture when I looked at the options what I had with the integration itself.

Let’s look at the use case itself. How does the end user act when working with both the Dynamics CRM 2013 and SharePoint 2013? First of all, I do not want all of the account/contacts to flow into a SharePoint list, just then ones that are relevant and associated with a document(s). Secondly, the idea is that CRM is not the UI for searching documents, it really is not optimized to do that in any respect. Once the account/contact is synchronized to a SharePoint list, the documents are entered into SharePoint and tagged to relevant people and accounts. The synchronization will refresh any updates on the account/contact records so there is no need to worry about getting updated information to SharePoint. Any search activity happens in SharePoint as that is really optimized for it.

I am not using the SharePoint list within Dynamics CRM 2013 whereby the account/contact record has no knowledge of the documents in the SharePoint site. In our case it has not impact as we work with larger projects and there are not that many clients at any point in time. The rule of thumb is that when any document is created, that is the time to click on the “Move to DMS” button in CRM as we want the account/contact information to move to the SharePoint repository.

The other rule that we have set is that a lead is converted (if lead is used) when a document is generated of any reason. Therefore, there is not a need to synchronize leads to SharePoint as it has been already converted to account/contact due to the requirements we have set.

I will dig into more detail of how we use SharePoint 2013 with its built-in content types and what kind of power we get from SharePoint itself. I have been extremely impressed with the content types and the inheritance structure that it enables for developers. However, it is very easy also to make the metadata structure too complex so what I did in my case, I really took time to learn/read and talk to SharePoint architects before I made my final decisions on the SharePoint structure I wanted to get in place.

In summary, our Dynamics CRM 2013 is the hub for our account/contact information and some of this information is synchronized to SharePoint 2013 lists using a Microsoft Azure instance. We do also maintain two other custom entities within Dynamics CRM (project and education events) and I will explain how these link to the over solution in future posts.

photo by:

Learnings of using software tools to run your business – Part 2

social crm

social crmIn my previous blog I concluded that we typically make our solutions to hard to use and non-intuitive for our users. I also told that I have over engineered many solutions and I guess I could blaim my accounting degree for that. I just wanted to make sure we collect everything that we might need in the future. Guess what, people just don’t care about that requirement of they do not get any benefit of it. If you present a “metadata card” or list of 10 items they have to pick, they will just not do it. They much rather brake the rules than spend time filling in things. I also told in my previous iteration that I decided to take another route this time when implementing both my Dynamics CRM 2013 and SharePoint 2013 solution: minimal time spent in putting in data. Let’s just focus on what we really need for finding things and also categorizing things for different purposes. As we work with many clients and 0ne of our roles is to do outbound marketing/channel development, we need to make sure that we know what solution we have promoted to what company and what the result of the has been. We are known to present and help ISVs to build channels so our ecosystem also expects us to present solutions that might benefit solution partners in the Microsoft ecosystem.

In this blog entry, I will be focusing on the “kernel” or core of our company, which is our CRM solution. Every company/contact and lead are collected in the database and we maintain and nurture it every single day. It really is about making sure that all of our customers and contacts are kept up-to-date and informed about what is going on in the ecosystem. In the past, I used to customize both the account and contact entity within our CRM to the extent that I did not even know what each field meant anymore. I just wanted to be on the safe side that we would collect everything. That was a mistake. We ended up having lots of fields that were not used and many that did not make sense in the end of the day. I also confused before what  to put on the account entity and what should go into the contact entity in respect to custom fields and sometimes I ended up replicating the fields. Not good. This time around if I have to reuse a field I am using “option sets” that can be regarded as “centralized metadata” that you can share across your Dynamics CRM 2013 entities. They are powerful and in my previous round of development I did not understand to use them. Having a centralized repository for your terms is powerful and helps you with your maintenance. In fact, I learned this from my 20 years in business intelligence/analytics/data warehousing. If you can centralize some thing, you should do it. There are of course some exceptions, but for the most part this approach has worked for me. In my future blog posts, I will explain how I used SharePoint 2013 term store as they are unbelievably powerful when used in the right way.

As you probably have heard about “app model”, Microsoft Dynamics CRM 2013 has a powerful concept of “solutions” which I find extremely useful and exciting. In the past, I did not realize that I should have created a solution from the beginning so any change that I made was made as part of my solution and if I created something useful, I could even potentially resell my solution. The inheritance structure and the way the solution works is in my mind one of the crown jewels of Dynamics CRM 2013.

You might now ask how much customization did I do for my account/contact entity. Not much.

Account-custom-fieldsIf you look at the picture of my custom fields, you can see that my fields relate to very basic things such as ” Account Type”, “Lead Quality”, “Lead Source” and “Target Segment”. I also have two special fields, “movetodms” is a field that enables the user to tell CRM if the company information should be moved to SharePoint lists and the second one “Unique Import ID” is a field that is used when reading in data sets and they are tagged with the import identification. A good example is if we go to a conference, the conference id will become the ID for the data set. Data set is treated differently that “Lead Source” whereby the “Unique Import ID” will never change while the “Lead Source” can be edited. Another important factor that you can see from the picture is the prefix “tellus” which is automatically attached to the field name as I have defined a solution with the name “tellus”.

The “contact” entity has also custom fields that I have created and in this case there are more in this  entity (contact) as most of our actions/tracking relate to specific contacts in companies. We do use lead entity every now and then and I was really struggling with the lead concept initially and we came to the conclusion that every name of a person could potentially be important for us so most of the lists are important as accounts and contacts. Keep in mind that we serve many companies and a solution/offering might not interest this company but another solution we are soliciting might be interesting in the future. If there is a “bulk list” of some sort, then I would definitely start by importing it as a lead list, but in our case and business model, account/contacts are what we track and are interested in.

In future posts, I will explain further how I keep and categorize things within these entities (account/contact) and how we know what offering/solution has been solicited for a specific contacts (I am using custom activity entities).

Contact-custom-fieldsThe picture of our contact entity has a bit more fields, but most of the fields are self-explanatory. I have added some social footprint fields such as LinkedIn and Twitter as they are not part of the “out-0f-the-box” Dynamics CRM 2013 entity. Some of the fields are the same as for the account entity, but they are needed as the data import is typically run as separate run and I want to keep track of each data import and it is very handy also for search and other classification initiatives.

As  you can see, I have used mostly the “out-of-the-box” entities within Dynamics CRM 2013 and just added a few fields that we need for our own tracking. I have also removed aggressively sections from both account and contact forms that have no relevancy in our management consulting and channel development business. In future posts, I will explain some of the additional custom entities such as “ecosystems” and “solution types” are part of the account form and how they are used.

 

Company-formAs you can see from the company form, all of the custom fields are listed in a nice and self-explanatory way and is easy for the end user to enter.

 

Contact-formThe contact form has a bit more information that I felt was important to collect. The two additional fields of interest are “Contact Profile” and “Target Ranking”. The first one lists the options that the end user can select and in our case they are things such as ” TELLUS Customer”, “Channel Lead”  and in fact anything that let’s use list different types of contacts easily. What I have found out during the years is that end users are reluctant to create views and queries so I have tried to make some fields to act as filters for some of the information we are collecting.

In summary, it has taken me years to come to this simplistic approach, but when I look back at all of the companies that I have worked with in the management or as a consultant, people have always said that “lets keep it simple”. I am proud of this iteration of development and once you get to see the entire solution scenario, I am sure you can agree that we try to minimize the data entry and maximize the output. Keep in mind, my intention was NOT to use programming in our solutions as I want this to be maintainable without heavy-duty maintenance. My company does not have special needs and our business model is very simple, but we need to execute marketing an outreach for many companies so our CRM really has become the centerpiece of it.

photo by:

Learnings of using software tools to run your business – Part 1

Learnings of using software tools

I have quite a few years behind me running companies and also helping out companies to grow the business with some key learnings. One of the key questions that has puzzled me all these years is how to make solutions to support information workers and not the other way around. Solutions are unfortunately still built based on what the company wants, and not what the end users want to use. Humans are lazy and due to this, we avoid doing things that will complicate our daily lives. I am sure you agree with me on this. If you don’t you must be exceptional employee.

I admit, I have failed many times with our internal solutions and typically the failure had to do with too complex thinking and “over engineering” things that in the end might have made sense for the organization, but not for the end user. I did blog about this topic already back in 2011, but 3 years is a long time so I thought to come back with some of the new experiences that I have accumulated during the past 3 years.

I will write about my experiences in multiple blog posts to keep it simple and more easy to consume. When you read these blog entries, you should read them as an extended case study of how a management consulting company runs its business using specific software tools. Some of my views might be biased, but they are based on my personal experiences not only building these solutions, but also using them on a daily basis.

My company serves other software companies in both management consulting as well as field execution such as channel development, so it is important to have solutions that support this type of environment. If you really boil it down to the core,  we need a CRM solution, a document management solution and  accounting solution. Besides these, we need to have all of the productivity tools to create different types of documents.

The first question that I had was whether I wanted to have my documents saved in our CRM system and it was very quickly evident to me that that was not the way to go. Dynamics CRM 2013 is not meant for document management and the only documents I would suggest you keep are some basic templates or marketing materials that you can attach to your emails. Microsoft’s platform for document management is and will be SharePoint so my logical choice was to have documents to be saved in SharePoint. However, the built-in integration between Dynamics CRM and SharePoint is not optimal and does not let me do things they way I wanted to build my metadata architecture in SharePoint. I used content types and document sets extensively in my information management architecture and there are many reasons for this. The way the current integration has been done between these two solutions would not let me use SharePoint native architecture without having to do custom plugins in Dynamics CRM. Whatever we do in our environment I do not it to be based on custom programming. I also wanted to use SharePoint Term Store that enables us to reuse terms across the entire site collection that I have decided to use.

The question remained for a long time what would be the best way to integrate these two solutions (CRM and SharePoint). My decision was to synchronize entities from CRM with SharePoint lists in a way that the end user could selectively decide what entities should be synchronized (such as customer, contact, project information). Our core IP is really two things: who we know and our skills in our domains. The who we know is maintained in our CRM and the skills are maintained in form of a knowledgebase which is our case is our SharePoint repository. We help software vendors with business modeling and  channel execution so we keep making lists and marketing campaigns towards our database of contacts. We have been doing this for almost 10  years, so when we do outreach, some already know what to expect from us like getting information about interesting products on an ongoing basis.

I learned an important lesson from an experienced business owner 15 years ago and this is what he said: “Petri, the only thing I have is what I know, who I know and all of this information is in a central customer relationship management system repository”. I took this statement as the core when building my company and take pride in really maintaining our lists.

The role that Dynamics CRM has in our environment is to be the central hub for all company/contact/lead information. Besides this, I have built a custom entity “projects” that is automatically syncronzied to a SharePoint list. Another customer entity that I have in CRM is “education” that includes all of the educational sessions that I am running either via www.tellusacademy.com or seminars in different parts of the world.

I want our CRM to be the place where people enter and update data and every record that is updated needs to flow whatever other solution needs the information. In our case, I found out software tools that enables us to synchronize information from any CRM entity (also custom entities) to any list in SharePoint. The synchronization happens by the user selecting a radio button on the CRM record and this is the “kicker” for the record to be synchronized to SharePoint lists.

In summary, the two core solutions that we use every day to run our business is Office 365 that includes SharePoint 2013 and Dynamics CRM 2013. Both of these are cloud-based and my company does not own any servers, in fact I made that decision already back in 2005 when I started TELLUS International that we would not invest in servers.

In the next blog I will go in more detail of the integration and the process/workflow we have when we work with these solutions. It might sound simplistic, but in the end of the day, we are not talking about rocket science here, we are talking about solutions that one wants to use every day.

Is your software SaaS solution channel friendly?

Channal friendly

Channel friendlyEvery software vendor needs to think about the question whether its SaaS-solution is channel friendly. And I am not talking about channel friendly from a financial perspective, but also from the perspective how your channel partners can administer its end users customers and deploy the solutions.  One of the biggest challenges that many software vendors as well as system integrators/managed service provides are facing is the deployment and automation of software solution to end users. In the past, the software vendor was able to ship the bits on a CD/DVD or as download, but now the expectation is that the software vendor provides an instance of its cloud in an automated way and in a way where the channel partner can manage not only the deployment, but also the provisioning, billing, support and all of the associated functions that a software solution delivery needs to include.

Most software vendors are missing all of the key ingredients in transforming the business model to a SaaS business model as it is changing almost every single aspect of the business. The first question is who is going to provision the solution? Is it the software vendor that will be notified of a new client by the channel partner or is it the channel partners that has a solution (UI) that enables them to manage everything themselves? Who is going to do the billing? Is it the channel partners or is it the software vendor? What  happens when the end user customer does not pay to the channel partner? Will the software vendor send a threat letter to the channel partner for non-payment of owed use of service? Is the end user customer going to call channel partner first, or directly the end user organization?

I could keep asking these questions and most of the traditional software vendors have not mapped out these changes and will handle them one-by-one as they come. That is not the most effective way of dealing with change as it is managing one crisis after the other while the better model would be to map out the process, ask the hard questions before anything gets shipped.

I got inspired about this topic today as I read in Redmond Channel Partner about Microsoft Office 365 current status, business growth and perspectives of the environment on channel partners. Based on the most recent quarterly financial report from Microsoft, Office 365 was one of the key highlights where the commercial cloud business for Microsoft has doubled year-over-year and both Office 365 and Azure are performing extremely well according to Microsoft new CEO Satya Nadella. He even concludes that Office 365 should be “a gold-rush time in some sense of being able to capitalize on the opportunity”.

The Office 365 business is already a $2.5 Billion business for Microsoft on an annual basis and when you calculate the entire ecosystem of Microsoft partners, it is easy to say that the overall revenue that the ecosystem is generating is many times that number. Microsoft CFO Amy Hood is concluding that it is the partners that are helping in the growth and this is exactly what one want’s to see when working in an ecosystem. The more Office 365 seats are sold, the better opportunity for third-party vendors to build solutions on top of the platform itself. We have to keep in mind that Office 365 can be seen as a platform and any platform should and will always have innovation extensions built by the ecosystem. If you look at SharePoint ISV ecosystem, there are lots of different solutions that people need to complete the platform. I mentioned in my previous blog entry the Office 365 scanning solution GScan Online from Gradient that enables end user organizations to scan document directly into SharePoint libraries without having to install heavy desktop software to do the job. The app is installed centrally and every user gets the ability to scan in documents using any scanner or image on a share folder. This is exactly the type of innovation that software vendors need to be thinking about and identifying what type of solutions are needed, what part of the ecosystem they fit in and create the right type of messaging around it.

Back to the question whether you are channel friendly. What Microsoft has done with its Office 365 channel partners is to provide a new partner tool that enables partners to manage the Office 365 service on behalf of its customers. Based on the feedback from his channel partners, Microsoft has now announced the brand new admin tool that will help Office 365 to be even more channel friendly for its partners.

If you want to scale your business to the next level, you will have to think about how you provide the needed tools for your partners. You can’t expect channel partners to wait you to provision, manage, support and do everything on their behalf. Most of the channel partner want to own the customer relationship and you as software vendor need to provide the tools to enable this.

Velocity of Business Models

velocity of business models

velocity of business modelsIt is amazing to see how the velocity of business models is changing the entire cloud landscape. I read  an InformationWeek article this morning about Gartner’s Magic Quadrant 2014 for cloud, its winners and losers and how for example Rackspace business model has change drastically the past year or so. Rackspace used to be the poster child in hosting and providing high value services, but now they are forced to look for new market segments besides the more traditional developer market that they have been aiming mostly according to the InformationWeek article.

The price decrease from larger players such as Microsoft, Amazon and many others have forced Rackspace’s of this world to look at their business model and try to figure out what to do to survive in the ever increasing competition.  It is not easy, no question about it. What is interesting to me at least from a research perspective is the speed of change that has definitely increased during the past years in software and IT business. If you look at service providers that used to manage internal IT infrastructure environments are now feeling the pressure of enterprises moving to the public cloud, whereby the service provider has to reinvent the business model as well.

Rackspace is not the only one that is feeling the pressure. According to the InformationWeek article, Dimension Data was in the Challenger Quadrant last year and has now been dropped to the Niche Player quadrant in the same way as Rackspace. WMware is listed as a Niche player this year, but Gartner cautions that they are offering services to managers that are responsible for virtualization and these managers are different from the business managers that want to build next generation solutions and these are typically the ones that will use public cloud such as Microsoft Azure. This is exactly what I have seen myself when working with both software vendors and enterprises. Enterprises especially were slow to move to Microsoft Azure, but that has really accelerated and even Gartner has noticed the rise of Microsoft Azure market share. This was also reported by Redmondmag where there are only two leaders in the Magic Quadrant, Amazon Web Services. and Microsoft. What is interesting in the new Magic Quadrant is that there are no challengers at all in the quadrant.

I think specialization is really what organizations such as Rackspace needs to do. All of my web-sites are based on WordPress and I have selected a hosting provider that is specialized in providing WordPress hosting only. WP Engine does WordPress only hosting and their site says exactly what I wanted “Hassle-Free WordPress Hosting“. What this means in real life is that they know WordPress inside out, they apply all of the WordPress fixes and monitor the security, take backups etc. Yes, all of this would be able to do on Microsoft Azure, but I would have to do it myself, but I am not in that business. I much rather have a premium hosting provider that I know is not all over the map and based on my experience, they really know what they are doing. I am running a solution on Microsoft Azure that integrates our Dynamics CRM 2013 Online and SharePoint 2013 Online and I will post another blog entry about this exciting integration case.

What is it that we should learn from this blog entry? The first learning is that nothing stays the same, even if you are a market leader or perceived as market leader. The second learning is that the change has definitely accelerated and this is causing bloodshed for the ones that have been resisting the change. The third and maybe the most positive thing is that the change is also creating new opportunities for entrepreneurs that identify gaps in the current offerings. We need to remember that business will continue, but maybe with new players. That is the name of the game.

photo by: jpctalbot

The importance of ecosystems

Ecosystems

If you work in the software industry, I am sure that you have heard people using the word “ecosystem”. A good example of an ecosystem is that of Microsoft that spans globally and has more than 500k partners of different types and with different focus. If you want to focus on Microsoft ecosystem, you have to divide it into sub-ecosystems as each of them have their own nuances.

EcosystemsThe included picture shows how a large Microsoft ecosystem can be divided into  sub-ecosystems and in this case a sub-community could be for example business intelligence professionals that work with Microsoft technology in different roles.  The community is built based on interest and maybe having a specific solution that fits into the sub-ecosystem or community.

My personal interest areas within Microsoft ecosystem is anything that has to do with collaboration solutions such as SharePoint. Another area of my interest is Microsoft Dynamics ecosystem, which represents both solutions in enterprise resource planning as well as customer relationship management. I have put huge amount of time in learning about solutions that are built on top of SharePoint and Dynamics CRM. Many new software vendors are building solutions that run natively in Office 365 environment such as award-winning Gradient that has built a native SharePoint scanning solution that works in Office 365. This solution (GScan Online) is a good example of new generation of solutions that you will see “popping up” in ecosystems such as Microsoft SharePoint.

A common mistake that I see many software vendors do is to not do their homework and really understand how an ecosystem works and understand the players within it. Software vendors typically skip the validation phase when setting their business model, assuming that the solution will be well perceived by the ecosystem.

Another common mistake is to not understand the competition. If there is competition, the software vendor has to understand how to position the solution so it won’t be “yet another of these”. Business intelligence is a good example of this. There are tens of different business intelligence vendors in Microsoft Dynamics ecosystem and when you try to differentiate them, they all use the same slogans and terms. How are the end users going to be able to differentiate what the differences are? I was able to see this myself in the latest Microsoft Convergence 2014 event in Atlanta. It was interesting to see and talk to vendors and see how the vendors positioned themselves. I am a true believer in competition but I am also a true believer in differentiation in the same way as you segment your market with your solution. When I run business modeling workshops, most of the focus is always on the value proposition and market segmentation. If you get them wrong, it really does not matter what you do as you will not reach the right audience and you will probably also fail building your solution to be appealing and valued by your customers.

 

Is the cloud killing your business?

Is the cloud kiling your business?

Is the cloud kiling your business?Cloud adoption is accelerating and it is also in the process killing many businesses. I read today an interesting blog entry “Are Cloud Vendors Cutting Out the Channel” and this article explains in great detail what is happening on the marketplace in respect to channel partners including value-added resellers (VARs) and MSPs. I remember vividly when Steve Ballmer suggested strongly a few years ago that Microsoft partners should really start adopting the cloud and a couple of years later, he stated that it might in fact soon be too late as the competition is already doing it. Pure channel partners with a business model to resell without adding any value will disappear from the markets.

I have recently talked to quite a few channel partners and the common message that I heard was that the markets are getting tougher and having a business without having a specialty or vertical experience might in fact kill the business sooner than later. I am seeing this also among software vendors that are refusing to adopt the cloud model. There are thousands of new pure SaaS entrants that want to be new market leaders in their domain and many end user organizations are refusing to go with the old-fashioned model where IT departments are the only part of organization that will be buying software and services. Based on the blog entry today, Tiffany Bova from Gartner concludes that many IT consumers are now “front-office buyers” from departments such as sales, marketing, finance, and human services. These departments are bypassing the centralized IT and this type of “uncontrolled” buying pattern will continue going forward in my opinion.

Microsoft management has been vocal to its partner network that every partner should by now be looking at cloud transformation and Kevin Turner (Microsoft COO) expressed his concern during Microsoft Worldwide Conference in Houston (July 2013) that only 3 percent of the company’s channel network was actively selling cloud services and this included products such as Windows Azure and Office 365. These numbers will change with time and I am convinced that there will be many partners that will experience the pressure the hard way. If the channel partner starts too late with the transformation, it might become irrelevant and have the wrong type of personnel with skills that do not match what the market wants. I am sure that somebody reading this blog will not agree with me, but I have seen already now quite a few channel partners that do not know what to do going forward. There is a real need to reboot the business model and rethink how the company will be surviving in the future.

I forecasted a couple of years ago that Sony will not survive the competition of e-books and devices due to many factors, Amazon Kindle being one of them.  A few days ago, I read that Sony will be exiting the business. Sony had its own e-book format and I was one of the ones that spent hundreds of dollars in books, which now will be converted to Kobo Android devices. I have no intention to buy any new devices. The reason I am sharing this is that even large organizations are forced to change the business model every now and then and consumers make wrong bets on the horse that they should be riding.

When I look at the global markets and what is happening around us, the change has accelerated in software domain and it has taken many by surprise. I would not be surprised that we hear bad news from many large industry dominant players in the software space that the transformation into new generation solutions has failed and consumers and businesses have adopted technologies that are more nimble and easy to use. It is very dangerous to ignore the trends and even more dangerous to think that market leadership means anything without hard work to maintain it.

App Ecosystem and APIs

Design by connectionI am a big proponent of APIs (application programming interfaces). Many of you might think that I must have a sick sense of humor, but I am seriously excited about this topic. We have finally moved to a new era where software development is moving away from trying to build colossal solutions that take years to implement and are hard to use. I gave an example of this in one of my previous blog posts how PowerObjects have been able to solve a business problem for me.

I am a true believer in assembling solutions of top-of-the-breed solutions and not trying to reinvent the wheel. If you felt a pinch in your heart, you should think about this and how you develop your software within your organization. Are you building things that already exist or are you building things that provide value-add to the overall solution based on your own core competence? I have led development teams an built more than 30 international software products with my teams, so I know what it means.

Application programming interfaces (APIs) can change your business and is a way for you to transform your business. It enables smart developers to create functional entities (consumable services) that can become a part of a larger entity. You do not have to go far to understand that quite a few companies have taken this approach such as Facebook etc. What is interesting is that APIs do not have to be only tied to external connections (messaging across organizations), but some large organizations are executing on effective API strategy within the company firewall. I truly think that the massive “one-fits-all” era is gone and the new era will be more about how you become part of your own ecosystem.

What we are seeing when working with large ISVs is the trend to not try to replace the old legacy solution, but to simulate a start-up by creating a MVP (Minimal Viable Product) that can meet the requirements of “good enough” for the end users. I think we have really come to the end of an era where more functionality is better, people do not have time to learn and re-learn things that should be self-explanatory. I am very excited about this MVP approach and will be writing more about this in my upcoming posts. I think this gives a new opportunity for legacy vendors to be competing towards new market entrants than every before.

I am excited about the potential with software, software apps and the cloud. I have been in the business for more than 20 years (hard to admit) and I feel like a young boy with the opportunities at hand. I like to challenge my brain (and keep myself relevant) by developing solutions and last weekend I spent customizing our internal Dynamics CRM 2011 Online instance to include the ability to collect information of TELLUS Academy students and also how to integrate all of this with our SharePoint 2013 Online instance. All of these are of course cloud-enabled and can be used from anywhere, anytime and independent of device. I set the objective in 2005 when I founded TELLUS to NOT have any servers that everything had to be surfaced from the cloud. Think back to 2005 and you will realize that there were not that many native cloud applications at the time.

If you are in the software business, you should look at the opportunities around apps and how you can build something exciting using the cloud. Unfortunately many organizations tend to think that creating an app has only to do with smart phones, but there is much more into apps than that. The app is just the “window to a service” that lives in the cloud and the user gets the benefit of this from many perspective such as scalability. I has been fun to see many organizations going into this direction with Windows Azure as backbone for the cloud services and Windows apps as the foundation. Windows Azure supports other mobile technologies such as Android and iOS as well.

 

Will your app developer be able to support your app use?

Light BikesI believe in the new app ecosystem. I can see the change happening in front of my eyes and I can see this in many ways. I can buy and install value-added apps for our Microsoft Dynamics CRM 2011 Online solution without having to call anybody and most of these solutions can be tried out for a period of time. I can also buy apps to my Windows Surface Pro and RT and some of the same apps can be purchased to my Nokia Lumia 1020 Windows 8 Phone.

The app economy is here and we can’t stop that. I also have a tremendous opportunity to see what is happening on the marketplace as I have to talked and worked with many ISVs about their cloud and app plans. It is fascinating to see how the change is impacting every single company and person that has to deal with software. If you are in denial mode, you will be left behind and many have already lost market share to smaller and nimbler vendors due to ignorance and in some cases arrogance.

I put a question in my title whether you feel that the app developer is going to be able to support your app use. I have already acquired quite a few Dynamics CRM 2011 solutions into our Dynamics CRM instance and each one of these solutions are critical in our daily use. To give an idea what type of solutions one can use is PowerAutoNumber from PowerObjects, an amazing company in the US that was selected as 2013 Microsoft Partner of the Year Winner in the Customer Relationship Management category. PowerObjects have identified a nice niche in their business by adding value to a software platform that is used by many system integrators and software vendors as a platform for derivative software product line development.

This PowerObjects solution module does one thing very effectively: it enables me to generate numbers to CRM entities with a 1-to-many relationships. I recently had a need to start tracking all of TELLUS Academy course participants and decided to build a small app in Dynamics CRM 2011 (like XRM) using custom entities but I did not realize that auto numbering was not part of the “base Dynamics CRM 2011 pack” so I had two options: to build one using JScript, use a bunch of “open source” code from the Internet or buy/pay for a solution to an ISV that will maintain and amend the solution. I decided to stick to the last option.

In my case, it is like having a bunch of Lego blocks that are assembled together and each building block brings value to the overall solution. I am sure that this is nothing new to the ones that still remember the discussion of component-based development in 90s. What has made this a reality in my mind is the acceptance of SOA-based solutions and some ISVs have really understood the importance of building effective APIs for others to consume.

What I like in the case of PowerObjects is their innovation of solutions that any Dynamics CRM 2011 user really needs on a daily basis. I will explain more about these and other topics in our solution portfolio in my later posts.

My message to any organization is that it should select very carefully the solutions/components that it is going to rely on in its operations. This is of course nothing new, but the new app/solution ecosystem is assumed to make everything so easy and we tend to forget that many easy things might break and the ISV even go out of business. What are we going to do then? Do check the background of the company that you are going to bet your business on, that is just a logical thing to do even if the buying and installing is easy in the new app economy.

Will your web-site work with different devices?

It surprises me how few software vendors have realized to change their web-site to work with any type of mobile or tablet device. Almost a year-and-a-half ago I made a decision to make things simple and base my web-sites on technology whereby I do not have to think about different devices, the web-site technology will take care of it and I can focus on content.

During the history of our company, we have had many attempts by having external designers doing the web for us and we ended up having an everlasting fight to keep our web-site compatible not only with different browsers, but also different devices. Every time we needed to change something on the site, it was a major hassle and it seemed like having a house or cards that would collapse as soon as anything was touched. It was time to move on and change the approach. I bit the bullet and decided to make a chance and  research what would be the best platform to base our  consulting company and our educational portal on. I looked at many different factors such as richness of component ecosystem, reviews from industry analysts of pros and cons of each CMS and also how our web-site would be integrated to our Microsoft Dynamics CRM 2011 Online that has become the heart of our daily lead management.

I ended up with WordPress as the foundation and a big plus was also that Microsoft supports WordPress on Windows Azure platform so it became and opportunity for me to learn Windows Azure Internet Web Sites technology as well. We had invested quite a lot of time and effort into DNN (DotNetNuke) in the past, but I felt that WordPress gave us the simplicity what I was looking for and the huge ecosystem of software plugins and themes made it as an easy selection. There was absolutely nothing wrong with DNN, but I just felt that WordPress was the right choice for us at this time of our company evolution and that is why I ended up changing horse.

I listed all of the needed functional elements that our site would have to support and I spent time looking for the right theme that would support our multi-device and browser requirement. Once those had been selected, the rest was just execution. All of our sites have commercial skins that are updated by the designers to include the latest and greatest features of the platform and the WordPress can be managed from my Lumia Nokia device using an app that support WordPress backend.

In the end, what I ended up is having following things when moving to our new web-site technology:

  • Simple and well-known CMS technology (WordPress) with thousands of commercial themes and plugins
  • Support for any type of device  either via an app or via native browser
  • Scalable backend server technology by using Windows Azure
  • Simple and fun to use CMS solution that just “make sense”
  • Lots of third-party integration solutions that can be applied to our web-site
  • Etc.

My new mantra “keep it simple” has really worked in our new strategy and I will be writing more about our modules that we are using to run our business in later posts.