iPhone Apps Development
PDF Print E-mail

Building on our extensive work with Mac-exclusive technologies like Cocoa and Interface Builder, SAI IT Solution quickly became a leader in the market of multi-touch, accelerometers and mobile application design. Our first in-house iPhone apps were instant hits, earning glowing reviews from users and the tech media, and our current lineup continues to place among the top spots in App Store rankings around the world.

SAI IT Solution process begins and ends with the client. From first approach with your idea for an app or game through to final public release on the App Store, everything we do is client-centered. For a deeper look into the nitty gritty of our entire development process, be sure to read about the following:

1. Initiation

  1. Client approaches SAI IT Solution with idea for software development. At client’s request a non-disclosure agreement will be signed, following which the client shares the project requirement specifications and outline of the idea with us..
  2. Based on the initial consultation SAI IT Solution provides a ballpark estimate for time and cost.

2. Project Planning

We examine the requirement specifications and work up a project report consisting of:

  1. Project briefing
  2. Scalability
  3. System architecture
  4. Security
  5. Usability
  6. Development guidelines
  7. Milestones
  8. Milestones iterations
  9. Iteration schedules in project hours
  10. Quality assurance method description
  11. Summary

3. Project Management and Development

SAI IT Solution employs a comprehensive project methodology incorporating key principles of the Project Management Body of Knowledge, Agile Software Development, and the Unified Modeling Language.

Each project is organized into five consecutive phases: initiation, planning, execution, monitoring and controlling, and closing.

Development teams work diligently to meet each project milestone on time and on budget while keeping close contact with clients every step of the way.

4. Maintenance and Further Development

Even after completion and delivery to the client, SAI IT Solution continues to provide ongoing project maintenance. We are also pleased to add new functionality upon request, once more starting from the first phase.

5. Project Team Structure

A SAI IT project team consists of the following key personnel:

  1. Project Manager
  2. User Interface Designer
  3. Visual Designer
  4. Technical Architect
  5. Software Developers
  6. Quality Assurance Engineers

6. Development and Collaboration Tools

SAI IT Solution utilizes the following tools throughout the production process:

  1. Basecamp — for project management
  2. Redmine — for bug tracking
  3. SVN — for source control
  4. Dropbox — for data exchange among team members

7. Quality Assurance and Testing Process

Our QA and development teams are in constant collaboration from start to finish.

As soon as SAI IT Solution receives the requirement specifications from the client, our QA team begins work on a Software Test Plan, consisting of the following:

  1. Testing process methodology
  2. Specific items to be tested
  3. High level test scenarios
  4. Testing environments and test configuration
  5. Required resources (hardware, software and human)
  6. Responsibilities
  7. Testing estimation and schedule
  8. Risk and contingency planning

Before implementation, SAI IT Solution sends the Software Test Plan to the client for approval. On receiving approval, the QA team begins planning the test cases. Test cases are written to ensure that all of the following are rigorously covered:

  1. User interface
  2. Functionality
  3. Performance
  4. Error conditions

Having been written, the test case documents are sent to the client for approval and signing.

Upon completion of the first build, the QA team begins testing on the most recent iterations of the pertinent platform. In the case of iPhone applications, we test on iPhone OS versions 2.0 through 3.0, on all hardware variations of iPhone and iPod touch, as well as in the iPhone simulator. For each build tested by the QA team, the client will receive the following:

  1. Release notes
  2. Defects List
  3. Test report

8. Change Control Management

  1. Requests for changes in the requirement specifications will be logged in the Issue Tracker.
  2. The Change Control Board will review requested changes and authorize work as appropriate.
  3. After reaching the feature complete milestone, no new features will be added to the current release.
  4. After reaching the code complete milestone, no new source code will be added to the current release.

9. Project Status Report

The client receives a weekly Project Status Report to keep up with project development.

10. Project Plan Updates

The Project Plan is updated throughout the lifecycle of the project as and when the need arises.

11. Technical Approach

Project development is usually divided into four milestones for medium to large projects (6 to 12 manpower months).

  1. Milestone 1 covers project analysis, architectural design, research, development of the proof of concept (POC), Master Test Plan and Master Test Case preparation.
  2. Milestone 2 represents the alpha release of the software.
  3. Milestone 3 represents the beta release of the software.
  4. Milestone 4 represents the final release of the software.

1. MileStone 1

Project Analysis

The project begins with an analysis phase wherein the following are undertaken:

  1. Understanding the software features and functions in detail
  2. Freeze and baseline of the Document of Understanding.
  3. Finalize and baseline all the inputs needed for architectural design, research and POC development.

Architectural Design, Research and POC Development

The following are undertaken during this phase:

  1. Identify and baseline the modules for models, view and controller mechanisms
  2. Research and POC Development
  3. Finalize and baseline the Technical Design Document
  4. Finalize and baseline the Master Test Plan and Master Case Document

User Interface Wireframes, Visual Design and Icon Design

In this phase the following are undertaken:

  1. Complete the functional wireframe design with OmniGraffle
  2. Complete visual design using Photoshop
  3. Icon, logo and branding design

2. MileStone 2

Alpha Release

60 - 100% of project functionality is implemented.

3. MileStone 3

Beta Release

100% of project functionality is implemented.

4. MileStone 4

Final Release

  1. Final testing and quality assurance
  2. Extensive review of the code
  3. Bug fixing and optimization
  4. Final adjustments, if any, to exactly meet client requirements
  5. Final release as Version 1.0