2. Business Challenges
▪ Unable Deliver Software In Time
▪ Double effort
▪ Cross team impact
▪ Not all aspects are verified
▪ Ability to deploy any time
▪ Global versioning policy
5. Release Branch
▪ Pros
– Minimum Overhead
– Easy Release Maintenance (Boxed Products)
▪ Cons
– Difficult keep stability when dev team is big
– Developers works on several branches at the
same time
Parallel Development Strategy
6. Feature Development
▪ Pros
– No Impact to Feature teams until merge
– Ability postpone feature
– Ability release not all features
▪ Cons
– Higher overhead for merging
– Merging issues on latest stages
7. Hybrid (Proposed Solution)
▪ Pros
– Almost Stable “Main”
– Easy Maintenance (SaaS)
– No team impact (isolated)
– More team responsibility
▪ Cons
– Additional overhead for merging
Parallel Development Strategy
8. Feature Development Workflow
Feature A Repository
Repo is
Created Developer Code Push Code Review Code Integration
Feature Repo is Deleted
Developer
Code Push
Development Repository
Feature X Repository
10. Build
Source
Dev Team Check-in Control
System
F
a
i Build Job
l
RC Yes
Artifact Promote / Status TC Unit Tests
Repository No
Code Quality
Build Deployment Acceptance Release Production
11. Deployment
Unified deployment process to all environments
QC
RC
Environment Artifact Artifact
Configuration
Preparation Deployment Repository
FAT
Staging Production Performance
Build Deployment Acceptance Release Production
12. Deployment Steps
1. Build 1. Application (war) Installation
2. Unit & smoke test 2. Migration scripts 1. DB Update
3. Increment version 2. App deployment
4. Package ISV Vendor
Sources Artifacts Artifacts
Repository
Build QC
Source Control Repository
Offshore Vendor Installation
1. DB Update
2. App deployment
QC
Build Deployment Acceptance Release Production
13. Acceptance
▪ Smoke Function Automation Tests
– Main user workflow based
– Component Based
▪ Regression Functional Automation Tests
– According to Impact
▪ Full Regression Functional Automation Tests
– For critical release
▪ Manual Acceptance Testing
– By product owners
Build Deployment Acceptance Release Production
14. Acceptance 2
▪ Test Production DB Upgrade
– Ensure no data related issues
– Ensure that maintenance window is matched
▪ Test provisioning/unprovisioning
procedure
– Ensure that setup of new client is not impacted
▪ Performance Testing
▪ Operation Testing (DevOps)
– Ensure system is monitored and controlled
Build Deployment Acceptance Release Production