400 likes | 522 Views
Proposal for Customer. Vinay Aggarwal. Agenda. Dependencies Communication Plan Golden Rules of Development Cost. Business Drivers Development Constraints Challenges Solution and Approach Enabling Customer Delivery Plan Staffing Plan Release Timelines Measuring Health Check Risks
E N D
Proposal for Customer Vinay Aggarwal
Agenda • Dependencies • Communication Plan • Golden Rules of Development • Cost • Business Drivers • Development Constraints • Challenges • Solution and Approach • Enabling Customer • Delivery Plan • Staffing Plan • Release Timelines • Measuring Health Check • Risks • Assumptions
Customer’s Business Drivers Business Need • New settlement product to be developed Request from Customer • Augment capacity from off-shore
Development Constraints • Scope not known at this stage • Forward looking technology – yet to be identified • End users spread across Europe and Australia • Increased complexity - Integration with existing products • Existing products have very limited test automation (code coverage 20%) • Engineering practices not automated (e.g. build, test automation) • No prior experience of customer in modern development methodologies • Limited Subject Matter Expertise
Challenges • Existing Development Constraints • Additional challenges : Offshore • Geography • Time zones • Culture • Different standards • Shared ownership? • Knowledge gap (technology and business)
Offshore IT engineers : knowledge workers • This means they are motivated by: • Responsibility • Involvement in decision making • Problem solving • Technical excellence • Delivering quality • Influencing your own environment • Personal development • …. • Just like UK employees! It is these factors that we can connect on, despite known challenges and any other differences.
Mixing both worlds: killer combination Agile hyperproductivity and quality combined with offshoring benefits: • Focus on Business Value only • Close collaboration of Technology and Business • Availability of talent • Scaling up/down with knowledge retention • Software excellence, Build Quality In • Teams - Equal partner in success • Faster to market, cutting the waste • Business sustainability • Cost reduction Solution: Fully Distributed Agile
Enabling Customer : Coaching • 2 Days of Agile training/workshop in London for customer’s key stakeholders including members from development team • Focus on : • Benefits • How Distributed Scrum solves current business problems • How it cuts waste, builds in quality, delivers business value • How it gives long terms sustainable business, champions software excellence • How it works and what it takes to work • Responsibility and obligations : both sides
Delivery Plan : Project Phases * Number of Sprints are indicative; actual to be determined once prioritized backlog is ready
Delivery : Every 2 Weeks 2 weeks Daily Collaboration Prioritized Product Backlog Sprints Backlog Scoped-in User Stories Working Software Shippable Running Tested Features • Agile means: • Multidisciplinary teams (5-6 members) • Business sets priorities • Working in small increments • Very high transparency • Close communication • Focus on quality • Focus on added business functionality • Motivated people
Phase 1 : POC Co-location * 0.5 is average for Manager
Phase 1 : PoC • Build One Team : Shared product vision, roadmap and responsibility • Technology, Architecture : Brainstorm, identify, start building • Features: Validate technology, deliver 3 priority features • Set up Common Development Environment and scrum tooling • Proposed Technology working well, Architecture base-lined • 2 Features delivered and proves technology working well • Product Roadmap, defined and well understood • Team dynamics, One team feeling, Intense Collaboration • Shared responsibility and collective ownership, team’s are confident • Development environment: Set up; Best Engineering practices: In Place
Roadmap of PoC Phase Sprint 1 Sprint 2 Sprint 3 • Start developing person repo • Have shared Product Vision and Roadmap • Continue to learn domain • Full understanding of existing Technology • Have fairly good understanding of products to be integrated • Start building chosen Architecture • Start using common practices, Refine • Refine technical environment and tooling • Start using Common Wiki, e-Scrum tool • Product Backlog ready for next 2 sprints at least, well understood • Demonstrate 2 small features end to end • Identify 1 major feature, start developing it • Informal meetings (e.g. Dinner Together) • Prioritized Product backlog ready • Continue to learn domain on the job • User stories related to product integration available and understood • Evolve Architecture and freeze • Definition of done working well • Technical env. and tooling working well • Common Wiki, Common e-Scrum tool delivering value • Demonstrate 1 major feature end to end • Validate distributed setup from India; engage 4th developer who is joining team from 4th sprint • Celebrate success of PoC • Handshake, Ice-breaking, Know stakeholders • Explain Product Vision and Roadmap • Start knowing business domain • Understand existing Technologies • Understand products to be integrated • Evaluate Technology, Architecture • Establish definition of done • Setup technical environment, tooling, engineering practices (TDD, CI, shared code repository, build automation, Sonar) • Set up Common Wiki, Common electronic Scrum tool such as Mingle or Jira with GreenHopper • Identify 2 small features, start working on them • Read product documents • Start building product backlog, break down requirements into Epics/ User stories by PO • Trust building, Relationship building • Informal meetings (e.g. Lunch Together)
Phase 2 : Roller Coaster Development Sprint 4 Sprint 5 • India team starts working from off-shore - Fully Distributed Scrum • Scale India team up with 1 Developer • Distributed Stand-up, Planning, Retro • Close collaboration with London team using digital tools and electronic media • Skype, Video conference, Online Meetings, Desktop sharing, Telephone, email, FTP • Bridging distance • Additional Scrum Practices: • Local stand up, Pre-planning, Local Retro (all time boxed) • Taking maturity of distributed scrum to next level • London team to co-locate with India team • Refine distributed scrum practices, Iron out gaps (if any) • Opportunity for London team and new India team member to work closely, know each other, build relations, develop repo
Update Scrum board Update Scrum board 8:00 9:00 10:00 10:00 11:00 11:00 TIME LINE TIME LINE 12:30 12:00 13:00 13:00 14:00 14:00 15:00 15:00 16:00 16:00 17:00 17:00 17:00 18:00 Stand up Stand up Local standup A Day in Distributed Product Development India London, UK
Phase 2 : Roller Coaster Development Sprint 6 Sprint 9 • Team continues to work in distributed mode, delivering value every sprint • Running Tested Features getting ready as per business priority • End of 6th Sprint: Team invites SMEs to demonstrates knowledge of domain and product; helps refine product, further develops shared vision • End of 7th Sprint, check feasibility of: • alpha release where end users from Europe, Australia start using the product; give feedback • travel needs (may be 1 week travel of SM or PM) if it helps • Constant co-location required to ensure team bonding and collaboration remains at highest level • End of Sprint 9: Beta release – all SMEs and End Users to start using software
Phase 3 : Roll Out Sprint 10 Sprint 11 10.1 10.2 11.1 11.2 • Co-locate 1 India team member (Senior) at London • PO to be well prepared and 100% dedicated during • All SMEs and End Users in Europe, Australia to start using the product actively, close collaboration with PO • Strongly recommend daily meeting among PO, SMEs and End Users • PO to analyse feedback, add to backlog, prioritize based on business value • Team to fix and fine tune product as early as they receive feedback from PO • Advantage: Time difference between India and UK • Ensure full availability of entire team • Suggestions, enhancements to be parked for Phase 4 (BAU) • Check feasibility of: • Sprint 10/ 11 : Mini internal sprints of 1 week each 10.1, 10.2, 11.1, 11.2 • Kanban • When to Push code to Beta Staging: every week, twice a week • Scale down of India team by 1 member: really needed?
Staffing Plan • Talent Spread Over 11 Sprints PoC Phase Roll Out
Location Wise Staffing Plan India Team Member Customer Developer Customer PO
Role # To start from 4th Sprint * These Roles are not full time, involvement varies from phase to phase
Release Timelines 18 Weeks 4 Weeks Incremental Release to Staging Beta Release Production Release
Success • PM to define success criteria together with customer at the beginning • Success Criteria to be as objective as possible; measured regularly and shared with stakeholders transparently • Factors impacting success: • Shared and accessible environment for all development work • Initial colocation and regular travel afterwards for short period across locations • Accessible Product Owner or his proxy during the sprint • Regular communication; setup to enable team members communicate across locations in easy manner on a regular basis
Measuring Health Check Quality and Processes
Measuring Health Check Customer and Business Team Related • Team Related • General Team dynamics • Clear understanding of Business goals of the user stories by the team members • Independent Capability of feature development by India team
Assumptions • After Agile Coaching, Customer understands Scrum reasonably well and also committed to fulfil his obligations • One Subject Matter Expert to be dedicated for development team as per expectations of Agile PO role • Key assumptions from PO : • Liaison with other SMEs and end users; know their perspective well • Ensure entire Product backlog is ready before end of PoC phase • Ensure only Prioritized requirements are scoped-in in sprints • Formally accept the Epics/Stories once demonstrated as per his satisfaction • Regular participation in the Scrum practices including planning and demo is must • Provide direct and upfront feedback in timely manner • Beta Release: Customer to free up SMEs and End Users in Europe, Australia during beta release; ensure they participate on priority and are dedicated (almost!) Continued…
Assumptions • Hosting and deployment needs are not covered in this proposal; we will share our experience and give recommendations; procurement of any 3rd party software or environment (e.g. cloud) is responsibility of customer • Dependencies on market adapters to be resolved quickly, on priority • Customer to provide: • Graphic design material as needed • Production test data • Access to Integrated test environment, Staging environment, Production env (before roll out phase) • Access to test environment of other products to be integrated (market adapters) • Financial customers usually have very secure development environment; assumed access to all necessary environment and platforms will be provided • Customer to enter into relationship of open communication; treat India team equally to your own staff; participate in demos as much as possible
Dependencies • Subject matter experts • End users • Market adapters
Golden rules of development • Allow easy removal or disabling of incomplete features • Reduced Feature Coupling • Never Gold Plate – develop user story just enough to meet the business goal • Good number of information radiators like burn down chart, digital scrum-board etc. so that everyone is aware of sprint progress • Ensure changes, feedback gets added to product backlog and prioritized • Celebrate small success and celebrate together
Cost • Approx. cost of development: < $ xyz> • Offshore Blended Rate: < $ 20-28/hour> • Onsite Blended Rate: <$ 60-70/hour> • Exclusions: • Cost of customer agile coaching • Travel cost (airfare + accommodation) on actuals * Refer appendix for details on cost calculations
Let’s Deliver… Thank You! *Relationships are precious*
Appendix : Justifying cost of project manager • Conversation partner at overall engagement level • Process owner: Make sure Agile works and delivers value for all parties • Meta Scrum Master – resolve impediments beyond scrum master’s control • May act as Agile coach as and when required • Facilitate cultural assimilation • Take feedback every sprint and sync with stakeholders, team • Status report on business metrics (health check indicators) • Facilitate discussion between team, customer stakeholders, market adapters, as appropriate • Direct feedback to the customer • First point of escalation • Administrative Responsibilities: Contract Management, Resourcing, Invoicing, Forecasting, plan for knowledge build up and knowledge retention