Services
Product Engineering- Software Development
- Software Maintenance
- Software Re-Engineering
Software Development
Photon techno believes that software development should not be restricted to only code creation and project delivery. It is inclusive of an accurate comprehension of the client’s requirements and business goals and, on the basis of this comprehension, recommendations of a cost-effective solution with a fine blend of technology. Photon’s highly effective solution recommendations and technology proficiency have made its software development methodology stand distinct from its peers.
Photon has supported numerous clients in product lifecycle phases to accomplish product goals. We at Photon, have the expertise to begin the project from any of the following stages of product lifecycle management:
- Business Requirement Analysis (BRA)
- Ideation and Conceptualization
- Architecture, R&D, and Prototyping
- Design and Development
- Testing and Assurance
- Release Management
- Training and Product Support
- Sustains/Maintenance
Taking into account the client’s project requirement and interests, Photon has adopted many successful software development approaches. We are well conversant with the classic software development life cycle and equally adapted Agile methodology.
When Photon adheres to the conventional Waterfall methodology, the following phases are implemented: requirements and analysis, design, implementation, and eventually, testing. All these phases have specific entry and exit criteria. When the stakeholders approve a phase and its deliverables, transition takes place from one phase to the next.
Considerations
- Business problem definition
- Product development objective
- Stakeholder viewpoint
- Onsite-offshore knowledge transition and requirements gathering
Implementation
- Assemble project team
- Knowledge transition
- Define project execution strategies and communication channel
- Customize offshore process
- Execute offshore project
- Review deliverables and identify areas of improvement
- Best practices to be followed
Execution
- Project charter and business case
- Documentation of user, functional, and system requirements
- Top-level architecture, technical approach, and system design
- System decomposition into component and unit specifications and design
- Coding, unit test planning, and unit testing
- Generation of test data for unit testing and system testing
- System integration and testing
- Implementation, delivery, and cut-over
Software Maintenance
In the current environment, business practices, policies, and execution methodologies keep undergoing changes even as newer and better technologies emerge. In such a scenario, one of the biggest challenges faced by organizations is to manage IT to keep in step with the business, while capitalizing on current assets.
Software maintenance is one of the important phase of product lifecycle. It represents the enhancements and improvements to existing software that provides the competitive edge required to stay ahead and succeed in any industry/space. Photon helps you in accomplishing the task with its proven approaches to application/product maintenance through maintenance or end-client specific releases. The range of these maintenance activities is from small fixes for existing defects to implementation of new business rules in an established product. Photon executes well-planned knowledge transition and product ramp-up processes to confirm that the offshore team completely understands the client’s product and business standpoint. If any changes are proposed to a system, Photon does the impact analysis of these changes using its proven skills. We use the outcome of this analysis to project the propagated effects to the other parts of the system. In any maintenance project, the impact analysis phase is important because it helps to comprehend the design and release effect on the product. Consequently, the client can make an accurate decision regarding implementation of any change.
Categories
- Offshore and onsite maintenance
- Bug fixing and troubleshooting
- Bug tracking and reporting
- Fine tuning the product functionality
- Research, design, and implementation of new features
Considerations
- The performance of the software must be maintained (perfective maintenance)
- The errors in specifications, design, and implementation must be corrected
- The final product must also evolve to existence (evolution maintenance)
Software Re-engineering
Any established product becomes obsolete in due course of time. Such a product catalyzes product support and upgrades. This catalysis is difficult and expensive. The solution is to build a product for a wide segment of potential clients. Consequently, several business owners aim migration of their products to a mainstream technology and new platform.
To help organizations attain their business goals, we capitalize on our extensive experience of application re-engineering. Photon has a proven re-engineering methodology that appraises the investments in legacy systems by carefully analyzing the legacy application set and business logic, and then mining with a tool-based approach. Our re-engineering methodology comprises data migration, technology migration system using tool-based reverse engineering, and forward engineering.
Categories
- Re-architecting
- Migration to new software delivery model (such as Software as Service (SaaS), Platform as Service (Paas), and Delivery over cloud)
- Technology and user interface upgrade
- Porting and data migration
- Legacy systems and application re-engineering
- Enterprise application integration
- Code re-structuring
- Re-documentation
- Platform transitions
- Language conversion
Considerations
- Business problems with the current mode of operation
- Future business goals post migration
- Procedures catered by the re-engineered application
- Stakeholders’ opinion about the advantages from the effort
Implementation: How we want to proceed and start with the implementation
- Assessment of the product to be migrated
- Knowledge transfer
- Research on the platform and technology to be supported and technology selection
- Research of data domain and creation of detailed specifications for the project
- System planning (selection of architecture, creation of interaction protocols, and technical specifications for separate modules) and prototyping
- System implementation (system specifications, construction, and QA)
- Creation of project documentation (system architecture description and source code detailed description – in addition to built-in comments in code)
- New system optimization and tuning