Software Development - Our Methodology
 
 

  

Digiplates Software has a standardized software development methodology that helps us to provide very cost-effective and efficient business solutions. The following descriptions will give a better understanding of this process.

 PHASE 1- REQUIREMENTS GATHERING
Our Business Consultants conducts Joint Application Development (JAD) sessions with the client. These are brainstorming sessions that help determine the business objectives and marketing goals. Prototype storyboards or screen layouts are used for role-playing.

PHASE 2 -TECHNICAL ARCHITECTURE
Our Technical Architects advise the client on options available to him with respect to architectural approaches and technology solutions for project implementation.

PHASE 3 - CONFIRMATION
Based on the architecture and technology chosen, the development team of Programmers, graphic designers and project managers draft a development plan for the project with cost and time estimates.

PHASE 4 -INCREMENTAL DEVELOPMENT
this is the stage where the project is actually off the ground. Digiplates Software Technicians build the application in progressive phases or increments. Incremental delivery permits experimentation of complex solutions during the course of development. This approach facilitates modifications through hands-on exposure to the delivered increment.

PHASE 5 -INSTALLATION and TRAINING
once the system is installed on the production servers, comprehensive training is extended to the client's IT/ MIS personnel not only to administer and maintain it, but also to understand the underlying technology and development tools. The end-users are trained to use the application effectively. Follow-up action in terms of close monitoring of the system and applications ensures immediate response to issues

Some Additional Notes

  • Communication is of high profile for a successful development that is why we usually have two project managers assigned to the project. One of them, either a member of our team or your representative, is a local Project Manager who closely works with your team to ensure seamless information exchange and monitors the progress. The other one, the offshore Project Manager, is fully assigned to your project and is fully responsible for it.
  • The Internet will undoubtedly be used for effective communication and on-time deliveries. We also use special techniques and tools to support remote development. Our programmers and other specialists effectively work as a team despite the fact that they are in different geographic locations.
  • If it is necessary, qualified technical consultant can be assigned to study your business process and your existing software.
    Of course, we understand all the complexity of the development process, great variety of possible situations and requirements, individual sense of taste and other things. We will take whatever time is necessary to meet your expectations.

This development process allows us to guarantee:

  • On-time completion of the project,
  • Delivery of a high-quality system meeting your business requirements,
  • Development of a flexible, easy to use and modify (in case you need some enhancements in future) system.


Our Software Development Process


  

1. Software Requirements Analysis and Management
After the initial step of team formation, we do a thorough needs analysis of customer requirements including determining needs (elicitation), addressing how those needs need to be addressed (triage) and documenting the desired external behavior of the systems (specification).

o Allocated Requirements Review
o Managing Systems Requirements Allocated to Software Policy

2. Software Project Planning
Planning is a critical phase, which involves creating high-level architecture, delivery and deployment schedules for software development, information and capacity architecture, and third-party integration.

  • Software Development Plan
  • Software Estimates Procedures
  • Project Schedule
  • Software Life Cycle Definition
  • Software Planning Data
  • Software Project Activities and Commitments
  • Software Engineering Facilities and Support Tools Plan

3. Software Project Tracking and Oversight

  • Revision of Software Development Plan
  • Peer Review Plans
  • Change Requests and Problem Reports Procedure
  • Formal Reviews of Selected Milestones
  • Project Tracking and Recording Procedures

4. Software Quality Assurance

  • Software Quality Assurance Plan
  • Policy for Implementation of SQA
  • Deviations in Software Activities and Software Work Products Procedure
  • SQA Participation Procedure
  • SQA Reports
  • SQA Reviews Procedure

5. Software Configuration Management

  • SCM Activities Plan
  • SCM Policy
  • Changes to Baselines Procedure
  • Software Baseline Library Product Creation and Release Control Procedure
  • Configuration Items/Units Status Review Procedure
  • Standard Software Configuration Management Reports
  • Baseline Audits Procedure

6. Testing
After the various components are developed, they are integrated and rigorously tested as a complete solution. Application behavior is compared with the initial specifications and any deviations are identified and corrected.

o Specification Testing
o Functionality Testing
o Integration Testing
o Stress/Real-world Testing

7. Implementation
After the project is completed, it is deployed across an enterprise by working closely with its internal IT team and training is imparted to the end-users of the system.

o Enterprise-wide Deployment
o End-user Training
o System/Helpdesk Training
o Documentation Handover

8. Maintenance
Our maintenance phase covers system health maintenance including database, application and network maintenance. Required application feature enhancements are planned at this stage, and are developed and executed as and when appropriate.

o System Health Maintenance
o Feature/Application Enhancements

Please Note on Software Process Models:

  • Linear Sequential Model (old fashioned but reasonable approach when requirements are well understood)
  • Prototyping Model (good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product)
  • Rapid Application and Development (RAD) Model (makes heavy use of reusable software components with an extremely short development cycle)
  • Incremental Model (delivers software in small but usable pieces, each piece builds on pieces already delivered)
    Spiral Model (couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model)
  • Win-Win Spiral Model (eliciting software requirements defined through negotiation between customer and developer, where each party attempts to balance technical and business constraints)
  • Concurrent Development Model (similar to spiral model often used in development of client/server applications)
    Component-Based Development (spiral model variation in which applications are built from prepackaged software components called classes)
  • Formal Methods Model (rigorous mathematical notation used to specify, design, and verify computer-based systems)
    Fourth Generation (4GT) Techniques (software tool is used to generate the source code for a software system from a high level specification representation)
 
     
 
© Copyright 2002. Digiplates.com - All Rights Reserved -