The Practice of Software


There's more to the practice of medicine than writing prescriptions.

There's more to the practice of law than writing briefs.

Software is a practice and there's more to the practice of software than writing code.

At Symphono, we've defined a software development life-cycle which fully encompasses the steps required to deliver a quality product.

To learn more about how we practice software, please step through our life-cycle.

Identifying Your Strategy

A software solution is most effective when it begins with a well articulated strategy. It's our experience that the best first step of the software life-cycle is a strategy definition exercise where the client communicates their business goals, we identify possible solutions and then jointly execute an analysis to build the solution roadmap. This roadmap may include custom software, third-party solutions and in some cases can lead to a reframing of the business goals.

Writing Requirements

A strategy can set the direction but good requirements provide the level of detail necessary for effective and predictable execution. While sometimes undervalued, writing well-defined requirements offers the earliest opportunity for reducing project risk.

We take a collaborative approach to the requirements writing process. This drives out the gap between client expectation and product delivery which, if not eliminated, will ultimately lead to the inflation of cost and project duration.

Design & Architecture

Just like detailed requirements flow from strategy, implementation flows from design.

The Symphono approach to design and architecture is simple; build for today, design for tomorrow. This yields clear, pragmatic, and extensible designs where changes in requirements don't cripple projects.

Our architects' backgrounds and experience is concentrated in designing large, distributed systems requiring the highest levels of uptime and reliability, including trading, risk management, and collaboration systems for global financial institutions.

From Whiteboard to Keyboard

Just as we take a collaborative approach to strategy and writing requirements, the same principles apply when we begin writing code. In our experience, maintaining a high level of client involvement throughout this phase of the software life-cycle leads to the most successful projects.

What this means in practice is that we typically follow an iterative process where code is written and feedback is received from the client in real-time. Just like good, extensible design accommodates change without crippling a project, this feedback loop builds flexibility into the implementation process, ensuring greater efficiency.

Quality Assurance

We work with clients to execute quality assurance in the way that best integrates with their organization. While there are cases where Symphono is responsible for this phase, we are also able to integrate our development team with client QA resources.

Delivery & Rollout

Our combined experience is a valuable asset once a product is tested and ready to be delivered into production. Large scale deployments can be both complex and challenging, and an understanding of production environments is essential to a smooth rollout.

Our engineers have years of experience with production systems. This experience informs their work across all phases of the software life-cycle, from strategy through QA, resulting in the creation of systems which minimize delivery risk. Symphono works with clients to write user documentation and train support personnel to guarantee smooth delivery.

Maintenance & Support

Software continually evolves and delivering projects into production is not necessarily the end. A comprehensive maintenance plan, including long term support as well as ongoing enhancements and defect fixes, is essential.

We approach maintenance in the same collaborative manner we execute the rest of the software life-cycle. Working with clients we have assisted with service agreements to manage post-production development and have even staffed production support teams to ensure long term success for the delivered solution.

 

Strategic Technology Consulting

We get it. We have either held your job or worked for you in an institution like yours and we know what you are up against. We can help you get the biggest bang for your technology buck and develop an execution plan that allows you to make appreciable progress in both tactical and strategic initiatives.

We help our clients evaluate their current state-and outline specific next steps. This can come in many forms. Sometimes we evaluate a system and make recommendations for stabilization and evolution. Sometimes we evaluate work flow and make productivity recommendations. Sometimes we help our clients evaluate the landscape of their business and innovate and differentiate. In all cases, we offer our experience to help you leverage opportunities and avoid the pitfalls and render:

  • technology/business roadmaps
  • build vs buy analysis and integration recommendations
  • user experience and client experience strategies
  • technology trend analysis

Collaboration

Our experience is deeply rooted in the collaboration space. Our core team came together at UBS, designing and building collaboration tools specifically tailored for the foreign exchange, rates and equities desks.

These tools enabled thousands of traders globally to “share the book”, integrating the strength of collaboration systems (chat rooms, email, text messaging software) with both trade execution and compliance software.

Our original technology now manages 250,000 active users at 55 financial institutions.

This depth of experience has made our firm a global leader in collaboration technology.

Today, Symphono leverages this expertise on behalf of our clients by developing, extending, and supporting strategic implementations of collaboration technology.

Trading & Risk Management

The Symphono team brings decades of experience in OTC and exchange traded markets.

We have been involved in the development of every component supporting trading firms from the base infrastructure to trading decision support and execution.

Our resume of systems for the trading world includes front-office trading and decision support+-, risk and margin applications for both cash and derivatives markets across the fixed income, interest rates, equities, commodities and foreign exchange asset classes.

Wealth Management

Symphono has experience designing the tools needed to facilitate effective and scalable integrated wealth management.

We have developed tools to facilitate decision support and execution for complex investment programs, gathering holdings from multiple custodians, and creating an aggregated view of assets across multiple legal entities to evaluate against a single asset allocation scheme.

We have created exception based software so that investment professionals can remain focused on the conditions that require attention and serve their clients better. This enables our clients to scale their business cost effectively and with discipline.