How we use Technologies
We rely on Technologies to provide you with the Services that help you streamline your business by optimizing your IT organization and simplifying your technical setup. We use the term Technology in a broad sense, since Technologies are more than just technical frameworks, programming languages and the like. It also covers an effective project management setup in regards to both the development project and the business.
If you come here looking here for only Java, .Net or C++ expertise, then you have come to the wrong place. We are highly skilled in Java, .Net, C++ and even in COBOL, but to us it is more important how and when to apply a language or technology than the programming language itself. A programming language is a means to help you reach your business goals, not a goal in itself.
What we use the Technologies for
The Technologies in our tool-belt can all help you improve your IT organization and help you provide added value for your business. We know that the technologies listed here, even when applied individually, will help both speed-up your development and reduce your IT spendings. Applied together they can really make your IT organization perform like a lean, mean IT machine.
What’s important to us and you, is to figure when and if to apply the different technologies as they have different strengths and weaknesses that needs to be measured against the implementation context at hand.
Model Driven Development means building models of your business based on your actual business domain, terms and rules. These models are then in turn used for generating code for your chosen platforms to dramatically speed-up your development. A move from general purpose tools towards tools tailored especially for your own business domain. Applied correctly MDD can cut your development cost with up to 80% while also lowering your maintenance costs.
Domain Driven Design (DDD) is not a technology or a methodology. It is a way of thinking and a set of priorities, aimed at accelerating software projects that have to deal with complicated domains. DDD comes with several accompanying design principles and patterns which enables you to simplify and speed up development.
NoSQL. Are using a SQL database for all of your data storage needs, even if your data is not of a relational nature? If so, you might benefit from one of the many NoSQL solutions available. Not only will it provide you with a storage system that is more suited for your particular data, being it Key-Value, Graph or Document Oriented, it will also offload your existing SQL databases. This will again result in better performing systems and in lower maintenance and license costs.
SOA is heavily overloaded term where we can help you get the most out of your investments by helping you in achieving High Performance SOA by using the right Service Integration Patterns and principles.
REST is a really effective technology when it comes to Service endpoint implementations in SOA. Why always use WebServices if its more lightweight and scalable cousin REST can be applied more effectively?
CQRS will help you create an effective structure when defining, organizing and developing Services. Applying CQRS patterns will help you define simpler Services with clearly defined responsibilities that are easily maintainable. This will allow for a much higher scalability, while at the same time provide valuable information (Business Events) that can be used for SOA integration and Business Intelligence (BI).
Architecture is the foundation of the success of your business. The wrong architecture will mean that you cannot obtain your competitive edge. It is company with the most flexible and effective IT systems that wins, simply because they’re able to respond faster to the needs of the business.
PRINCE2 is getting both more and more popular but also getting a reputation for being the opposite of Agile and Lean? Can you implement PRINCE2 and still reap the benefits of being Agile and Lean? Of course you can but most organization do not, causing lots of revenue spend on unneeded project overhead.
Unified Process is the first robust and successful Iterative development process now regarded by many as being even less Agile than a Waterfall process. We have more than 15 years of Unified Process experience and can tell you that this is not true. Its is a great tool when applied and tailored correctly.
Scrum. Are you a so called Scrum-But? “We are using Scrum, but…..” is quite often heard by those who are applying it wrong. Scrum is a great tool for reducing overhead in iterative projects but it is not a guarantee for being Agile. Scrum used wrong is more costly that using Waterfall correctly.
Where to go from here?
The question is now, which technologies you should choose should choose and when?. There is no easy answer to that so Contact us and let us help you assess what will give you the most bang for your bucks with the least amount of effort.
If you think knowledge is expensive, then try ignorance for a while. Andy McIntyre