Monday, September 28, 2015

Software Demos: It's Not About You

Since software is my business, I am obliged to attend quite a few software demonstrations.  I was reminded last week of a rule that is all too easy to forget when you are running a demo: it's not about you, it's about what the audience needs.

When you give a demo, do not feel obliged to cover every feature and suppress questions until you finish.  Your audience comes to the demo with expectations and sometimes prior knowledge of your product, so listen to their feedback.  Speed up or skip sections that they have already seen, and go to the areas that they care about the most.

Too often I feel like the presenter of a software demo thinks he is being paid on a per-feature basis, and most bring all of us in the audience along with him.  Nothing good comes from this approach.

If we wanted to see an exhaustive list of features rather than participate in a conversation with a human being, we might be tempted to read the manual or watch a training video instead.

Consider what you would want to see if you were in the audience.  Give people a chance to ask questions early to keep them engaged and allow you to tailor the presentation to their needs.

Wednesday, September 23, 2015

Software Requirements: Is it a Toaster or an Aircraft Carrier?

Building software solutions begins with identifying business requirements, and many project failures can be traced to poor requirements.

Part of the problem is that features and requirements language is often too broad or ambiguous, leading to conflicting interpretations, as I discussed in a blog post Stuff Passing as Requirements. These include meaningless expressions such as "intuitive," "user friendly" and "seamless integration" as well as impossibly broad statements like "meets all applicable compliance requirements."

One of my favorite classic information technology textbooks is Exploring Requirements: Quality Before Design by Donald C. Gause and Gerald Weinberg.  The book is a great foundation for understanding product development, not just for software development.  It will encourage you to ask more questions and think about requirements in new ways to make your projects more successful.

Another, related problem, is that information technology is by its nature both abstract and plastic, because it may be applied in so many different ways.  We often search for metaphors to help us scope software projects.  Sometimes the metaphor can illuminate, but often it obscures.

One of the most common metaphors I hear in software projects is the automobile.  "Do you want a Chevrolet, or a Cadillac?"  The idea is to separate required features from optional features.  This often fails in software projects, because a requirement of "red, has four wheels and carries passengers" applies to Radio Flyer wagons and to Ferraris.  One of our clients described a software requirement as so broad, you could use it to build an aircraft carrier. 

We also hear the analogy of a house or building.  How many rooms, or stories, or how tall do you want your software?  Again, this can be a point of departure, but often we end up with a skyscraper resting on the foundation of a shack because of changes made during the course of a project.

In the end, I often find that users cannot determine what they want or need until they see it. Prototyping and looking at comparable systems is much more useful than blue sky requirements brainstorming.  This approach allows you to benefit from the experience of others who have already covered similar territory rather than starting from scratch. 

Please share your software requirements experiences with me on Twitter @jamestownsend. 

Saturday, September 12, 2015

Learning from the Bank ATM Experience

When I first opened my own bank account, the only way to make a deposit or withdrawal was to go to the bank during business hours, wait in line, and interact with a human teller.  If a bank wanted to provide more service to its customers, their main options were to open more branches, open longer hours, and hire more tellers.

When automated teller machines (ATMs) were introduced, many customers were wary because they were afraid of errors and uncomfortable interacting with a machine rather than a person.  It didn't take long, however, for customers to learn that the convenience of the ATM was too good to resist for a large number of transactions, which allowed banks to change how branches were staffed and open ATMs essentially as micro branches to serve new neighborhoods.

The latest continuation of this trend is the growth in web-based customer self service, allowing customers to find answers to questions and solve problems online rather than on the phone.  Most of today's consumers grew up with ATMs and are more comfortable interacting with companies online.  They don't like to wait in phone queues or be transferred from one customer support person to another.

Parature, from Microsoft  offers a combination of online knowledge base, live chat, and multi-channel customer service.  It's the new ATM for today, offering businesses, government agencies and non-profits a new way to interact with people and improve the quality of service.

Grants Manager Plus: Theme and Variations

I have written before about how software solution implementations vary in order to serve the unique needs of customers.  One size does not fit all, and this is particularly true for implementations of Microsoft Grants Manager Plus.

When InfoStrat designed Microsoft Grants Manager Plus, the goal was to cover the entire life cycle of a grant, from creating a funding source to publishing grant opportunities, review, award, post-award reporting and closeout.   Our clients may choose to automate some of all of these processes, depending on the grants involved.

The downloadable solution has a large number of features, and is designed to be extended and integrated with other systems as well.

Some grant programs have large number of grants but small amounts of money for each grant.  They may need simple application forms and review processes.  Large grants tend to have more complex applications and review processes, such as review groups.

Fraud prevention and detection are a priority for some grantors.  Grants Manager Plus allows you to add fraud and error detection in post-award reporting workflows.

Grants that require complex post-award demographic reports need a structured approach to gathering metrics from grantees through the grantee portal.

Most grantors will want to use a portal to solicit applications and accept post-award reports online. Some use their existing website or another portal product they already own.  Some choose InfoStrat's PortVue as the portal for Grants Manager Plus.

Integration with financial systems is valuable in order to automatically forward payment requests from Grants Manager Plus to the financial system. The solution accelerator includes integration with Microsoft Dynamics AX and also integration points for other financial systems.  We have integrated with mainframe and Oracle-based financial systems as well as Microsoft ERP products such as Dynamics NAV, Dynamics GP and Dynamics AX.

Grants Manager Plus is much faster to implement than custom development, yet may be tailored to match the unique requirements of each grantor.

Thursday, September 10, 2015

Dynamics CRM Deployment Planning Services from Microsoft

Microsoft offers software assurance customers a number of benefits, including planning assistance from qualified Microsoft partners such as InfoStrat or Microsoft Consulting Services.  These services are included in your software assurance plan, and cover a number of products such as Office, SQL Server, Skype, Cloud, SharePoint and Dynamics CRM.

InfoStrat's clients have used planning services to analyze CRM implementations, prepare for upgrades, evaluate cloud deployment options, and other services.

Planning Services days are available in increments of 1, 3, 5, 10, or 15 days, and may include a Proof of Concept or Pilot.  You can access these days through voucher creation and redemption at the Microsoft Volume Licensing Service Center.  InfoStrat or your Microsoft representative can help you through the process.

Thursday, September 3, 2015

Dynamics CRM Integrations for Government Contractors

Dynamics CRM can be the centerpiece of capture management for government contractors, but it is even better when integrated with other office systems.  Here are some of the most common scenarios that we encounter, and integrations we have done for our clients and ourselves.

Document Management

SharePoint integration is included in Dynamics CRM, and it provides a great place to store proposal documents such as technical proposals, price lists, resumes, and more.  You can automate the generation of folders in SharePoint and populate the folder with standard templates and documents.

Dynamics CRM may be integrated with other document management systems if you are not using SharePoint.


Accounting systems such as Dynamics AX, Dynamics NAV, Dynamics GP and Dynamics SL can play a role in capture management.  They are likely where you create cost codes to track the activities of a project team.  Price lists may reside in these accounting systems.   Microsoft offers a Dynamics connector to make it easier to integrate Dynamics CRM with Dynamics ERP and accounting products.


After a project is won, you may want to integrate with your timesheets system in order to create the project and the billing codes and rates for each member of the project team. 

At a minimum, you can send a message to the manager of the timesheets system to notify them of the win along with the names and rates of all the project participants. 

Project Server

Many proposals call for a project plan which is created in Microsoft Project or Microsoft Project Server.  Sometimes the project plan is not created during the proposal, but it is one of the first deliverables in the project. 

Integration with Project Server allows you to have Dynamics CRM create a project and notify the project manager that it is time to create a project plan. 

If you use Microsoft Project but not Project Server, you can attach the Project files to the opportunity in Dynamics CRM for looser integration. 

In summary, you can create basic or full integration with all the products that relate to the sales activities:

Notify accounting and request budget code
Create budget code and timesheet entry
Notify human resources manager and create timesheet codes
Create timesheet codes
Project Server
Notify project manager to create project plan
Create project plan and add resources based on proposed team
Document Management
SharePoint integration included out of the box
Automate creation of standard documents based on templates

Monday, August 31, 2015

FAV Plugin for Microsoft Dynamics CRM: Formula, Aggregation and Validation

InfoStrat has developed the FAV Plugin for use with Microsoft Dynamics CRM to support data validation, aggregate operations, and formula support without programming.  Many business applications for Dynamics CRM require complex business operations that are not supported in Dynamics CRM out of the box but can be implemented through plug-in configuration.

Typically, in a complex Dynamics CRM deployment, business rules, complex calculations and additional security measures are scattered across multiple layers.  Often all of the above are implemented in JavaScript code on various Dynamics CRM forms, in Plugins, and in other extensions such as external portals and data integration components. This proliferation of implementation decisions makes a solution extremely hard to maintain and modify, breaking the development agility inherent to Dynamics CRM. The FAV Plugin allows an implementer to concentrate these functions in a single location and implement all requirements declaratively.


Microsoft Dynamics CRM includes a flexible SDK framework that allows developers to modify the standard behavior of the CRM platform.  One of the approaches to customization in Dynamics CRM is custom compiled code—a Plugin—that runs against events triggered by actions in Dynamics CRM. These Plugins can be run on the Dynamics CRM server either synchronously or asynchronously.

The Dynamics CRM framework is designed for extension: the metadata for core entities is exposed in the API for creation of custom entities. Due to this high degree of extensibility, Dynamics CRM development can address the business functions for a wide variety of organizations.

InfoStrat has developed the FAV Plugin for use with any Dynamics CRM instance, whether based in the 2011, 2013 or 2015 version, hosted on premise or online. The context for the FAV Plugin operation is driven entirely by configuration objects located in the FAV Plugin registration properties, enabling developers to use this FAV Plugin against many CRM instances with increasing economies of scale for each implementation. As a result, the FAV Plugin can be used to implement declaratively complex business rules and additional security measures.