stigasoft metro cops
TRANSCRIPT
C O P SCentral Online Publishing
SystemProject and Team Organization
Stigasoft-Metro Team3/16/2015
Agenda• Stigasoft• Success Roadmap• Astonishing Results• Agile Scrum• Product Backlogs• Product Roadmaps• Project Areas• Project Meetings• Project Roles & Collaboration• Team @Stigasoft• Teams & Responsibilities
StigasoftYour Agile IT Solution Partner
Aim
To constantly strive to anticipate the rapidly changing needs of our clients and to develop new services to meet
those needs
Global Solutions
Business Intelligence
ERP & CRM Solutions
Mobile Solutions
E-Commerce & CMS Solutions
Portal & Intranets
Client Base
India
Sweden
USA
UK
Japan
Global Technologies
Microsoft technologies
Java / J2EE technologies
Open Source technologies
Frameworks & CMSs
Mobile apps
Adobe technologies
ERP & Business Intelligence
Stigasoft & Metro
More than 10 years of strong collaboration
Excellent teamwork
Competence building
Commitment to perform
Create Success
Success Roadmap - Implementations
… 2011• Wordpress blogs• Readmetro – new
version• Mobile app v1
2012• PR launch• Responsive websites• Touch websites #1
• SOLR search engine #2
• Mobile app v2
2013• HUB launch• Nirvana #3
• FR new domain project
• New Towers setup & migration #4
• Mobile app v3
2014• US launch• GT launch• Smart Article project• New ad-position in
gallery carousels• Native ads #5
• GTM implementation #6
• New Relic monitoring tool
• Articles pages caching in Nirvana
• Mobile app v4
2015• CDN Migration to
Limelight #6
• MSN feeds (outgoing) for SE
• Reuters feeds (incoming) for US
• EC launch (to be done)• Topic pages caching in
Nirvana
Success Roadmap - Process
… 2011• Incident and Problem
Management process• Zendesk tool for
Incident management• NO development and
QA process
2012• Product Backlog• 3-weeks Sprints• Weekly status
meetings• Planned releases• Sprint demos• Jira tool for product
management
2013• Introduction of
Architecture backlog• Retrospective
meetings• Initiated architecture
and operations meetings
• Jira Capture tool for test sessions
• Refined Incident and Problem Management process
• GoodData integration
2014• 4-weeks Sprint• Introduction of Quick
Stream backlog• Introduction of Smart
Article backlog• Continuous
Integration• Confluence tool for
product plans and artifacts
• Efficient release process – one release post every Sprint
• Product Roadmap defined
2015• Continue the GOOD
practices• Optimize processes• Refine Product and
Market Roadmaps
Pre-ScrumEra
Post-ScrumEra
Upsides• SCRUM Agile process• Balanced approach towards new development and maintenance• Continuous stakeholder involvement• More visibility and transparency• Flexibility in responding to changes• Planned and successful releases - 12 releases per year• Planned and controlled execution of new markets launches• High performing server environments• Well managed server operations
Downsides• No control on process• More maintenance work than new development• Impossible aligning with market-specific requirements• Unplanned releases – 1/2 releases per year• Extensive post-release bug fixing effort• Huge server alarms rate• Shared environments risked other markets should one be affected
Astonishing Results
Effective planning and prioritization
Working software delivered
each Sprint
Production deployment every Sprint
Improved Business
Value
Collocated Teams
(SD, DEV, ARCH, OPS,
QA)
Strong Collaboration
High technical and
product knowledge
Good Competency
+ High
Motivation
Continuous stakeholders involvement
Architectural advances
Operational efficiency
Commitment to quality
Building the “right thing”
AND the “thing right”
Development process
Release process QA process
Incident and Problem
Management process
Improved Overall Product Quality
Improved Overall Product Quality
We VALUE
SCRUMopeneSsFor increased visibility,
To get to heart of issues
CourageTo confront problems,
To act, To be open
RespectFor constructive
criticismfocUs
To do your job
commitMentTowards a goal
Product BacklogsProduct
Management(40 points)
Planned
Plan functions from Product Roadmap and/or
market requests
Prioritize items on business value
Architecture(40 points)
Planned
Plan and prioritize implementations that compliment Product
Management backlog
Plan and implement architecture solutions for
optimizing application performance
Smart Article(40 points)
Planned
Focus on smart-article project requirements
Prioritize items on business value
Quick Stream(40 points)
Unplanned
Primarily designed for handling escalations during
the Sprint
Plan and prioritize small and simple items from Product Management
backlog
Product Backlogs - Challenges
With more focus on building a product, it is tricky to align and prioritize incoming market-specific requests.Solution: One alternative may be to plan market-focused product backlogs
Prioritizing market-specific
requirementsSince quick-stream is an unplanned bucket, planned items are often postponed and tricky to prioritizeSolution: One alternative may be to define quick-stream backlog for handling escalations only
Planning Quick Stream
Backlog
Product Roadmap
Markets RoadmapCL
• Auto-rotation for galleries ad-position after every 3 clicks (WiB-2041)
• New ad positions (WiB-1136, WiB-619)
• Remove ‘h’ from timestamp (WiB-1149)
HUB
• Handling internal links within articles (WiB-1954)
• Make sure HUB stats are not lost in local articles (WiB-1625)
• Make sure category is updated in local markets (WiB-1662)
FR
• Selection of main content-group / topic (WiB-1954)
• Improve overall performance
• Send topic info in ad calls (WiB-2012)
• Add XL/L selection for HTML component (WiB-1659)
• Display all topics pages as links under articles (WiB-1498)
• Most shared teaser
SE
• “Debat” articles• Most-shared teaser• 3/4-column ad-position
on section pages
Handling Escalations -Suggestions
Should be prioritized based upon, may be business impact, probability of occurrence, and political significance
All escalations should be investigated and solved under the “unplanned“ Quick Stream backlog
Should the Quick Stream be empty when an escalation arrives, extra effort may be employed outside working hours depending on the level of escalation and severity of the problem
Project AreasProcess Management - Scrum
Planning and Prioritization
Product Backlog Grooming
Release Management
Service Desk Management
Escalations
Development
Quality & Testing
Architecture
Operations
User Experience
Inspect and Feedback
Project Meetings• Start of every Sprint - Tue• Decide Product Backlog items to be DONE in the upcoming SprintSprint Planning• Once every week - Wed• Groom and prioritize user-stories / use-cases with the objective of making items READY for next SprintProduct Backlog Grooming• Bi-weekly – Tue & Thu• Walkthrough Sprint items and review progress / remove obstaclesStatus Review Meetings• End of every Sprint – Thu• Showcase to stakeholders Sprint items that are DONESprint Demo• End of every Sprint – Thu• Inspect and Feedback on experiences from previous SprintSprint Retrospectives• Once every week – Fri• Define architecture roadmap, design and refine long-term arch. Solutions, setup focus areasArchitecture Meetings• Once every week• Define operations roadmap, setup focus areasOperations Meetings• Once every week – Wed• Involve Datacenter and Roxen for gauging application and server environments’ health and share feedbackHosting Meetings• Once every week – Mon• Improve visibility and collaboration on issues between QA and Dev teamsIssues Forum
Project Roles
Scrum Master
• Darío Morán
Product Owners
• Susana Díaz• Swaminathan
Guru• Armando
Peñafiel
Release Manager
• Swaminathan Guru
Team(Dev, UI, Arch, Ops)
• Darío Morán• Abhay Gupta
Service Desk
• Kapil Dev
Customers
• Chile• Colombia• France• Guatemala• HUB• Mexico• Puerto Rico• Russia• Sweden• United States
Roles Collaboration
Developer-2
Developer-3
Developer-1
Developer-4
Developer-5
Architect
ArchitectDev.Manager+
Architecture
Dev.Manager+
OperationsOpsManager
UI/UX
Product Management
Tester
Tester
ProductOwner-1
QualityAnalyst
Analyst
Analyst
ServiceDesk
Manager
ProductOwner-2
Service Desk
Development
Team @Stigasoft40 YEARS cumulative project experience
Abhay Gupta
Manager8 years
Anil Kumar
Developer3 years
Ashok Pal
Mobile Manager5 years
Nishi Tilara
Developer7 months
Partha Majumdar
Quality Analyst3 years
Pawan Yadav
Developer12 months
Rahul Bhardwaj
Service Desk2 years
Ruchika Gupta
Quality Analyst12 months
Shashank Tiwari
Operations12 months
Shubhra Bhardwaj
Service Desk3 years
Shuvendu Pattanayak
Architect10 months
Siddharth Sharma
Architect3 years
Suresh Kumar
Developer3 years
Swaminathan Guru
Product Manager5.5 years
Varun Agarwal
Developer12 months
Product Management Team
Susana Díaz Armando Peñafiel
Swaminathan Guru
• Create and maintain the Product Backlog• Prioritize and sequence the Product Backlog according to business value or return-on-investment• Convey product roadmap and goals with the Team to keep things on-track• Engage with the customers and stakeholders to ensure building the right product• Collaborate with the development team to ensure building the product right• Assist with elaboration of Epics and features into user-stories to be achieved in a Sprint• Provide clarifications and remove obstacles to ensure the desired functions are carried out
efficiently• Coordinate product launches and decide what functions / features should be released to customers• Provide acceptance criteria and description for user stories. Give UI/UX inputs whenever required• Collaborate with QA-team for supporting creating and approving test-cases. Prioritize and act on
raised issues / bugs• Verify and accept / reject items DONE in the Sprint• Be available at all times to the development team for answering any questions and providing inputs
on product functionality• Understand and evaluate business impact on reported incidents and escalations – both internal
and external• Actively participates in project meetings – Sprint planning, reviews, demos and retrospectives
Process Team (Scrum Master)
Abhay Gupta
Stefan Svensson
• Create and implement Scrum process and ensure the process is accepted and followed• Help Team perform by removing obstacles for the Team and Product Owner• Collaborate between Team and Product Owner• Facilitate project meetings – Daily stand-ups, Sprint planning, reviews, demos and retrospectives• Work with Product Owner to ensure that Product Backlog is always prioritized and READY• Work with the Team and Product Owner for creating the Definition of Done and enforcing its
application• Help development teams to be cross-functional and self-organizing• Ensure that the Team moves at a consistent pace and produce potentially shippable product items
every Sprint• Prevent the Team from external and/or internal distractions or disturbances• Help resolve conflicts• Be extremely approachable by the Team• Conduct trainings and workshops for smooth implementation of Scrum as a process. Preach Agile
Manifesto• Suggest, recommend and provide right software and tools for the Team to function more efficiently• Promote and ensure open communication channels within the Team, and between the Team and
Product Owner
Release Management Team
Dario Moran
Abhay Gupta
Anil Kumar
Shashank Tiwari
Swaminathan Guru
• Create, plan, manage and implement release processes• Create and coordinate release plans and share with stakeholders. Consider
stakeholders’ interests and business needs• Ensure smooth preparation and execution of updates on testing and production
deployments• Continually work towards improving release process• Maintain release check-lists at all times• Brainstorm and implement automation strategies for efficient execution of
production releases• Ensure that release notes and instructions are prepared and sent out prior to
releases• Manage risks and resolves issues that affect release scope, schedule and quality• Measure and monitor progress to ensure application releases are delivered on time
and within the planned window, and that they meet or exceed expectations• Create and maintain release configurations• Encourage continuous integration of builds in testing environments and support
strategies• Enforce that release versioning is maintained while committing builds to production
environments• Develops scripts and automation tools used to build, integrate, and deploy software
releases to various platforms
Architecture Team• Design, develop and maintain applications and related software/tools• Understand product and technical environments, and suggest alternate solutions and
architectures for reaching functional and technical objectives• Support decision-making by preparing documents, diagrams and/or charts for presenting and
sharing solutions ideas and technical workflows with stakeholders• Optimize server, application and DB performance for efficient functioning and user experience• Measure and monitor KPIs for application and server performance in real-time; suggest new
KPIs significant for better monitoring and performance• Identify existing architectural and/or operational bottlenecks and suggest solutions• Manage integrations with CDN and other 3rd party layers• Learn, create and share optimization opportunities, short-term and long-term, with
stakeholders• Automate routine jobs for efficient work-flows• Sync with product owners and development team to understand product development
roadmaps and prepare technical strategies / architectures• Actively conduct and participate in architecture meetings for aligning stakeholders’
expectations with existing architectures and/or build new ones• Investigate and feedback on incidents and problems, reported internally or externally• Efficiently and quickly act on reported escalations• Conduct sessions and workshops for training and knowledge sharing• Share responsibility in improving development, test and production environments• Consistently invest in learning for developing excellent analysis and brainstorming skills• Build knowledge and competencies in the Team
Dario Moran Abhay Gupta
Anil Kumar Shuvendu Pattanayak
Siddharth Sharma Stefan Svensson
Suresh Kumar
Development Team
Abhay Gupta
Nishi Tilara
Anil Kumar
Pawan Yadav
Suresh Kumar
Varun Aggarwal
• Write scalable, readable and efficient web and/or server programs using:• front-end technologies - JS, HTML5, CSS, AJAX, JQuery, XML/JSON• back-end technologies, preferably open-source - XSLT, PHP, Perl, Python, Pike
• Analyse, Groom, Brainstorm and Estimate project requirements and technical solutions• Build and deliver functionality as per the agreed scope, acceptance criteria and release plans• Prepare and deploy product releases in production environments• Track project progress and report status and/or obstacles• Gain knowledge and integrate techniques, like caches, feeds, images, web services etc.• Sync together with architectural and operation teams for gaining insights in ongoing developments and
contribute in development and deployment needs in those areas• Work in sync with Product Owners and QA teams to understand product roadmap and prepare technical
strategies on new architectures and/or reengineering legacy solutions• Seek clarifications and provide inputs for facilitating backlog planning and prioritization• Support QA-team in preparing test-cases and perform tests on delivered project items• Document and diagram solutions alternatives and workflows• Share responsibility in improving development, testing and production environments• Identify and share existing bottlenecks and optimization opportunities• Investigate and feedback on incidents and escalations, reported internally or externally• Provide constructive feedback to help improve development and quality processes• Showcase developed functions and features for in-time stakeholders’ feedback• Conduct training workshops and sessions• Build knowledge and competencies in the Team
Operations Team• Manage and control development, testing and production environments• Plan and manage application and server software installation, upgrades and patches• Review and analyze efficiency of existing applications and develop strategies for improving performance• Automate procedures and operational requests• Prepare and deploy product releases in production environments• Execute, verify and support Tower setups for new COPS markets and sync with DataCenter on related
permissions and configurations. Implement high-availability and DB replication• Facilitate continuous integration (CI) for integrating code continuously and automate build for early
problem detection• Ensure operational efficiency by monitoring server environments and gauging performance on various
factors. Report trends and deviations to stakeholders• Monitor disk-space usages in various environments and suggest needed extensions• Administer operations tools like New Relic• Manage web server (Nginx) configurations and ensure consistent implementation between various market
towers• Act swiftly on reported escalations like downtimes, network outages, broken database replication etc.• Actively participate in operations and hosting meetings• Provide customer support and present technical solutions for reported problems• Perform application tuning, configuration, monitoring, and administration• Analyze custom administrative software requests and present solutions• Optimize application performance through proactive monitoring, maintenance and process improvement• Perform daily application and server monitoring and capacity planning• Enforce and monitor security policies and procedures for software applications
Dario Moran
Abhay Gupta
Shashank Tiwari
Siddharth Sharma
Stefan Svensson
QA Team• Understand, implement and manage QA methodologies and design effective QA processes• Write and execute test plans & test cases• Ensure application quality at all times for all websites and layouts – unit testing, integration testing,
smoke testing, regression testing, sanity testing etc.• Communicate and sync with Product Owners in creating and executing acceptance tests as per the
requirements• Prepare and maintain regressions tests check-lists• Impact and dependency analysis when preparing and executing test-cases to ensure overall
application quality• Gain technical and functional understanding of our systems and contribute in its future developments• Provide feedback on how to improve our applications and tools• Work closely on issues reported by customers and suggest solutions• Support continuous integration by daily updating test environments for early identification and
reporting of issues• Use quality tools for efficient management and reporting• Collaborate with development and architecture teams on identified issues / bugs and ensure smooth
solutioning• Automate tests• Verify and confirm release deliverables and support during production deployment. Monitor releases
and ensure sanity of production environments post-release• Investigate and feedback on incidents and escalations, reported internally or externally• Provide constructive feedback to help improve development and quality processes• Showcase developed functions and features for in-time stakeholders’ feedback
Abhay Gupta
Partha Majumdar
Ruchika Gupta
Siddharth Sharma
UI/UX Team• Write web programming scripts, primarily using frontend technologies - JS, HTML5, CSS2/3, AJAX, JQuery,
XML/JSON
• Support development team in building product functionality
• Design and implement fluid and responsive websites for supporting desktop, tablets and mobiles
• Track project progress and report status and/or obstacles
• Analyze, Groom, Brainstorm and Estimate project requirements and technical solutions
• Create UI wireframes and design mock-ups for exchanging ideas and/or solutions for enhancing user experience and make our applications more user-friendly
• Sync together with architectural and operation teams for gaining insights in ongoing developments and contribute in development and deployment needs in those areas
• Seek clarifications and provide inputs for facilitating backlog planning and prioritization
• Optimize client-end performance for quicker page-load times and rich user-experience
• Help resolve development, technical and functional issues raised internally or externally
• Write documentation and draw diagrams for understanding and sharing of technical solutions for improved decision making
• Share responsibility in improving development and testing environments
• Invest in learning and knowledge of various development frameworks and UI/UX related technologies
• Showcase developed functions and features for in-time stakeholders’ feedback
• Build knowledge and competencies in the Team
Nishi Tilara
Abhay Gupta
Mobile Team
Ashok Pal
• Collaborate with Metro team on successful execution of mobile projects (fixed scope, fixed cost)• Understand business needs for Metro and analyze / groom requirements together with Project Manager• Create UI/UX wireframes and workflows for developing and sharing understanding on how mobile apps /
sites will perform• Identify technical and functional changes and ensure that new mobile-app versions do not impact
functioning for existing users running old app versions• Estimate and prepare schedule and effort plans and share with Project Manager• Design and develop user-interfaces, business logics, APIs etc. for various mobile platforms ( iOS and
Android) based on agreed scope of work• Identify, suggest and implement 3rd party APIs and SDKs• Conduct and be part of all project meetings – grooming, status updates etc.• Continuously involve stakeholders through regular mobile app demos to showcase progress made and
collect feedback / suggestions• Conduct unit and integration tests before submitting apps to the app-stores. Support Project Manager to
verify and approve all implementations on various platforms, OS versions, device sizes etc.• Prepare and submit mobile apps to respective app-stores• Monitor and perform post-launch analysis and activities together with project team• Coordinate and feedback on Service Desk requests on any queries related to mobile apps• Coordinate with COPS development and QA teams for integration support and dependency analysis
Service Desk Team• Question & Answers via Zendesk - Answer & solve “how to” questions, errors reported about COPS platform which includes
WWW, Touch, Apps & all related 3rd party integrations implemented on the website.• Incident / Problem management via Zendesk - Handle incidents / deviations & ensure platform returns to normal or provide a
workaround• Change request management & bug prioritization via Jira - Escalate change requests / bugs to Product team, and move ticket to
Jira for further prioritization.• Software release planning (sprints) & scheduling communication to Metro markets - Communicate release plans to Metro
markets & also send our editorial guides.• Post deployment testing of new functionalities - Though not formally a part of Service Desk support scope, we do post release
testing of functionalities to ensure they are working as intended.• Online / Mobile Advertisement management & troubleshooting - Assist markets with online advertisements, Ad script
implementation & 1st level troubleshooting.• Domain/DNS Management - Manage Metro’s 800 odd domains, register new domains, do paperwork / formalities for registration,
DNS administration – IP pointing, CNAME, MX records etc.• 3rd party integrations - Implement 3rd party scripts like Ads, tracking, special / custom scripts on specific pages (WWW, Mobile)
based on market requirement.• Social Media integration - Implement social apps like Facebook app for commenting, configure social buttons / widgets for
sharing.• Google Analytics, Tag Manager & Webmaster Tool administration - Manage & administer Google Analytics & Google Tag manager
for all markets.• Impart training/education to Online editorial staff on CMS & everything associated with online news portal (WWW + Mobile +
Apps) - Train new staff on COPS – Roxen, Dashboard & all associated tools & products.• Co-ordinate / communicate with 3rd party vendors/suppliers & various stakeholders - Co-ordinate & communicate with 3rd party
vendors like Ad providers, Datacenter, and other external providers involved in implementation of services in COPS platform• New market setup - Help setup new COPS market by gathering requirements, do content mapping / setup / content population,
implement Ads scripts, 3rd party scripts, domain pointing, Google Analytics, Tag Manager, Webmaster etc.• Ticket Reporting & Analytics - Manage & generate ticket reports & share it with online team. Do trend analysis on tickets raised.
Do root cause analysis.• Custom-CSS Skills - Again, though not formally a part of Service Desk support scope, the team has skills to write custom-CSS,
handle CSS issues.
Kapil Dev
Rahul Bhardwaj
Shubhra Bhardwaj
Swaminathan Guru
Metro Service Desk• Service Desk offers a single point of contact for all customer inquiries / requests / issues related to the
Metro International Online business and technical infrastructures.
• Over 5 years Service Desk experience based on ITIL best practices
Roles & Responsibilities
Question & Answers
Incident / Problem / Change
ManagementBug prioritization Service Request
Release communication &
editorial notes
Online Advertisements
Domain / DNS Management
Social Media Management
Google Product Management
Market Education & Setup
Vendor Communication Ticket Reporting
Additional Support Services
Quick-Stream Management
Post deployment testing of new functionalities
3rd party plugin implementations
Custom-CSS Skills
Manage Mobile app administration on
Apple store & Google Play Store
Prepare Editorial user guides
Record description
Incoming email from customer
Type of requestService Request*
Incident*
Classify IncidentCategoryPriority
Business Impact
Assign to Specialist group
Provide solution After resolving
Close Incident
Change Request*
Standard request / Request for information
Customer to provide details
Roadmap?
YES
NO
Queries, Errors, Requests for development and Design is sent to Service Desk email
Target response TimeUrgent: 1hHigh: 4hNormal: 24hLow: 48h
YESNO
The Change is assigned to suitable release or rejected.
Scope (requests) and date for Release is communicated about 2 weeks prior to rollout
1st Time Resolution?
Assign to Release
Rollout = Close Change
Classify ChangePriority
Business impactDetermine cost
Servicedesk Ticket Flow
Requester is informed if the Change was accepted or not.
* See definitions on page 2
Definitions• Service Request: A request from a user for information, or advice, or for a Standard Change or
for access to an IT Service. For example to reset a password, or to provide standard IT Services for a new user.
• Change Request: Requires a change in the existing software, i.e. new functionality (development) or infrastructure (hardware) to be fulfilled.
• Incident: An event which is not part of the standard operation of a service and which causes, or may cause, a disruption to or a reduction in the quality of services and customer productivity.
Products, Tools & Services Supported
• COPS: WWW news portals, Touch sites, Mobile Apps, Dashboard
• WordPress Blog
• www.Readmetro.com & www.issuu.com
• Domain & DNS Management in collaboration with Metro Global IT Team, Regzone & NetNames
• Online Advertisement management & administration
• Google Analytics, Google Tag Manager, Google Webmaster Tool
• Limelight CDN portal administration
• Apple / Android development portal administration & support
• PushIO Portal administration & support (For mobile app push notification)
• Zendesk administration
• Atlassian administration - includes JIRA, Agile, Capture, Confluence
• GoodData for ticket reporting & analytics