Distributed agile development for enterprise application is always a key challenge for the IT industry. When companies try to practice distributed agile, questions arises around different implementation areas such as,
a) A feature developed by multiple teams
b) Best practices for communication across teams/regions
c) Transition to feature development team
d) Team’s effectiveness during transition phase
e) Key areas to be measured during few iterations of transitions
This session is all about sharing our experience in implementing distributed agile for enterprise applications. During this session, I will walk you through the key areas which includes a) Introduction to component based development b) Component based teams and process c) Need for a feature based team d) Transition to feature based development e) Recommendations/Proven practices for Transition to feature development
Ticketing systems giant – Core customer management, booking engine, range of ticket collection kiosk and printers for corporate customersServices includes online ticket booking, mobile phone ticket purchaseTicketing software service provider for multiple privately owned transport corporationsDrive to adapt smartcard technologies for travel industry
Code freeze 3 weeks before release and current trunk closed for check-in’sRegression team identifies end-to-end business scenarios and conducts manual testingDefects fixed on top priority and checked-in as patchesTime-boxed rigorous manual testing by the regression teamUAT team also conducts manual testing pairing with feature SME’sSeparate test lab for Non-functional testing (NFT). Load and stress testingEnvironment configuration very similar to productionLoad and stress tests conducted for identified business scenariosCritical findings taken on high priority and fixed before releaseSeparate test lab for Non-functional testing (NFT). Load and stress testingEnvironment configuration very similar to productionLoad and stress tests conducted for identified business scenariosCritical findings taken on high priority and fixed before releaseAutomated test framework team - Maintain and govern automated test suitesFor a feature - Triggers automated tests related to all componentsAnalyze results and provide results back to respective teamsTests conducted in different browsers and platformsDefects fixed on priority Team – Representatives from development, regression, SME’s, Business users, stakeholders, UAT, Test automationAnalyze the bugs - Provide priority based on business requirementsSME’s and stakeholders confirm the bugs to be fixedApplication verified for “Quality Gate” requirementsApplication deployed in Pre-productionRegression and UAT testing for end-user business scenariosSME’s conducts transactions and verify functionalitiesBuild certified for “Release”
Code freeze 3 weeks before release and current trunk closed for check-in’sRegression team identifies end-to-end business scenarios and conducts manual testingDefects fixed on top priority and checked-in as patchesTime-boxed rigorous manual testing by the regression teamUAT team also conducts manual testing pairing with feature SME’sSeparate test lab for Non-functional testing (NFT). Load and stress testingEnvironment configuration very similar to productionLoad and stress tests conducted for identified business scenariosCritical findings taken on high priority and fixed before releaseSeparate test lab for Non-functional testing (NFT). Load and stress testingEnvironment configuration very similar to productionLoad and stress tests conducted for identified business scenariosCritical findings taken on high priority and fixed before releaseAutomated test framework team - Maintain and govern automated test suitesFor a feature - Triggers automated tests related to all componentsAnalyze results and provide results back to respective teamsTests conducted in different browsers and platformsDefects fixed on priority Team – Representatives from development, regression, SME’s, Business users, stakeholders, UAT, Test automationAnalyze the bugs - Provide priority based on business requirementsSME’s and stakeholders confirm the bugs to be fixedApplication verified for “Quality Gate” requirementsApplication deployed in Pre-productionRegression and UAT testing for end-user business scenariosSME’s conducts transactions and verify functionalitiesBuild certified for “Release”
People – Rotation, Understand their interest, Willingness to travel, Can we make the right compositionCode base – Move code base to single repository. Synchronize the same code-base in different locations. Similar patterns and neat .Tests – Do we have safety net around each components? Effort needed to get the smoke/critical tests for each componentsKnowledge base – Necessary documentationAre we ready to accept a 40-50% less velocity during 2-3 iterations?
HEY…..We are a single team..Explore Team – Combination of resources from different component development teams and skill setSPOC for each component team. SPOC ready to invest sufficient time to help the explore teamAccess rights to different systemsTime-boxed analysis on each componentsAnalyze areas such as CI, Deployment, Tests, Production deployment Identify key resources and arrange for necessary travel for KT between locationsShuffle resources between locations and work along with the team to 2-3 iterationsEncourage frequent communications, in-person communications etc