We are primarily a Microsoft .net development firm. We practice model driven development (UML modelling), use MS Unit for unit teasing, and achieve continuous integration using Microsoft Team Foundation Server.
For enterprise applications we use Windows Communication Foundation & SOA; Windows Workflow Foundation; Microsoft Enterprise Library; Windows Services; Microsoft Cluster Services (MSCS); Component Load Balancing (CLB); and, Microsoft Network Load Balancing Services (NLB).
For distributed applications we are expert in Windows Azure Cloud Applications; Distributed Transactions; Web Services; Web Service Extensions; SOAP customisation; XSD Usage; Remoting; Custom Remoting, marshalling, channeling, security; Biztalk; MSMQ.
For web-based applications we use ASP.net; Third party controls; Custom controls; AJAX; XML / XSLT; Master Pages; ASP.net MVC; Silverlight; Microsoft Office Sharepoint Server & MS Sharepoint Server; and, Windows Sharepoint Services & FAST Search Sever.
For desktop applications we use Windows Presentation Foundation; WinForms; Smart Clients; Composite Application Blocks; Smart Client Software Factory; Microsoft Surface; 2D Graphics; GDI+; and, Font Management.
For mobile applications we use Windows Phone 7; Compact Framework; Web services collaboration; and, SQL Server CE.
For data access, management, reporting and analysis we use RDBMS; ORM (LINQ, Entity Framework, NHibernate); ADO.net; DataSets; MSSQL Server Integration Services; Crystal Reports; OLTP; OLAP; and, Multi-dimensional data processing.
Our advanced development technologies and techniques include Reflection; AppDomain Management; security; COM interop / Platform interop; COM Interop, Pinvoke, IE, MS Office and shell integration; multithreading; and serialisation.
We never forget that we are building business-critical live production systems that are essential to the success of our clients and their clients. Many of those systems are running services in heavily regulated markets. Everything we build is intuitive to use and support; reliable; scalable; performant; flexible; and, secure. We avoid having a blinkered focus on functionality and forgetting about all the other things that matter in production systems. We build systems that our clients can support themselves with ease, rather than always having to call on us (though we only ever a call away for first, second and third line support). We have a great deal of experience in ensuring that performance is designed into our solutions rather than it becoming a post-hoc search for bottlenecks and optimisation opportunities. That experience includes defining performance acceptance criteria; capacity planning; ensuring scalability in the design; production simulation; baseline, load, endurance, stress, and spike testing; and, using realistic environments, conditions and data during testing.