Rapid Development

One of the great ongoing discussions in computer technology is how to best organize and manage software projects.

The development of good software is a hugely creative endeavor, including the aspects of system architecture design as well as software development, testing and documentation. Counterbalancing the creative is the need to minimize cost and time to successfully complete the project.

There is a natural tension between the creative people with their need to express the artistry of software design, and the project managers with their need to get results on time and in budget. In the past 20 years, many methodologies have been applied to better resolve these two needs of software development.

We have found a methodology that works very well for all but the largest of projects.

Waterfall vs. Agile Development

The traditional technique for top down project management is now associated with the term ‘waterfall project management’. It is a (mostly) time linear progression of events, which includes requirements definition, analysis and design, program design, coding and testing, system integration and finally release into production use.

The difficulties of using waterfall project management are well documented. They include the difficulty in accurately estimating the time necessary to complete a software component. Other shortcomings are the difficulty in creating fully complete requirements and design documents that will remain unchanged through the duration of the project, and that the testing and integration phase is at the end of the allotted project time with little room for major correction of problems discovered.

More recently, project management techniques have evolved to address the limitations of the ‘waterfall’ method. These newer ‘agile process’ techniques include agile software development, extreme programming, prototyping, etc.  While each method has its unique features, all recognize the iterative nature of software development. Definition, design, programming and testing occur repeatedly over the course of the project.

Agile Development Allows For An Iterative Process

The agile software development process more effectively deals with the reality that software projects often cannot be fully specified in the beginning. Software development is often iterative, meaning that information discovered later in the project can impact work done previously. Change is accepted as a natural part of the process. However, change, especially in the later stages of a project, can be expensive both in time and money unless it is managed.

At Aton International, we apply rapid software development techniques to overall project management by:

  • breaking the project into manageable increments or modules, and
  • the use of defined resources for each project increment.

Each module spans a small, one to four week increment of time with a defined deliverable goal and a predictable cost .  At the completion of each increment, you have the option to choose the services of Aton International, Inc. for the next project module, or a utilize a different resource such as moving the project in-house.

Knowledge gained from the completed module of work can be factored into the deliverable for the next module. By managing the project through modules, you have both visibility and control over the overall direction of the project, while, at the same time, the outsourced engineering resources are empowered to develop a specific, accountable near term result.

This method makes it easy to start work quickly, and add or change requirements as needed. Our agile methodology can be used  for Windows Mobile, Windows Embedded XP,  Windows CE, or Apple iPhone development. It offers you flexibility and control over your outsourced software development efforts. You remain in control of the overall project.

Develop Once for Many Devices

We can help you do common software development for systems ranging from a single handheld device to globally networked systems of mobile devices and desktop computers.

Implement the powerful tools available for building and maintaining systems. Take advantage of the latest mobile and wireless device trends.

As a Microsoft Gold Certified Partner and Microsoft Windows Embedded Partner, we can offer you the ability to leverage the extensive library of Windows applications for quicker development and seamless integration with existing Windows-based apps.

We are also working with the newest open source platforms. From the latest Web protocols to XML web services to mobile devices to legacy mainframe systems, we’ll provide a sound solution to get the job done.  Aton’s team members recognize the need to do each job right and to do the right job at the right time.

Get Started

It’s easy to get started with a phone call or e-mail.
Get answers to your most pressing software development or embedded system questions with no obligation.

OpenLine with Charles Wilde »

Leverage our experience in building mobile and embedded applications. Get a consulting or software development proposal tailored to your business needs. Contact us online, by phone, fax or postal mail. Staff are available Monday - Friday, 8:30 a.m. to 6:30 p.m. Pacific Time (GMT -8)

Contact Us »