| Driven | Skilled | Passionate | Committed |
DSG App Tx
Case Study
3/14/19
| Driven | Skilled | Passionate | Committed |
Agenda
• Challenges
• Foundation
• App Transformation
• How are we working?
• Results
• Moving forward
• Engagement options
• Why not?
2
| Driven | Skilled | Passionate | Committed |
Challenges
• Heroes and single points of failure
• Code quality
• Tight coupling between systems
• Release dependencies across several development teams
• Extended period of time for manual regression testing
• Extended period of time between releases
• Manual involvement in release process
• Scalability issues related to performance and resources
3
| Driven | Skilled | Passionate | Committed |
Representative Current SDLC – Simplified Best Case
4
Define Work
Refine /
Groom Work
Develop &
Execute Unit
Tests
Develop
Functional
Tests
Develop
Feature
Code
Review
Merge Code
Overnight
B&D
DB and
Config
Updates
Release
Validation
Release
Validation
Developer
Validation
Execute
Functional
Test Cases
Execute
User
Acceptance
Testing
Execute
Regression
Testing
Execute ETE
Testing
Manual
Automated
Day 1
Day 2+
Note: At a minimum this does not take into account:
1. Any Negative flows at transition points
2. Performance Testing
3. Pre-Release Validations
4. UAT readiness and support activities in NP5
5. Production Release Activities
Key:
| Driven | Skilled | Passionate | Committed |
Foundation
• Company and department transformation
• Platform team established (dojo) and platform implementation
• Product architecture identified
• Product teams established
• Product teams participated in labs engagements
5
| Driven | Skilled | Passionate | Committed |
App Tx
6
| Driven | Skilled | Passionate | Committed |
How are we working?
7
| Driven | Skilled | Passionate | Committed |
How are we working?
8
| Driven | Skilled | Passionate | Committed |
How are we working?
9
WebSphere Commerce AppTx
- Cart calculator (product, shipping, price, tax)
- Session management
- Promotions (determination, calculation)
- Order (transfer, settlement)
- Payments
Other Enterprise AppTx
- Mobile app/Move
- Price/promotion determination
- Availability
- WebMethods
- Your monolith here?
| Driven | Skilled | Passionate | Committed |
How are we working?
10
10
| Driven | Skilled | Passionate | Committed |
Results
• Heroes and single points of failure – Shared knowledge and leveling up
• Code quality – Code coverage, pair programming, collaboration and CULTURE!
• Tight coupling between systems – Decoupled systems
• Release dependencies across several development teams – Team and domain
autonomy
• Extended period of time for manual regression testing – Unit tests, Integration
tests, Component tests and End-to-End tests
• Extended period of time between releases – Fast feedback loops
• Manual involvement in release process – Automation – CI/CD
• Scalability issues related to performance and resources – Auto scaling and
flexibility of usage
11
| Driven | Skilled | Passionate | Committed |
Moving Forward
• Continue to extract functionality out of monoliths (such as WebSphere Commerce)
• Enable product teams to iterate quickly and independent of each other
• Facilitate any/all ceremonies to further enable product teams to begin their
modernization efforts
• Onboard .NET/Steeltoe teammates so that more product teams can be supported
and engaged
• Continue knowledge sharing with more recipes in the cookbook and additional tech
meetups to drive efficiency
12
| Driven | Skilled | Passionate | Committed |
Engagement Options
• Facilitation strategy:
• AppTx team facilitates the initiation of the modernization process but is not an
active participant in the engineering effort
• This works well if the team has modernization knowledge and capacity to
focus on the modernization effort
• Supplement strategy:
• AppTx team supplements engineering efforts for a product team, sharing
modernization techniques and practices to drive team effectiveness and
productivity
• This works well if the team does not have modernization knowledge but has
capacity to focus on the modernization effort
13
| Driven | Skilled | Passionate | Committed |
Engagement Options
• Engage strategy:
• AppTx team drives engineering efforts for a product team (engaging engineers
as much as they are available), sharing modernization techniques and
practices to drive team effectiveness and productivity
• This works well if the team does not have modernization knowledge or
capacity to focus on the modernization effort
• Internship/Rotation strategy:
• Engineers pair with AppTx team for a period of time (1-3 weeks), sharing
extreme programming techniques and practices to drive team effectiveness
and productivity
• This works well if the team does not have extreme good programming
practices
14
| Driven | Skilled | Passionate | Committed |
Thank you!
QUESTIONS?
15

DSG App Transformation Case Study

  • 1.
    | Driven |Skilled | Passionate | Committed | DSG App Tx Case Study 3/14/19
  • 2.
    | Driven |Skilled | Passionate | Committed | Agenda • Challenges • Foundation • App Transformation • How are we working? • Results • Moving forward • Engagement options • Why not? 2
  • 3.
    | Driven |Skilled | Passionate | Committed | Challenges • Heroes and single points of failure • Code quality • Tight coupling between systems • Release dependencies across several development teams • Extended period of time for manual regression testing • Extended period of time between releases • Manual involvement in release process • Scalability issues related to performance and resources 3
  • 4.
    | Driven |Skilled | Passionate | Committed | Representative Current SDLC – Simplified Best Case 4 Define Work Refine / Groom Work Develop & Execute Unit Tests Develop Functional Tests Develop Feature Code Review Merge Code Overnight B&D DB and Config Updates Release Validation Release Validation Developer Validation Execute Functional Test Cases Execute User Acceptance Testing Execute Regression Testing Execute ETE Testing Manual Automated Day 1 Day 2+ Note: At a minimum this does not take into account: 1. Any Negative flows at transition points 2. Performance Testing 3. Pre-Release Validations 4. UAT readiness and support activities in NP5 5. Production Release Activities Key:
  • 5.
    | Driven |Skilled | Passionate | Committed | Foundation • Company and department transformation • Platform team established (dojo) and platform implementation • Product architecture identified • Product teams established • Product teams participated in labs engagements 5
  • 6.
    | Driven |Skilled | Passionate | Committed | App Tx 6
  • 7.
    | Driven |Skilled | Passionate | Committed | How are we working? 7
  • 8.
    | Driven |Skilled | Passionate | Committed | How are we working? 8
  • 9.
    | Driven |Skilled | Passionate | Committed | How are we working? 9 WebSphere Commerce AppTx - Cart calculator (product, shipping, price, tax) - Session management - Promotions (determination, calculation) - Order (transfer, settlement) - Payments Other Enterprise AppTx - Mobile app/Move - Price/promotion determination - Availability - WebMethods - Your monolith here?
  • 10.
    | Driven |Skilled | Passionate | Committed | How are we working? 10 10
  • 11.
    | Driven |Skilled | Passionate | Committed | Results • Heroes and single points of failure – Shared knowledge and leveling up • Code quality – Code coverage, pair programming, collaboration and CULTURE! • Tight coupling between systems – Decoupled systems • Release dependencies across several development teams – Team and domain autonomy • Extended period of time for manual regression testing – Unit tests, Integration tests, Component tests and End-to-End tests • Extended period of time between releases – Fast feedback loops • Manual involvement in release process – Automation – CI/CD • Scalability issues related to performance and resources – Auto scaling and flexibility of usage 11
  • 12.
    | Driven |Skilled | Passionate | Committed | Moving Forward • Continue to extract functionality out of monoliths (such as WebSphere Commerce) • Enable product teams to iterate quickly and independent of each other • Facilitate any/all ceremonies to further enable product teams to begin their modernization efforts • Onboard .NET/Steeltoe teammates so that more product teams can be supported and engaged • Continue knowledge sharing with more recipes in the cookbook and additional tech meetups to drive efficiency 12
  • 13.
    | Driven |Skilled | Passionate | Committed | Engagement Options • Facilitation strategy: • AppTx team facilitates the initiation of the modernization process but is not an active participant in the engineering effort • This works well if the team has modernization knowledge and capacity to focus on the modernization effort • Supplement strategy: • AppTx team supplements engineering efforts for a product team, sharing modernization techniques and practices to drive team effectiveness and productivity • This works well if the team does not have modernization knowledge but has capacity to focus on the modernization effort 13
  • 14.
    | Driven |Skilled | Passionate | Committed | Engagement Options • Engage strategy: • AppTx team drives engineering efforts for a product team (engaging engineers as much as they are available), sharing modernization techniques and practices to drive team effectiveness and productivity • This works well if the team does not have modernization knowledge or capacity to focus on the modernization effort • Internship/Rotation strategy: • Engineers pair with AppTx team for a period of time (1-3 weeks), sharing extreme programming techniques and practices to drive team effectiveness and productivity • This works well if the team does not have extreme good programming practices 14
  • 15.
    | Driven |Skilled | Passionate | Committed | Thank you! QUESTIONS? 15