Custom Software Development
Plan for great software
As with most of our projects, our custom software development starts with an extensive planning period where we will capture detailed and accurate requirements. We start by clearly defining the business objectives of the project principles. From that point forward we ensure that every feature of the software tracks back to a business objective. Through this process the principles will experience the project with a level of detail and understanding they never thought possible and the software will be a vision; stark perfection, exquisite functionality.
All or our developers follow agile development methods. These methods are based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight interactions throughout the development cycle.
Our project management team and development team has extensive experience building software for binaries for local machine installed systems, web applications, mobile applications or enterprise level SAS cloud based software.
Our in-house development team has experience across four major platforms: Microsoft, Oracle/Java, Open Source, and Mac OS/iOS. Custom software development cannot exist in a bubble. Nearly every software project will have integration touch points with many other systems and legacy projects. For this reason a technology stack that might be perfect for one project may not work in another. Regardless of which stack is right for you, we have the team to get it done.
Microsoft stack. Our experience on the Microsoft stack dates back to Visual Basic 3.0. Our web experience began in 1997 with the release of Microsoft Visual InterDev and ASP 1.0. We have continued using Microsoft tools into the present -- we currently work with Microsoft .NET 4.0, SQL Server 2008, Entity Framework, MVC3, and WPF.
Oracle/Java We employ senior level developers that have extensive experience using Oracle (Oracle RDBMS) with Java. This technology stack offers massive scalability for enterprise level projects.
Open Source stack. With many of the same developers from our Oracle/Java team, these developers are experts in MySQL, Postgres, Apache, Ruby on Rails, and Perl (mod_perl) including load balancing, systems monitoring, etc. We currently implement solutions using RedHat Enterprise Linux with a LAMP (Linux, Apache, MYSQL, PHP or Perl) stack.
Mac OS and iOS. Our experience on the Apple stack begins more recently -- beginning in 2006 with the first Intel-based Mac Minis. We are currently developing mobile apps that integrate with any backend stack via web services.
More on Agile Development
From the Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over Processes and tools
- Working software over Comprehensive documentation
- Customer collaboration over Contract negotiation
- Responding to change over Following a plan
That is, while there is value in the items on the right, we value the items on the left more.
The Agile Manifesto is based on twelve principles:
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Close, daily cooperation between business people and developers
- Face-to-face conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Self-organizing teams
- Regular adaptation to changing circumstances