"After going through several design, development and implementation cycles with Terrace, I have no difficulty giving an extremely positive endorsement. We prefer to focus on wine retailing and trust outside experts when it comes to software development.Terrace makes it easy without compromising quality. Their entire team takes the time to understand the exact business requirement and then develop truly excellent solutions. It would be hard for the process to be any smoother and as a result we look forward to a continued relationship."

Brian Zucker
Co-Owner, K&L Wine Merchants

Terrace offers technology consulting services to our clients to address a number of technology management and decision points. Over the years our consulting services have helped numerous clients make better technology decisions in the areas of:


Our consulting services are delivered by a seasoned staff of experienced directors and senior consultants who have seen a broad variety of technology challenges across industries. We understand how to contribute our consulting expertise to improve technology delivery services without creating disruption.

Feasibility Analysis

Every company is confronted with ongoing questions regarding software development technology. "What if", "Should We", "How Does", "When is Best To" etc. Many of these questions involve analyzing new, emerging technologies vis-a-vis their impact on current operations.

How do emerging technologies affect current applications? When will my current software development investment become obsolete? What competitive advantages will emerging technologies create for our business? How will we adjust to incorporate emerging technologies into our business?

Terrace Software has been engaged many times over the history of our company to study the feasibility of emerging technologies on a business. Our culture is built on exploring emerging technologies ahead of the marketplace. We have a history of leading the way in emerging technologies. So, we are a great partner to support feasibility studies of new technologies for your business.

Software Architecture & Security

We design and develop many custom software applications for many clients every year. Additionally, we work closely with the greater software development community to stay abreast of the latest architectures and design patterns. The start of every project creates an opportunity to leverage the latest software architecture in order to speed development and to minimize maintenance.

Terrace is engaged frequently to review current project requirements and make recommendations regarding the most effective software architecture, third party tools and application security. Terrace has helped new project teams evaluate alternative architectures and choose the final design pattern. Terrace has helped existing project teams modify their architecture when they become blocked by inadequate design decisions.

Our software architecture and security consulting is provided by senior members of our professional services staff. We have years of experience working with diverse technical teams and challenging organizational situations. Our team will maintain focus in the architecture and security discussion while working to bring the team together - united behind the most effective architecture, tools and security model. Once a design is established our staff is available to stay engaged with the team as they build, test and implement the project. We pride ourselves on leveraging our mentoring skills to transition knowledge and skills to develop your internal staff.

Project Reviews

Technology is complex and it is not uncommon for projects to encounter challenges as they move through the development cycle. The symptoms of trouble can come from many aspects of the project including:

  1. Missing milestone dates,
  2. Discord in the project team,
  3. Issues with user interface design / acceptance,
  4. Issues with software performance,
  5. Issues with integration and compatibility
  6. Issues with legacy development technologies.

Terrace staff is engaged by our clients periodically to review troubled projects and make recommendations regarding how to bring development back on track.We offer services to review many aspects of the troubled project including:

  1. Requirements
  2. Specifications
  3. Architecture and design
  4. Code reviews
  5. Testing / performance analysis
  6. Team organization / efficiency.

We have helped many clients rescue troubled projects over the years. In our experience every project - even a seemingly successful project - has opportunities for improvement. We enjoy the process of helping clients move a troubled project to a complete and successful project. This work is delivered by our senior staff and is always handled thoughtfully and with sensitivity. Our goal is always to make the client, team and project a success.

Vendor Selection & Assessment

One of the key strategic decisions which will be made by every information technologies organization is vendor selection. Choosing the right vendor for your particular requirements and situation will majorly impact software development and maintenance in the future.The impact will include:

  1. Infrastructure
  2. Functionality
  3. Reliability
  4. Performance
  5. Maintainability
  6. Ease of use and
  7. Costs (one time and recurring).

Typically IT organizations are not ramped up for the vendor selection process. The information which a client will receive from each vendor may be skewed to favor each vendor's particular strengths and weaknesses. Terrace consultants are involved in vendor selection / assessment processes with all our clients frequently. We have a proven methodology for:

  1. Reviewing / validating requirements
  2. Gathering information from vendors
  3. Validating vendor claims
  4. Scoring vendors
  5. Working through the contractual process to optimize pricing.

Our staff approaches each vendor selection / assessment project with an open mind and little bias. We seek to recommend the best decision for each client based on the requirements presented to us during the project. Terrace receives no fees and/or income from any technology vendor. We approach each of these decisions driven to recommend the highest functionality / easiest to use / least cost selection for our clients.

Management Consulting

Terrace operates as a true consultancy - advising and guiding our clients through the constantly changing maze of technology decisions. We engage with our clients at all levels to ensure that each technology project is envisioned and executed to maximize the impact of your investment.

Technology leadership starts with management and Terrace is often engaged to consult with business managers to align technology decisions with each company's mission. Significant disconnects between senior management and technology development staff will impact many aspects of your business. Our management consulting practice works to ensure that your company mission aligns with the delivery of your technology services.

Terrace management consulting works at all levels with our clients. We are actively engaged from the board of directors through senior management and middle management. We can offer project specific consulting as well as overall department level consulting. Over our history we have maintained an independent perspective in order to deliver unvarnished advice in the areas of staff performance, project organization, strategic planning and prioritization.

Staff Evaluation and Hiring

The first step to build a team is recruiting and hiring. Each member of your technology staff has a significant impact on the performance of your team. A poor hire can significantly impact the performance of the whole team. Poor hires can:

  1. Increase training time
  2. Decrease individual and team productivity
  3. Implement flawed code
  4. Negatively impact revenues
  5. Negatively impact morale and contribute to attrition of other staff.

Great hires will have the opposite effect. Great hires will:

  1. Learn faster
  2. Increase individual and team productivity
  3. Implement efficient code
  4. Positively impact revenues
  5. Innately work to build a cohesive team.

Terrace has an excellent record in recruiting and hiring. We work with our clients to support their campaigns for new staff. We understand where to look for great staff and how to measure each applicant. We are very discriminating and work with our clients to identify great hires that will contribute and bring a team together. We utilize a blend of phone screens, interviewing and testing across three key areas:

  1. Skills
  2. Behaviors
  3. Individual passion

Our preference is to 'recruit behaviors and aptitude, and teach skills'. We look for team players who put the overall mission ahead of personal motivators. We seek individuals who are adaptive and curious and hard working. Smart, motivated team players will help to grow the fabric of your organization while minimizing the impact of turnover and transition.

Team Organization

Team organization is very important once your team is on board. Putting the right people in the right roles is critical to building out a successful software development organization. Documenting roles and responsibilities with clear and concise job descriptions establishes measurable performance guidelines for your staff. Regular meetings to monitor and feedback performance data ensures that the organization is 'tuning' operations in real time. And, avoiding subjective judgments throughout this process ensures that everyone is focused on the success of the organization.

Terrace has been engaged by many organizations to review team organization and make recommendations for improvement. Sometimes this review is informal. Sometimes this review is supported by a written study of the team. Our focus in these engagements is to observe the complete software development lifecycle including:

  1. Requirements
  2. Specifications
  3. Design
  4. Development
  5. Testing/QA
  6. Documentation
  7. Implementation
  8. Post implementation review

We will review your internal operations with a focus on:

  1. Developer training
  2. Software obsolescence
  3. Outsourcing

Our preference is to recommend agile development methodologies which emphasize sprint development cycles. We prefer frequent point updates over 'big bang' releases. We prefer the agility which frequent cycles offer - they keep the pace moving and allow for quick follow up when adjustments in release cycles are necessary.

Back To Top