Software Aligned With Vision

Articles

LMS Technology Articles

Implement a realistic development methodology for system integration projects

We believe there is no perfect software development methodology for system integration projects. Every methodology must be tailored to the specific needs of the project. We have the done the same. However, our template software development methodology is based on a hybrid model that takes the best practices of Waterfall and Agile Methodology.


Description of Methodology & Solution Models

Our solution model is based on an adaptation of waterfall and Agile. It combines the best practices of Waterfall to include careful planning upfront. However, it also includes components of Agile to ensure the user and business community is engaged and invested through the build (development & data conversion) process to ensure what we provide aligns with the stated project objectives and vision of the agency for the project. Our goal with our methodology is to provide a framework for successful implementation. It also facilitates work by providing a common language, leveraging existing examples of work products and artifacts, and building on a repository of best practices and lessons learned.

Like Minded Software’s Implementation Methodology Framework

Like Minded Software’s Implementation Methodology Framework


Discovery is the first phase of the implementation methodology. The objective here is to get a clear understanding of the project scope & detailed product deliverables. The outputs from this phase include:

  • Project Charter

  • RACI Chart

  • Project Schedule

  • Functional & Non-Functional Requirement


Design phase focuses on defining work that will be performed to deliver the proposed functionality. This phase includes multiple project definition activities, including personnel assignments, development of Implementation Specifications (also known as Requirements Specifications), converting those into user stories, technical system design documentation, and creation and finalization of the hardware/software plan. The outputs from this phase include:

  • Implementation Specifications

  • User Stories

  • Business Architecture Diagram

  • Detailed Data Flow/Functional Flowchart

  • Technical Solution Architecture Diagram

  • Application Architecture Diagram

  • Database Architecture Diagram

  • Security Architecture Diagram

  • Deployment Architecture Diagram

  • Operations Architecture Diagram

  • Technical Design Specifications

  • Project Bill of Materials (BOM)

  • Low and High-Fidelity Wireframes

  • UI/UX Style Guide


Setup is a very important phase and can be initiated a few months into the Design phase. The goal with this phase is to setup the various environments so that project development cycles can begin. The outputs from this phase include

  • Environment Specifications

  • Code and Release Management Specifications

  • Application Structure


Development phase is the process of actualizing the requirements into functionality. This will be the longest phase in our implementation methodology. It will also be the most important phase. We will approach development using multiple iterations. This will be highly recursive phase of the project where we will actively collaborate with the agency resources to ensure the functionality meets the project goals and we have not missed anything important from the project objectives. The underlying philosophy is to perform small increments of work, submit those for review and verification, incorporate the feedback from the reviews back into the next small increment of work and continue in this manner until the work products are deemed acceptable. The outputs from this phase include:

  • Sprint Definitions

  • Sub-System Functionality Memos

  • Component Functionality Memos

  • Sprint Retrospective Memos


Conversion is an iterative process to extract, convert, purify, verify, and reconcile legacy data for use in our proposed solution. We will perform conversions using a series of mock conversions until all legacy data from various sources is converted into the target database. The outputs from this phase include:

  • Conversion/Migration Approach

  • Data Purification Results

  • Data Conversion Results


Testing Phase ensures that the production system can meet the business needs in a robust and stable manner. This includes identification of system and specification instabilities or issues. Our approach is to leave between 10-30% of the project time for testing/remediation. The outputs from this phase include:

  • System Test Plan

  • System Test Cases and Results

  • Performance Test Metrics and Results

  • Customized Product Training Document

  • Customized Train the Trainer Document

  • Product User Online Help Document


With Training Phase, business users will be given exercises that allow them to become acquainted with the new or modified business processes. This phase also includes the creation of detailed documentation of the new or changed processes. The new training material will include step- by-step instructions with thorough descriptions of associated system functionality and navigation instructions. Screenshots and links to other useful information will also be included. The outputs from this phase include:

  • Detailed Training Plan

  • Customized Product Document

  • Operating Training Document

  • Customized Product Training Document

  • Customized Train the Trainer Document

  • Product User Online Help Document


Implementation is also the rollout phase. During this phase we will be focus on getting the final system ready for production. The outputs from this phase include:

  • Operations & Support Plan

  • DR & Business Continuity Plan

  • Cutover Plan & Checklist


You can access a PDF version of our detailed software implementation methodology by clicking here.

Satya Maganti