How We Build

Cyrus has a wide variety of expertise in multiple technologies and Agile software development processes. Using an Agile or Lean approach to software development, we aim to deliver the most valuable features to users first. We build reliable, flexible solutions so your software “just works” and can change as your business changes. We have experience in many programming languages and technology stacks, specializing in Ruby and Ruby Motion for iOS development. The sooner users engage, the more quickly your business can grow, and that’s what we’re passionate about – your business success.

Overview

From mobile apps to enterprise systems, Cyrus offers customized software development and process improvement that‘s fine-tuned to the needs of your company. We take the time to listen and understand your company’s needs. No matter what the details of the engagement are, we:

  • Staff our projects for success. Each team is assembled with the right mix of technical skill, industry experience, and personal passion. We don‘t just “assign” developers to projects; every staffing decision is made in close collaboration with you and with the programmers who will ultimately be a part of your team.
  • Get productive quickly. Cyrus teams understand that their primary goal is to build a better business through valuable software development, and to start creating that value as quickly as possible. While we employ a variety of trusted tools and processes to help us produce results, if they‘re not working in your organization, we‘ll get creative and find something that does.
  • Collaborate closely with your stakeholders and domain experts. Rather than wait for requirements and specifications to be hand-delivered, our developers seek out crucial sources of information in your organization and build constructive, collaborative relationships with them. To build spectacular custom software, that kind of initiative is necessary.

How We Work

Our engagements take one of two forms:

  • We Build ItApplication Development
  • We Help You Build ItEmbedded Development

If you don’t have a development team, or if your existing teams are at capacity, it’s no problem. We can develop a custom application for you. In these cases, we work with you to flesh out your top priorities and get down to business. If you have space for us, [+]

we’ll send our team to work at your offices – as close to the business as possible. If not, we’ll work out of our offices and stay in close communication with you throughout the project.

Within as little as two weeks, we’ll have software to show you. It will certainly be small and may not be something you‘ll be ready to use yet; but it will work and have obvious business value for your organization. And we’ll keep doing that, iteration after iteration, deploying functional, tested software to production as frequently as possible. When you’ve decided that it’s time for our engagement to come to a close (hopefully after a long and rewarding relationship!), you‘ll be left with a well-designed, maintainable codebase and a safety net of automated tests to support its future growth and modification.

If you have a development team, we embed ourselves and colocate with you. Whether you’re well-versed in Agile software development, or are open-minded and willing to learn, our Agile Team will seamlessly integrate and provide immediate [+]

productivity enhancement.

For the life of the project, we’ll work side-by-side with your team, providing additional capacity, consulting, and/or development management services. You’ll reach your goals faster and be rewarded with improved development processes for the future.


Contact Us to find our more about how we work.

The Cyrus Agile Approach

Better Approach = Better Results

We guarantee our clients will be pleasantly surprised by how our methodologies bring a better software product and overall better business. Our lightweight processes promote a transparency and collaboration that many companies have not seen from a software company. Many of our developers are also accomplished coaches and consultants, and in the pursuit of excellent software, they typically find themselves introducing practices in a way that’s tailored to add value to the client’s specific environment. In fact, sometimes we’re brought in specifically to do just that.

While we are advocates for a modern, Agile approach to software development, we’re not dogmatic. Our recommendations are based on real-world practice and success, and we introduce them in a safe, incremental fashion.

We thoughtfully recommend practices from our toolkit that add immediate value to your team. Whether we‘re helping with continuous integration, one-click builds, or test-driven development, these core Agile principles drive how we work and how we develop solutions.

Some of the Agile practices and principles that we help you navigate are:

Test-Driven Development

We create a safety net around the code base by writing automated tests that verify feature completion. And we do it before we write any production code.

Continuous Integration

No one works in a silo. Many times during the day, developers integrate their work with the larger team, to make sure that everyone is always working on the latest update — and to minimize surprise “end of project” integration problems.

Refactoring

It’s not just about new code, it’s about all the code — which is why our developers have permission to simplify existing code whenever possible — for a better and easier-to-modify code base.

Collective Code Ownership

When everybody can extend or improve every developer’s code, bottlenecks are eliminated and better code is crafted because everybody is involved.

Pair Programming

Two programmers working together at a single computer — for better knowledge-sharing, increased productivity, and higher quality output.

Three-Minute Build

The less time it takes programmers to see the results of their work, the more creative — and effective — they can be when applying it to solve client business problems. So we keep deploy times as short as possible.

Informative Workspace

To avoid project progress bogging down, we fill developer workspaces with “information radiators” – useful charts and diagrams that keep everyone up to date on the health of the project at a moment’s notice.

Just Enough Documentation

Often documentation standards are out-of-date minutes after they’re, well, documented. And they slow everything down. That’s why we minimize documentation before implementation, and focus on it at project end for greater efficiency and accuracy.

Incremental Requirements

By working in small batches, programmers can more quickly implement their work, demonstrate how it works, and make it available to the wider team faster and more efficiently.

Ten Minute Standup Meetings

No one likes meetings because they have a tendency to go on and on. That’s why we limit ours to ten minutes, and require every one attending to stand — ensuring highly focused discussion of progress, health and upcoming coordination — so everyone can get back to work.

Iteration Retrospectives

Every step of the project, our programmers come together to discuss the tactics that worked well — as well as those that need improvement – to insure that everybody is continually improving.

Project Retrospectives

Because we are constantly learning — from the projects we’re working on and from the projects we’ve completed, we hold half-day and full-day reviews of all the issues and ideas we’ve uncovered to make the most of every project moving forward.

Kaizen (改善)

The Japanese principle of continuous improvement – a concept that not only makes things better, it makes people better. We employ it in everything we do.

Our developers know how to help their clients employ the Agile practices that will provide the most immediate value. Based on our extensive experience helping a variety of organizations adopt Agile, we examine what development processes are working well for you and where improvement opportunities lie. Together, we’ll hone your strengths by introducing and improving Agile practices at a brisk but safe pace. Make no mistake about it, we are advocates for continuous improvement, and we’ll do what it takes to ensure you benefit from our expertise and experience.

Questions About Agile Development?Ask us! Email us or call 212-647-7186

Before working with Cyrus, we spent a lot of time fighting code fires. Now…that has gone away. We are now approaching our software projects in a proactive way. We can plan ahead and rely on those plans.” - Jerry Horowitz, Director Youth Tackle Football, NFL

Technical Expertise

Our developers are polyglot programmers – we know that there’s always more than one way to solve a technology problem, and our clients value our ability to approach challenges from different technical angles. We hire and train experts in the latest programming languages and environments. And to make sure they stay at the top of their game, every developer dedicates four weeks of each year to professional development activities. No other firm matches that kind of dedication to the craft of coding.

Here’s a sample of the tools and libraries our programmers have real-world experience with:

Languages – Ruby, Java, Scala, F#, C#
Mobile – RubyMotion, Objective-C, Java (Android), PhoneGap
Client-side Web – HTML5, CSS, Javascript, jQuery, AngularJS, Backbone
Frameworks and Libraries – Ruby on Rails, Sinatra, Spring / Spring MVC, .NET
Cloud deployment – Amazon Web Services, Heroku