Our Development Methodology is just one thing more that makes us better
Microsoft CRM 2011 consultants can be found everywhere. Every MSCRM vendor website you see claims ‘we’re different’ and provide a handful of business clichés to validate the claim. At dynamics four, our development methodology really is different and we are the only Microsoft Dynamics® CRM consultancy that can back up our claim. We’re the only Microsoft Dynamics CRM vendor that not only has a development methodology, but publishes it.
We actually have a development methodology
Ask around and you’ll see that delivery problems on Dynamics CRM projects are very common. If there’s heavy customization that involves development, you can almost bank on the fact the project is over budget and late. In large part, we believe it’s because most vendors treat CRM Development as though it’s unique creature. It’s NOT. Successful software development efforts share many common characteristics, so do failures. Having a firm development methodology and following it, coupled with A-list developers is one of the things that goes into a successful project. Here are a few others:
While Microsoft CRM projects are different from traditional .NET projects in many ways, there’s more that’s common than is different. Many companies overuse custom entities because they lack the knowledge of existing CRM entities. Others rely too much on out of the box entities because that’s all they know. Every dynamics four development project starts with in-depth discussions about optimal entity structure.
There is no magic structure that’s right for every situation, so we rely heavily on prototypes. We engage with our clients to find out the expected user volume and data load. Then we multiply and multiply some more. Each prototype is tested not just with the maximum number of records the client anticipates, we use at least an order of magnitude more data. Then we use advanced Stress Testing tools to make sure that the application remains responsive. It’s one thing to claim “we have a well thought out entity model”, it’s something completely different to stress test the design with an order of magnitude more data. Instead of making empty promises about the application being responsive, we provide detailed metrics, up front, about data volume and response times.
One complaint every heavy CRM user has made is “It’s too clicky” or that it can be time consuming to do seemingly simple tasks. Extra clicks equate to extra time. Extra time equates to reduced productivity. All of this adds up to more money and later delivery windows. We know how much time matters and even the best functional application isn’t of much benefit if it takes too long to get something done. We incorporate Use Cases extensively based on client feedback so we can tell you with precision, how many clicks it takes to do something and how long it takes to do it. Make no mistake about it, if actual Use Cases aren’t used with realistic data loads, your vendor is guessing and leaving the success of your business to chance. The development environment needs to closely track to production. Every Use Case is responsive with only a handful of records in it. Trying the same Use Case with a few million is a different story altogether.
Having a firm commitment, up front, on what loads can be supported and what response times will actually be to perform a start to finish action lets users know exactly what they’re getting. It also allows us to identify problems as early in the development process as possible, when it’s still easy to fix. Instead of telling you “It works”, we tell you “It works exactly as promised, and it takes x seconds and y clicks on the low side, a seconds and b clicks on the high side.” This means quantifiable results instead of what too many other vendors provide: excuses, blaming it on the product or telling you to buy more and expensive hardware upgrades.
Homes, buildings and skyscrapers aren’t built from verbose Word documents, meaningless PowerPoint presentations, incomprehensible Visio diagrams or really detailed Project plans. Builders and clients don’t have arguments like “You said the living room would be big, this living room isn’t big.” Yet such arguments and unmet expectations are inevitable, absent a precise mechanism to avoid such confusion. Take any non-trivial document and have five people read it. See if all five people essentially agree on what the document said, let alone can find 100% agreement on it. Chances are it won’t happen. And let’s face it, non-trivial projects don’t just involve five people, they usually involve quite a few more.
We’ve all played Telephone back in 2nd grade and saw how badly things get distorted. Yet Telephone is the predominant design methodology for too many CRM Projects. Not at dynamics four. Instead, we use Unified Modelling Language (UML), software engineering’s blueprinting document. A UML diagram means the exact same thing to 5 people or 100 people. It means the same thing in Alabama, New Delhi, Moscow or Singapore. It allows software to be designed with complete precision, leaving little to chance or the imagination. Unfortunately, if you search around, you’ll see most every developer nowadays claims to know UML. Only a small fraction know it well enough to field even the most basic interview questions. At dynamics four, ALL of our developers are fluent in UML (and we’ll gladly have you test us on it pre-engagement if you have any doubts). It’s the only design language we speak. Sure, we translate it into plain language for the non-technical stakeholders, but all of our technical people live and breathe UML. Others talk about it (although it’s a rarity to find a CRM vendor that uses blueprinting of any sort, let alone UML), we live it.
Agile, Microsoft Solution Framework (MSF), Waterfall
We adjust to our client’s demands when it comes to process methodology. We can, precisely because we actually know all of the major methodologies. Everyone from our business analysts to project managers to developers know Agile, MSF and Waterfall and we know them well. Whichever you prefer, we’ll accommodate you and we’ll do it well.