Software Analysis and Design Services
Requirements/Business Rule Analysis
Data Modeling

Project Management Services
Analysis/Design Review
Gap Analysis
Requirements Quality Assurance
Team Lead/Mentoring time

Software Implementation Services
Software Development
Software Implementation/Integration


Software Analysis and Design Services
Proper analysis and design is the foundation of software that meets user's requirements and expectations. It is all too often that thorough analysis and design is neglected, leaving the resulting software -- if even implemented -- a nightmare to maintain and a constant drain on a company's resources. Expending resources up front will virtually ensure that the resulting system is not doomed for immediate replacement.

Orthogonal Software Corporation has an international reputation for being focused on this crucial phase of software development and has the expertise to guide you through its complexities, pitfalls, and benefits.


Requirements/Business Rule Analysis
Nothing is more important to timely and accurate delivery of software than gathering the requirements and business rules of the software you will be constructing. This process involves talking to business subject matter experts and obtaining a solid knowledge of the business. After all, the purpose of software is to automate the business such that the business can be more profitable.

The challenge here is to be able to extract the information that resides with your knowledge workers. These vital staff members are usually non-technical in nature which makes communication with intrinsically technical software developers a challenge.

What you need then are people and techniques that can act as a liaison between your non-technical knowledge workers and your technical software development team.

Orthogonal Software Corporation uses techniques that focus on interacting with your knowledge in a language they can understand: their own. Using these natural language techniques, your knowledge workers are no longer burdened by attempting to translate what they want into technical terms such as tables, classes, keys, relationships, interfaces, and columns.

Not only is this approach easier for your knowledge workers, it ensures better quality as well. The inputs that guided the analysis and design efforts can be output for validation and verification by your knowledge workers. After all, asking your non-technical workers to review and verify inherently technical specifications such as data models, class diagrams, and use cases is absurd. A natural language enables your non-technical stakeholders to verify -- at the onset -- that the specifications accurately reflect their needs.

This isn't to say that Orthogonal Software Corporation isn't well versed in creating accurate technical specifications; quite the opposite in fact. What it does mean is that we don't burden your knowledge workers with them.

Data Modeling
Accurate data modeling is then the reflection of a solid understanding of the business rules and requirements. After all, data structures are business rules; the things of interest to your organization are requirements. The relationships, populations, and constraints on these elements are then, of course, other business rules that need to be implemented.

Good data models are independent of the processes that act upon them. This is why you don't start with process-centric data structures (i.e. de-normalized designs). You may end up with process-centric structures, but you can't analyze them to be process-centric from the onset without assuming colossal data quality risks. Since the data in your database is for all intents and purposes your business, this is a risk not to be taken lightly.

Fortunately, Orthogonal Software Corporation uses the same natural language techniques described above to realize a fully normalized data structure. We then have the skills and techniques to translate this model, if needed, into denormalized or other process-centric designs (for example, data marts).

The benefit to you is that we had recorded the exact system rule specifications before we tweaked the design for performance. Therefore, we know what rules got lost in the translation (and thus need to be implemented somewhere else, such as application logic).

After all, what good is a fast database if the data is meaningless?




Project Management Services
Our expertise in implementing software can also be useful in managing those implementing software via the following services:

Analysis/Design Review
Orthogonal Software Corporation can review your technical specifications for accuracy, clarity, completeness, and quality. Often our clients will bring us in for short periods to act as a third-party "sanity check" on software development in-progress.

With none of the bias that possibly exists in your internal team, we are free to approach the project from simple (but important) metrics such as: does it meet the requirements, can it be practically constructed, does it match the skills of the team, are there other things to consider, etc.?

Gap Analysis
Sometimes, the cost of money, time, and/or resources of developing custom software is not feasible for an organization. At this point, companies often turn to existing software products (sometimes referred to as "shrink-wrapped", "purchased", or "off-the-shelf" applications).

The question then remains: does it meet the requirements of the organization? The vendor certainly thinks so, but how can you be sure?

Orthogonal Software Corporation uses the same techniques it uses for custom software development in a gap analysis capacity. This enables us to quickly construct and verify a list of requirements and business rules that you can use to evaluate vendors.

Requirements Quality Assurance
Orthogonal Software Corporation can act as an independent quality assurance auditor to assess if your project's analysis and design artifacts will meet your users requirements and expectations. Using the aforementioned techniques, we can quickly get a baseline of requirements to see if your project is on the right track.

Team Lead/Mentoring
Our experience and recognized expertise in software development makes Orthogonal Software Corporation an excellent candidate for team mentoring and leadership positions.

We can quickly estimate the skills of your team and guide them through every phase of software development while providing the one-on-one mentorship and on-the-job training needed to develop, focus, and/or mature their skills.

Our team leadership/mentoring services will also ensure a smooth transition between our consulting services and the eventual maintenance of the application by your in-house staff.



Software Implementation Services
Orthogonal Software Corporation uses its experience in addition to its extensive network of industry experts and professionals to help you with any phase of your software project. Any skills we may internally lack can be provided by our partners.

Software Development
Specifications are wonderful, but they need to be coded at some point. This is precisely why we have developed a large (both local and nationwide) network of companies and software professionals who can implement your system in any language, any architecture, and/or any platform.

Software Implementation/Integration
Unless your application is being developed before there is a business need for it, it is likely that you have some implementation, integration, and migration issues to deal with.

How will you get existing data moved into the new system? How will the new application integrate with existing and future applications? How can you take advantage of other infrastructures (such as the internet/intranet) to deliver your application? How does your purchased (off-the-shelf) application integrate with your business?

These are challenging problems. Let Orthogonal Software Corporation's skilled professionals and partners guide you though them with ease.