Our project managers are highly experienced in delivering successful projects on time and on budget for a variety of industry groups with diverse solution requirements. Our focus is on bringing the client’s vision to life by satisfying the client’s needs and requirements for the improvement of their business. We develop close and long term relationships with our clients and their team in order to shape their ideas and achieve their goals. At Karya Media we follow either an Agile or Waterfall software development model depending on the nature of the project and client requirements.
The Agile model is used where the requirements change often, with the software being delivered in phases and is characterized by frequent communication between the business and development teams. The Waterfall model is used on larger projects where we can follow a more structured software development process, in which progress is seen through the delivery of the various phases including Conception, Initiation, Analysis, Design, Development, Deployment and Maintenance.
Initiation – Understanding the Client’s Goal
The initiation stage is where the initial requirements are discussed with the client with the aim of providing cost estimates for the overall solution. Some analysis, or in large size projects, major analysis work are performed in order to produce a more realistic cost estimate. Before commencing the project, Karya Media takes the time to understand and learn as much as possible about its client’s business operations and ideas to avoid unforeseen issues that may affect the project specification and deadlines. By following proven processes and procedures, our experienced project managers are able to provide cost effective software development solutions to our clients.
Design & Planning
Once the requirements are gathered, the Design and Planning phase is carried out to undertake key design activities, including making decisions on infrastructure/architecture, analysis of risks, identification of system components and modules, data model design, network diagram, and developing the schedule. The client’s formal approval is sought on the design and the plan. The Design & Planning phase helps identify major risks and timeframes involved in delivering the complete system, and this information assists the client in making business decisions.
Development – A Visible Process
The Development process begins once our client’s requirements have been defined. During the development process, the client is kept up to date about the status of the project regularly. Regular client reviews provides the chance to identify system development issues, and overcome any obstacles and rectify any problems.
Quality Assurance Systems/Procedures
Karya Media carries out extensive software testing to validate and verify that our software programs / applications / products meet both the business and technical requirements that guided its design and development. Karya Media warrants its work and doesn’t consider the project complete until the client is satisfied that the software possess the required functionality, usability, stability, performance and maintainability qualities that it should have.
Unit Test & Code Review
Unit testing is performed by the Developer to ensure that each module/screen of the application is fully functional without bugs and satisfies the detailed business logic and transformation rules. A Code Review is a systematic examination of source code intended to find and fix any mistakes overlooked in the initial development phase, improving the overall quality of the software. Code Reviews will ensure the code does not inadvertently contain common vulnerabilities such as format string exploits, race conditions, memory leaks and buffer overflows, thereby improving software security. Build, Unit Test and Code Review phases are carried out iteratively until the system is stable, reliable and fully functional.
System Test
System Testing is performed on the entire integrated system and refers to the Functional and Detailed Design Specifications. System Testing attempts to identify defects in the modular components and in the system as a whole. It tests not only the design, but also the behavioral aspects / client expectations. It covers test conditions that focus on the performance, security, usability, error handling, and scalability of the system.
UAT & Support
User Acceptance Testing is for the client (business users) to test the system within the real world business environment it will normally operate under. Karya Media sets up a UAT Environment in the client’s infrastructure and deploy the website and associated systems once they have been system tested. Karya Media then supports the entire UAT phase by responding to queries raised by the client on the functionality and usage of the website. Any issues/bugs are fixed and retested regressively until the system is approved by the client.
LIVE and Support
Once UAT is completed and approved / signed off by the client, Karya Media then sets up the live environment with database, application and other resources required. Karya Media continues to support and maintain the website after deployment to production and fix any issues related to the project scope free of charge under the warranty arrangements.
Ongoing Support
Our commitment does not end after delivering a fully tested system; we also offer long term client support services including technical support, product maintenance and incorporation of enhancements to the system to keep it up to date with the latest technologies and business growth.