DawnSun Technologies follows sophisticated application development methodology and highly effective prototype-driven Iterative and Incremental Application Development approach ably supported by our matured project management practices and stringent software quality standards. From the technical aspects of the processes and practices; We adopted defined combination of RUP & Agile Methodologies.
Process makes sure that our application designs are scalable and robust also We provide 100% visibility to clients. From the process perspective we follow "White Box" Engagement Model and it helps us becoming extension of our clients' engineering teams.
Project Management Practices
Our project management methodology enables, manages and supports the complete project lifecycle. Practice is geared towards ensuring transparency, timely delivery and high quality. Our processes focus on user experience, system design and overall system quality. Following is the brief of the activities performed during the life cycle of the project.
- Project Initiation: Defining project scope, team building and formal project kickoff with client. Establishing the overall project structure, standards, risks and expectations.
- Project Planning: Establishing project execution details including development and delivery schedules, communication protocol, risk planning, configuration and QA planning.
- Execution: Monitoring day to day tasks, scope, issues, quality, progress, QA reviews and updating client as par expectations.
- Delivery and Closure: Completion delivery of the project as per the specifications, scope, time and cost. Formal Project closure after user acceptance.
Agile Methodology - Agile Methodology: This methodology is most suited for the development of Mobile applications and games. It gives the flexibility to evolve new or upgrade features and requirements during the development of the project. Also gives the opportunity to review and assess the implemented features on a regular basis. In Agile one chooses to do things in small increments with minimal planning, rather than work on a full plan at the inception. This helps to minimize the overall risk and allows the project to adapt to changes more quickly.
- Iterative Waterfall Methodology: This methodology is most suited for enterprise mobile applications. It gives us the advantage of incremental development. Development is thoroughly planned for every deliverable versions of the system. At each iteration, design modifications are made and new functional capabilities are added. We have executed multiple projects using this methodology.
Mobile Development Process
Application/game size and ease of use with attractive user interface are importance criteria in designing mobile applications/games. Applications developed for the mobile work in a constraint environment but need to accomplish desired functionality. Mobile development process differ on multiple steps as compared with other software development process. Following steps brief our mobile application development methodology.
-Learning Phase: In this phase we perform analysis of target handsets and platform. This helps us in ensuring that the application design is such that effort required to port the application subsequently to multiple handsets and platforms is minimal. During the handset analysis reference handset is identified and other handsets are grouped on the basis of make, O/S version and resolution.
- Application Learning Phase(Requirement Phase): A through understanding and learning of application features is done by the development team. Application feature and flow (call flow) document is prepared and signed of by the client after review.
- Call Flow/ Wireframes: Call flow providing detailed descriptions of each screen element and features is prepared. It illustrates screen layouts, navigation rules and information flow.
- UI Prototype: A graphical overview of the proposed application is prepared. Prototype includes all of the screens and the relationships between them.
- Development: After review and approval of application call flow and UI prototype development plan of the application is prepared. The mobile application is first developed for the reference target handsets. Application development is divided among developers based of the independent functional modules in the application. Development lead will take the responsibility of coordination among the team for development and Application integration.
- QA: The mobile application is tested on actual handsets, this includes both functionality, performance as well as testing for unusual scenarios (e.g., low or no network coverage). Specific carrier - handset combinations are tested using Device Anywhere or on actual handset if available.
- Handset Porting: Porting starts once the development on reference handset is reviewed and approved. Depending on the target handset list, on some devices porting is quick with minimal changes. For some others handsets it might need development and changing the navigation flow of the application.
- Deployment and Certification: Deployment and certification needs vary with kinds of applications, mobile platform and distribution networks. After achieving review and approval application deployment submission bundle is prepared as par the guidelines of distribution network.
Our Quality Assurance (QA) processes ensure quality checks during the entire software development cycle starting from project initiation, requirements gathering, development and testing. We have a dedicated QA team responsible to ensure the quality of the products and services we deliver. Through effective test planning, we create and maintain end to end test cases for carrying out testing activities. We also have dedicated QA teams for outsourced testing services. Our QA team gets involved in the following activities -
-Team equipped with required infrastructure and devices for testing mobile applications.
-Classification of test cases: Application/game test case document (excel sheet) prepared with classification of generic and platform specific constraints. Test cases are detailed out for relevant stages, platform and handsets make. Also contains all information related to test case such as objective, priority, steps to be taken, expected and actual results as well as any test data.
-Functional Testing of the application/game includes Data Testing & User Testing. -Non-functional testing includes Performance Testing, Load/Stress Testing, Quality Testing, Interface Testing.
-Handset Compatibility review: A comprehensive study of the features of the application and the handsets support is carried out and marked in the compatibility document. This information is used in handset compatibility testing.
-Generic handset test cases: The test case document is reviewed to ensure that all possible test scenarios specific to handset are covered. -Test case execution (Testing): Finalized test cases are now executed actual devices or DeviceAnyWheredevices. Bugs will be filed in bugzilla for all failed test cases and are also recorded in the test report for every handset.
-We use efficient and automated bug tracking system Bugzilla. -Handset Test Report: After execution of all test cases, test report for each handset is prepared with details of application release number, build number, test id, bug id and test result.
-Regression Testing: Regression of high priority test cases is done with a single handset of each family. Regression is executed again if bugs are found and are fixed.
-Test Summary Report: At the end of a stage a summary report is prepared which summarizes the number of test cases that are executed, passed, failed and re-tested for individual handsets, which helps to review frequency of bugs in the testing process.
-Development team perform reviews of the QA results performed by QA team.
Platform and Handset Porting
Dawnsun Technologies has extensive experience in application/game platform and handset portings. Also experienced in performing handset compatibility testing for mobile applications/games. We port and test applications using tools such as Device Anywhere (www.deviceanywhere.com) as well as in house devices. A typical platform porting and handset porting includes:
-Feature classification of application: Application/game feature document is prepared with classification of generic and platform specific constraints. Features are detailed out with relevant stages, platform and handsets make. Also contains all information related to possible workarounds, expected and actual results as well as any relevant data.
-Handset Compatibility review: A comprehensive study of the features of the application and the handsets support is carried out and marked in the compatibility document. This information is used in handset compatibility porting and testing.
© 2010 DawnSun Technologies, LLC All Rights Reserved.