IT CONSULTING
Delonia's team of technical experts will provide you with the best value on the market for projects such as Software Engineering, Reengineering, Refactoring, Analysis & Design and System Migrations or Integrations.
Software Development
At Delonia, we pride ourselves on the degree to which we adapt ourselves to the special needs and circumstances of our customers and the solutions they require. We are ready to work with you on software development projects in a wide range of environments, with different scopes and in different stages of development.
Our extensive experience in customized software development for a wide range of environments and situations (high-availability or subject to high traffic loads or situations requiring company integrations) has enabled us to master a wide spectrum of technologies and technical & functional requirements. Our areas of experience and expertise include the following:
Expertise in the market's main software development platforms:
- Java (Oracle, IBM, JBoss, Otros)
- .Net (C#, C++, VB.Net)
- Mobile (iOS, Android, Windows Phone, Symbian, J2ME, BlackBerry)
- R/Scala/PHP/Otros
Technical Architecture:
- SOA
- Enterprise Architecture
- Web 2.0 / Enterprise 2.0
Methodologies:
- Agile: XP / Scrum
- RUP
- ISO/CMMI
Systems Analysis and Design
The main causes of failure in software development projects are cost & time overruns as well as functional or technical deficiencies & gaps (performance, scalability, etc.). Detailed Requirements Analysis and correct management of Functional and Technical Requirements help avoid these problems by making it possible to anticipate potential problems or needs and communicate them to the development team in a clear and well defined way.
Requirements Analysis and the subsequent Technical Design are fundamental methodological components of all projects that Delonia undertakes and in many cases these may become independent projects in and of themselves. The role of these functions within any IT systems development project is critical and Delonia makes it a point to be sure they are correctly implemented though the following policies:
- We believe It is necessary have the participation and involvement of all stake holders in projects (business, technical persons, end-users, management, etc.), since their joint or combined vision of the problem or solution to be developed and its associated needs is fundamental to being able to define and design the best solution.
- Analysis and Design must be backed up with quality documentation which should be foundation of the ensuing development work.
- Application of Requirements Management methodologies (RUP, CMMI, ADM, etc).
- Use of support Tools like IBM Rational, HP Mercury, OSRMT, etc., whenever possible.
- Model systems design from several different viewpoints so as to facilitate aligning business and technology needs.
- Follow the guidelines and processes defined in Enterprise Architecture (TOGAF, Zachman) when appropriate.
Reengineering, Refactoring and Migrations
This area of Consulting is oriented towards projects that will involve existing IT systems which need to be modified, integrated into or migrated to other systems.
Projects of Reengineering or Refactoring involve analyzing existing systems in order to recuperate or understand their functional requirements. The main motors or reasons for these kinds of projects are: the existence of legacy systems; the discontinuation of support or maintenance teams, or simply the need to develop documentation for the systems already existing in the company. To carry out projects of this sort, Delonia may do any of a number of things, from making a functional revision, or perhaps decompiling executables to reengineering database models in order to extract functional knowledge of applications and in this way be able to document them with a view towards future migrations, development of new versions or integrations.
Migration projects tend to be very complicated due to the all the special circumstances that may arise during the process. The fact is that it is simply not always viable to migrate systems or data, or
in some cases it is not possible to migrate 100% of the information contained in the old (legacy) system to the new system. Even so, with Delonia you will have the greatest probability of a successful migration, since we use a number of specialized techniques for accomplishing this: aside from the initial feasibility analysis, in some cases we even resort to reconstructing part of the system or adjusting it
so that it can be migrated without incidents. Then of course we actually execute the migration itself. In short, Delonia offers you the best professional services available for this sort of project.
QUALITY AND IMPROVEMENT PROCESSES
Our experts in QA and improvement processes not only certify and validate software developed by Delonia, but also software developed by third parties. We will be glad to speak with you about doing a personalized study on which of these services could be applicable to the specific situation of your organization
Requirements Management
Requirements Management is the fundamental axis of any engineering project, be it in construction, aeronautics or IT. In the case of software development, requirements must be correctly managed throughout the entire process, from the initial stages of Analysis and Design to the later phases of QA and Process Compliance. You can be sure that Delonia will do exactly this when developing your project!
Whether it be through following processes or methodologies or by execution of routine management and control tasks, at Delonia we adapt the mechanisms of Quality Assurance to the circumstances of each project in order to achieve the following objectives:
- Document correctly the Functional, Technical and Operative Requirements for the project.
- Define the mechanisms for Validation (functional and stress tests, validation of users, etc.).
- Maximize the visibility of the Project for our customers so that they can always be up-to-date on exactly what has been done or what is in process. We do this by providing regular deliveries in order to assure the progressive validation of requirements and that the project meets the expectations of our Customers. The following are some of the tools we use:
- Presentations
- Video Simulations
- Models
- Prototypes
- Alpha, Beta, or RC releases
- Allow for evolution and Requirement Changes throughout the project so that the impact of these changes will have a minimum impact in terms of deadlines and costs.
- Identify and manage Gaps and Change Requests correctly by accurately evaluating their impact on the project, regardless of whether this is related to deadlines, resources or costs.
Functional Tests
The objective of Functional Testing is assure that the program being developed complies with the quality standards stipulated by the customer or by Delonia in terms of whether or not it implements the functions it is expected to perform. The result of this process is a Software Quality Report which may be enriched through other QA processes, like Technical Testing or Delivery Audits.
Functional Testing comprises two kinds of testing processes: Verification and Validation. Verification refers to the process for ensuring that for a given development phase, the software satisfies the conditions set out at the start of that phase, i.e., that it has been built according to the requirements and design specifications, including customer requirements and the following of best practices.
The verification process includes the following concepts, which are described in greater detail in the Best Practices document that Delonia prepares for each QA project:
- Types of tests
- Testing Methodology
- Verification Lists
- Requirements Verification
- Definition of incident management
- Verification of Work Products (deliverables)
On the other hand, the purpose of Validation is to assure that the product actually meets the user's or customers needs and so complies with acceptance criteria. In every project, Delonia works with the customer (and end users) to jointly define the criteria for acceptance, since this is the only way to be sure that delivered product will be correctly validated.
The Validation process includes the following concepts, which are described in greater detail in the Best Practices document that Delonia prepares for each QA project:
- Definition of the acceptance criteria
- Validation of the project
- Acceptance tests
- Certification
When these processes are carried out as part of a software development project (they can also be done in the context of an independent QA project not linked to a development project), the definition and execution of the tests are based on documented requirements as well as the project's previously defined acceptance criteria.
Functional testing is usually carried out in the following stages:
- 1) Development of the functional testing plan
- 2) Execution of the testing plan
- 3) Management of incidents & recommendations are given based on the results of the tests
- 4) Repetition of the previous two activities (2 & 3). On the average there are 2 or 3 repetitions per delivery
Technical Tests
As in the case of Functional Testing, Technical Testing is indispensable for guaranteeing the correct functioning of a software application: the projection or simulation of future conditions (production load, performance, availability, etc.) is necessary in order to identify or anticipate problems that may arise after the system has been put into production.
The objective of these technical tests is to assure an adequate degree of technical quality by verifying that the software complies with the service quality requirements stipulated by the customer or by Best Practices (performance, scalability and stability).
Technical testing includes the following concepts, which are described in the project's Test or QA Plan:
- Type of test
- Testing Methodology
- Code inspection
- Verification Lists
- Build inspections
- Inspection of environments
- Definition of incident management
- Verification of Work Products (deliverables)
In the validation process, the purpose is to demonstrate that the product or service complies with the Technical Acceptance Criteria. The following service qualities are validated (though of course these can be adjusted in accordance with the specific situation of each project):
- Scalability (in numbers of requests, users or functionalities)
- Stability (in terms of load, stress, exceptional situations)
- Performance (expressed in numbers of requests per second, transactions, etc.)
Processes and Certifications
As part of the search for continuous improvement, the use of different development methodologies, process definitions and the attaining of maturity certifications are necessary and useful for organizations specialized in the development and management of software projects, be they service consulting or development companies, software factories or IT departments of medium and large companies.
Delonia has extensive experience and expertise in this area and offers consulting and support services oriented towards the definition and improvement of organizational processes so that our customers can obtain certifications such as CMMI or ISO.
Our team's experience in this area is as follows:
- Definition of Processes
- Software Development (RUP, Agile)
- Software QA Processes
- Software Architecture (TOGAF, Zachman)
- Project Management
- Management and Implementation of Certification support projects
- Audits of QA systems
PROJECT CLINIC
Resolvemos Problemas
At Delonia we offer special services that go beyond traditional software development and consulting: one of these services is our Project Clinic. From this Clinic our specialized and highly experienced team is ready to provide solutions to problems that have arisen in third party projects (projects which Delonia has had no participation in). Working completely from 'outside' of the 'ailing' project, without the involvement of the Customer's team, systems or suppliers, Delonia provides the knowledge and capacity to 'cure' projects with 'symptoms' which cannot be adequately treated from within the purview of the original project itself, since in such cases the project requires an external, 'objective' professional vision in order to make a correct diagnosis and prescribe the right treatment. The following are examples of some of the services our Project Clinic specialists provide.
Feasibility Analysis
Will the proposed solution turn out to be effective? Will it meet the technical needs of the company? What decision should we make?
At the beginning of a Project there are frequently questions & doubts for which there are no easy answers. Most of these have to do with the risks involved with using a given technology, a design for integrating two systems or the choice of a product, supplier or manufacturer.
Given our team's R&D capabilities and their years of experience working on Consulting and Development projects, Delonia is able to offer its customers a Feasibility Analysis Service which enables them to reduce risks and resolve their doubts about projects which are about to be started.
Our Feasibility Analysis Service includes the following actions and activities as specific services for Third Party Projects:
- Development of prototypes
- Definition of structural architectures
- Technical testing (stress, load, security)
- Study of technical alternatives
- GAP Analysis (Problem - Solution)
Problem Solving
Problems are an inherent part of any software project. Even if a project is managed perfectly and you have an expert development or consulting team, there are still numerous factors that may simply not be possible to control.
The Delonia Project Clinic frequently takes on and solves customer problems that have nothing to do with consulting or software development projects. In these cases our objective is simply to provide our customers with a solution as quickly as possible. This may involve one or more of the following examples:
- Project Management
- Definition of work and/or project plans
- Identification of technologies and/or products
- Composition of work teams (training)
- eam management
- Analysis, evaluation and monitoring of risks
- Technical Problems
- Capacity planning
- Identification of bottlenecks
- Solution of problems like memory leaks, performance or scalability
- Reengineering, Refactoring, Revision and Re-edition of code and programs
- Optimization of application and data base servers.
- System documentation, development, maintenance and operations guides
- Training Needs
- Software development in Java, .Net, Oracle, Microsoft, etc.
- Good and bad practices
- Performance improvement for development teams (IDEs, Testing, and Methodologies).
- Documentation and presentation of projects
- Documentary support for processes
- Feasibility of solutions
All of the services available through our Software Clinic are implemented from outside of the project or situation targeted and not as a part of them. This permits Delonia to work independently without affecting or making any changes in the processes, suppliers or agents involved in the projects. After all, Delonia's objective here is to solve the targeted problem in the least amount of time possible so that the activities of the project can continue moving forward.
It is important to mention here that Delonia considers it essential to assure confidentiality in all projects of this sort by way of signing Non-Disclosure Agreements with its customers so as to facilitate the execution of the project in any environment that might be necessary during the course of the project.
Documentation and Improvements
When describing the services offered by Delonia, we always mention the fact that we consider it very important to provide our customers with quality documentation of the projects that have been entrusted to us. This is because we are convinced that the availability of quality documentation is essential to having and maintaining a first rate QA system. In addition, access to first-rate documentation will enhance and facilitate future development teams understanding of the system, and this in turn will lead to significant reductions in costs and system risks (when IT teams carry out maintenance, support, integrations and migrations without adequate documentation, they inevitably waste a lot of time trying to understand the system and also face greater risks of making important mistakes which may affect the functioning of the system).
Documentation, whether it is part of a project or as a project in and of itself, may of course vary in terms of its detail and form, but will always involve the following elements:
- Management of requirements
- Modeling of solutions
- Keeping the knowledge of the business and the system within the organization
- Identification of improvements
- Provide Operations Guides in order to simplify and structure correctly the providing of services
The identification of areas for improvements and/or deficiencies found in the process or system is common to almost all project documentation, since continual improvement is the corner stone for efficiency and competitiveness.
The projects that Delonia has carried out in the area of documentation have involved the following tools and products:
- Documentation Systems
- Office Automation Software (MS Office, Open Office)
- Models and Diagrams (UML, Visio, Enterprise Architect)
- Knowledge Repositories (Wiki, Document Managers)
- Requirements Management Tools (Requisite Pro, Quality Center, Caliber, Tigris)
- Presentations / Videos (MPEG, FLV, Pills)
- Kinds of Documents Produced
- Requirements Specifications
- Analysis of Requirements
- Technical Design
- Enterprise Architecture
- QA and Test Plans
- Definition of Processes
- Risk Reporting
- Capacity Plans
- GAP Analysis
- Development Guides
- Procedural Guides (Support, Operations)