|
Today's software is not like yesterday's. While just a few years ago software construction
was more art than science, today software is increasingly characterized by standardized
engineering practices, architectures, frameworks and processes.
More and more organizations seek to capitalize on the emergence of standards to
elevate their software construction process. The first and most critical step in
this process is the software architecture audit.
Exia provides a comprehensive software architecture audit service that will tell
you exactly where you stand and will provide a roadmap for enabling your development
capability to advance to the next level.
Exia Qualifications
Not only does Exia possess some of the top .NET and SQL Server experts in the country,
but, unlike other firms with deep Microsoft experience, Exia backs this experience
up with nearly twenty years of research and development work in advanced framework
design, code reusability, object-oriented programming techniques, patterns and practices,
and software factory technologies. Since 1989 Exia personnel have pioneered concepts
of modularity, data driven design, database design and object-relational mapping.
We have consistently been at the forefront of application architecture, and partnered
with Microsoft to lead and evangelize the introduction of the .NET platform in the
Ottawa area. Our R&D efforts have been consistently recognized and supported
by both the Government of Canada and the National Research Council since 1993, with
our most recent research project in 2006/07 advancing the state of the art of Microsoft
software factory and domain-specific languages interoperability to achieve greater
development efficiencies.
Exia personnel each possess over twenty years of advanced architecture, methodology,
framework and application development best practice experience.
We have performed code audits and reviews for the following organizations: The Department
of National Defence; Bell Guardium; Ajilon Consulting; Manulife; Mercer HR Consulting;
The Natural Science and Engineering Research Council of Canada, The Ontario College
of Teachers; Edulinx; iStat.
A Balanced Approach
A key differentiator in Exia’s approach is the formal business education (MBA) of
our lead architect. This gives Exia the ability to look not only at the technical
aspects of the architecture, but to frame those against the business forces that
have shaped, and will shape, the applications over time. For instance, while other
audit firms might recommend wholesale reconstruction of an apparently poorly normalized
database, Exia has the maturity and depth of experience to weigh this against the
legacy forces shaping the demoralization and to recommend pragmatic and balanced
approaches to move forward. Similarly, while many firms will reject all but a single
“reference” architecture approach, Exia recognizes the need to weigh adoption of
more complex architectures with the capabilities of the organization to support
them. The result is a balanced and measured view and recommendations that offer
sound, budget-conscious and incremental steps to advance the organizations capabilities
and standards. Other differentiators are:
- Exia is impartial, objective, and uninfluenced by external forces. Exia has a well
known and impeccable track record of integrity.
- Through Exia’s partner company, Ajilon Consulting, Exia has the support of a global
technology consulting group with operations in Canada, U.S., U.K., France, Australia
and twelve other countries. Ajilon posted revenues over $3 billion in 2006, and
is currently utilizing the skills of over 33,000 IT professionals. Ajilon is a subsidiary
of Adecco SA, the global leader in staffing with 6600 offices in 70 countries and
revenues of $40 billion in 2006.
- Exia has unmatched expertise with the new Software Factory technologies, which can
reduce application development costs by 1/3. No architecture review today is complete
without a thorough gap analysis against software factory technologies and recommendations
for gradual migration to the factory methodology.
- Exia personnel are certified in multiple disciplines including Microsoft Certified
Solution Developer, Microsoft Certified Application Developer, Microsoft Certified
Trainer and Microsoft Certified Professional.
Process
Exia has developed a Software Architecture Audit Model consisting of six phases
of audit: Architecture, Security, Tools, Processes, Efficiencies and Performance.
The Architecture phase focuses on application architecture, database
architecture and overall architecture. Architecture phase inputs are application inventory, database
inventory and architectures. The Architecture phase output is an assessment of the
overall architectural level of the organization as it pertains to application and database development.
The Security phase focuses on application security as it relates
to the application architecture. Security phase inputs are application security
processes, models, methods, and source code. The Security phase output is an assessment
of the level to which security is built into the application architecture and implementation.
The Tools phase focuses on the tools being used to build and maintain
applications. Inputs are usage patterns of the .NET Framework, usage patters of
Visual Studio and usage of 3rd Party tools. The output is an assessment of degree
to which tools are being leveraged in the development process.
The Processes phase focuses on code management, quality control
and the development process methodology, such as RUP or Agile. Inputs are code management
processes, quality and testing procedures and patterns, and development process
usage and patterns. The output is an assessment of the degree to which processes
are being utilized to support the development effort.
The Efficiencies phase focuses on libraries, frameworks and factories,
the core elements of increased efficiency, reuse and optimization. Inputs are usage
patterns, adoption patterns and patterns of innovation, exploration and corporate
investment in efficiencies, including code reuse at all levels. The output is an
assessment of the degree to which libraries, frameworks and factory technologies
are systematically employed to increase efficiencies.
Lastly, the Performance phase focuses on the ability of the previous
elements to support the level of expected software performance. Inputs are performance
requirements, availability requirements and performance test processes. The output
is an assessment of the degree to which the organization is able to meet the performance
requirements for the current and future organizational software plans.
|