+ All Categories
Home > Documents > SAINBAIN Software Design Principles

SAINBAIN Software Design Principles

Date post: 16-Jul-2015
Category:
Upload: joseph-janecka
View: 36 times
Download: 0 times
Share this document with a friend
Popular Tags:
7
Software Design Principles SAINBAIN LLC March 2015
Transcript
Page 1: SAINBAIN Software Design Principles

Software Design Principles

SAINBAIN LLC

March 2015

Page 2: SAINBAIN Software Design Principles

Overview

SAINBAIN’s design principles provide a high-level overview of our software design practices and processes. This document will address our:

• Agile Delivery Approach

• Agile Management Process

• Use Case Development

• Coding Approach

Page 3: SAINBAIN Software Design Principles

Agile Delivery

ProductionDeploymentDevelopment Test

Plan Code Build Test Release Deploy Operate

Agile Development

DevOps Phase 1 Continuous Development

DevOps Phase 2Continuous Delivery

DevOps Phase 3Continuous Improvement

Develop, QA, Deploy & IT Operations

Develop, QA &Deploy/Release

Developers & QA

Developers

AGILEDevelopment

Project

Product

Services

ITIL

BSM

Core Delivery Principles

• Focus on short, quick iterations• Priorities set by immediate

business value• Continuously integrating user

feedback is central to prioritization

• Releases can be frequent (daily) or sprint based (2 to 4 weeks)

• No release is approved without adequate internal and user documentation

• Deployment must integrate with configuration and change management

Page 4: SAINBAIN Software Design Principles

Agile Management Process

Management Principles

• Daily scrum and corrective actions reviews

• Developers and Analysts share responsibility for Requirements

• Leverages Requirements Backlogs and Continuous User Experience as well as Functional Testing

• Utilize code automation where feasible

• Focused on rapidly delivering a Minimum Viable Product

Page 5: SAINBAIN Software Design Principles

Use Case Development

Requirement Use Case

Application Single Sign On

API

By enabling an API to provide a single identity management

layer not only streamlines support for system to system

communications, but will reduce complexity and support

costs for end-users.

Application Infrastructure

API

Utilizing cookbooks from Puppet or Chef, developing an

infrastructure API layer that communicates with the

application. This layer allows for inline interrogation of

infrastructure performance and would allow the application

service to be re-provisioned, moved or automatically

expand/contract the server infrastructure based on near real-

time performance and monitoring data to enable self-healing

and autoscaling service capabilities.

CRM API Creating an API layer that supports direct integration to CRM

systems such as Salesforce, Microsoft Dynamics, Deltek CRM

and other systems would help streamline monitoring and

CRM administration activities which would translate to lower

administrative costs.

Use Case Development Approach

• Requirements should be kept simple and singular

• Use cases should clearly state all potential uses for the requirement

• Scope of use case may extend beyond the internal system boundary (to support integration)

• Use cases must be realistic and provide direct business value

• Use cases should drive implementable code

• Use cases must describe who or what utilizes the requirement as well as system dependencies

Page 6: SAINBAIN Software Design Principles

Common Services

Coding Approach

Core Modules

User Interfaces

Business Logic / LOB Entities

Data Models

• Authentication• Input Filtering• User Roles• Module

Permissions• Content

Management

• Shared APIs• Offline / Online

Contexts• Notification /

Workflow Engines

• HTML 5• JSON• JQuery• Angular

• Work Assignments

• Business Objects

• Data Structure• Data Integration /

replication interfaces

• DataReader API• DataImport API• DataExport API

Page 7: SAINBAIN Software Design Principles

For More Information

SAINBAIN’s staff is ready and waiting to assist with your software development needs. Whether it is creating custom applications, existing enhancing systems or providing software program management and leadership, we’re here to help.

Joseph JaneckaVice President, Operations

SAINBAIN LLC703.861.8123

[email protected]


Recommended