Custom Software Development Services
Click to enlarge Elzaris Organogram.
The Elzaris organogram depicts the overlapping levels of a business in which our services may be applied and the relationships between them.
Business Strategy
We strongly believe that any solution must be based on the business strategy, taking into account the direction in which the business is going, the guiding principles, and the current and future objectives that are trying to be achieved. Of what use is a solution that is not aligned with this vision? It is paramount that all effort applied to the lower layers should contribute towards reaching these goals, for if not, it is wasted effort.
Business Model
Our experience with business analysis and business process modeling allows us to gain a thorough understanding of the inner workings of a business and to ensure that the most effective and efficient processes are used in order to achieve the business goals. Where necessary we are able to design new process models or to remodel existing processes. We have extensive workflow experience (to the extent of having written an extremely powerful custom workflow engine) and are proficient with tools such as use cases and UML.
System Architecture
We design system architectures with simplicity, maintainability and extensibility in mind. We believe in strong isolation of systems and embrace the philosophy that system design should be compartmentalized, technology independent and completely testable. By adhering to these values we have produced system architectures that are robust, maintainable and deliver return on the initial investment through technology and environment changes. Domain-driven design principles are used to incorporate business needs and concepts into systems design with the result that solutions address real business problems and a culture of communication between business and IT is engendered.
Technology
At the technology level we have experience in systems implementation, integration and migration (often under-estimated in complexity). Our platform of choice is Microsoft .Net with C#, ASP.Net and Silverlight. We are equally at home writing thin clients or rich clients, web-based or desktop applications and have much experience with custom and commercial work-flow systems. We are proficient with all the major database systems including SqlServer, Oracle, MySql and PostgreSql. While we are most accomplished in Microsoft technologies, we are also quite capable with technologies prevalent in the open-source world such as Java, PHP and Python.
Cultural Alignment
We believe that solutions should be aligned to the client’s business paradigms and culture, which are unique to each organization. These are taken into consideration at each level and are particularly significant when it comes to change management. An open and shared approach is taken in our interactions with clients and their teams so that all experience a shared vision and a vertical involvement which leads to a sense of ownership and collaboration.
Project Management Methodologies
Good project management is essential in order to achieve these goals and we have found the Agile principles and methodologies to be extremely effective. We have had great success using agile methodologies such as scrum and kanban, both in our own teams and our client’s.
Best Practices & Standards
We are strong proponents of standards and best practices and make extensive use of design patterns and object-, component-, and service-oriented programming principles such as separation of concerns and programming to an interface. Unit testing and continuous integration we consider essential.
Development Processes
Our experience runs the full gamut of the Systems Development Life Cycle including planning, analysis, design, implementation and maintenance. We are well versed in iterative development processes and have adopted Agile development techniques where feedback plays a much greater role.
Mentoring and up-skilling of client teams has often been a requested deliverable and we operate comfortably in either an outsourced or co-sourced scenario, depending on the client’s needs and skill sets.

