Sourcebits Project Methodology
I. Initiation
- Client approaches Sourcebits 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..
- Based on the initial consultation Sourcebits provides a ballpark estimate for time and cost.
II. Project Planning
We examine the requirement specifications and work up a project report consisting of:
- Project briefing
- Scalability
- System architecture
- Security
- Usability
- Development guidelines
- Milestones
- Milestones iterations
- Iteration schedules in project hours
- Quality assurance method description
- Summary
III. Project Management and Development
Sourcebits 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.
IV. Maintenance and Further Development
Even after completion and delivery to the client, Sourcebits continues to provide ongoing project maintenance. We are also pleased to add new functionality upon request, once more starting from the first phase.
V. Project Team Structure
A Sourcebits project team consists of the following key personnel:
- Project Manager
- User Interface Designer
- Visual Designer
- Technical Architect
- Software Developers
- Quality Assurance Engineers
VI. Development and Collaboration Tools
Sourcebits utilizes the following tools throughout the production process:
- Basecamp — for project management
- Redmine — for bug tracking
- SVN — for source control
- Dropbox — for data exchange among team members
VII. Quality Assurance and Testing Process
Our QA and development teams are in constant collaboration from start to finish.
As soon as Sourcebits receives the requirement specifications from the client, our QA team begins work on a Software Test Plan, consisting of the following:
- Testing process methodology
- Specific items to be tested
- High level test scenarios
- Testing environments and test configuration
- Required resources (hardware, software and human)
- Responsibilities
- Testing estimation and schedule
- Risk and contingency planning
Before implementation, Sourcebits 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:
- User interface
- Functionality
- Performance
- 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:
- Release notes
- Defects List
- Test report
VIII. Change Control Management
- Requests for changes in the requirement specifications will be logged in the Issue Tracker.
- The Change Control Board will review requested changes and authorize work as appropriate.
- After reaching the feature complete milestone, no new features will be added to the current release.
- After reaching the code complete milestone, no new source code will be added to the current release.
IX. Project Status Report
The client receives a weekly Project Status Report to keep up with project development.
X. Project Plan Updates
The Project Plan is updated throughout the lifecycle of the project as and when the need arises.
XI. Technical Approach
Project development is usually divided into four milestones for medium to large projects (6 to 12 manpower months).
- Milestone 1 covers project analysis, architectural design, research, development of the proof of concept (POC), Master Test Plan and Master Test Case preparation.
- Milestone 2 represents the alpha release of the software.
- Milestone 3 represents the beta release of the software.
- Milestone 4 represents the final release of the software.
I. MileStone 1
Project Analysis
The project begins with an analysis phase wherein the following are undertaken:
- Understanding the software features and functions in detail
- Freeze and baseline of the Document of Understanding.
- 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:
- Identify and baseline the modules for models, view and controller mechanisms
- Research and POC Development
- Finalize and baseline the Technical Design Document
- 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:
- Complete the functional wireframe design with OmniGraffle
- Complete visual design using Photoshop
- Icon, logo and branding design
II. Milestone 2
Alpha Release
60 - 100% of project functionality is implemented.
III. Milestone 3
Beta Release
100% of project functionality is implemented.
IV. Milestone 4
Final Release
- Final testing and quality assurance
- Extensive review of the code
- Bug fixing and optimization
- Final adjustments, if any, to exactly meet client requirements
- Final release as Version 1.0
Contact Us
Sourcebits develops outstanding services and applications for iPhone, iPad, Blackberry, Android, Mac and the Web. Our 200+ strong team of dedicated programmers and graphics designers spend their days building intelligent, easy to use applications leaving you free to focus on your next project. Contact Sourcebits today.