Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Pasadena
January 16, 2020
Christopher Yang
Vice President of Engineering, Corporate Travel Management
Make Agile Your Own: Adapt It To Succeed In A Client-Centric Environment
Christopher Yang• PMP, PgMP, PMI-ACP, PMI-RMP, ICP,
ICP-ACC, CSPO, CSM, ITIL, CPM, PAL
• MBA, MSISE, MSCS from USC
• Vice President of Engineering, Corporate
Travel Management (ASX:CTD)
• Member and Contributor, Forbes
Technology Council
• Member of Outreach Committee and
Investor, Tech Coast Angels
2
Agenda
3
Agile in Software Development
Agile Adoption Challenges in Profession Services
Client-Centric Agile Enterprise Framework
Best Practices for Maximum Return
Q&A
Agile Software Development
More engineering teams have moved away from the traditional waterfall
methodology and toward the flexibility that an agile framework offers.
Agile embraces:
– Incremental and iterative development
– Shorter release and iteration planning cycles and adaptation
– Ongoing alignment with company goals and customer needs
Challenges in Professional Services
Although an agile approach yields many benefits, it also comes with
certain limitations when directly applied in a client-facing environment:
• It can be difficult for clients to adapt to new work models.
• Implementing agile practices can be challenging and less
appealing to clients who have long been influenced by the plan-
driven waterfall model.
• Clients don’t always know what they want.
• It may be counterproductive for development teams to focus solely
on delivering against a fixed-cost contract.
Three Principle Layers:
Client-centric Agile Enterprise Framework
Project Portfolio Management
Project Delivery
Iteration Management
Flexibility
Project Portfolio Management
The primary objective of project portfolio management is to align
business goals with execution.
– Related projects from the same client should be grouped into
a single project portfolio to establish a value stream with a
single backlog and intake process.
– All projects and maintenance work should be forced ranked,
creating clear priorities for the team.
Project Delivery
This middle level connects all the pieces of a project’s release, from project
intake to requirement analysis to development to deployment.
– Collaboration with stakeholders is a key part of this stage and therefore
requires a work model that is flexible enough to all parties.
– For clients used to working within the safe confines of a plan-driven
waterfall methodology, some longer-range planning, such as fixed-
scope release planning, may be necessary to offer them the
appropriate level of confidence.
Iteration Management
The bottom layer, iteration management, is the part of the agile
framework that focuses on planning, execution, and leadership
during timeboxed iterations.
– The team must effectively engage clients, solicit constructive
feedback, and concentrate on the work that is the most likely
to generate the most value.
Align Resources Within Each Portfolio
During the project portfolio management phase, align your resources within
each portfolio. Assigning dedicated teams to work on a portfolio consisting of
projects with similar technical domains minimizes switching costs.
– Any developer can then take on a task with a minimal learning curve.
– Doing this not only allows senior management to effectively balance
efficiency with resource utilization but creates resource and cost
transparency, all the way to the client level.
Use OKRs to Measure Team Performance
Using Objectives and Key Results (OKRs) can help leadership set
goals for each portfolio team.
– OKRs not only help establish priorities, but they can also
track progress.
– Although goals are generally set by management,
implementation details are left to the team, which determines
the most sensible approach to take.
Include Account Managers on Agile Teams
Including account managers on agile teams can be extremely beneficial.
– As a part of the agile team, account managers can act as clients/product owner and provide real-time feedback during development.
– Incorporating an account manager can help enhance the structure and boundaries between clients and the developmental team, which yields in an increase in positive results.
Behavior Driven Development Example
Feature: Add an item to an online shopping cart
Scenario: User clicks to add the item to the cart,
Given: The user is on the product detail page
AND is signed into the user’s account
When: The user selects a product size, color and quantity
AND clicks the “add to cart” button
Then: The item is successfully added to the shopping cart
AND the user receives a notification
Be Flexible About the Work ModelsTraining and educating clients on agile methodologies can be quite challenging,
especially when working with time constraints.
– Agile teams must remain flexible concerning the structure they use to deliver the project while keeping the core product development in Agile.
– At times, adopting a hybrid approach can be optimal. For example, the product development team could run effective sprints to research, design, build, and test new functionalities while the implementation team focuses on systems integration and executes against more predicable milestones and timelines.
Provide Transparency Into Projects
Clients want transparency from the start. No one likes surprises.
• When communicating to the clients, speak in their languages. For
example, the teams could normalize and convert agile estimates
such as story points or ideal days to standard time intervals.
• Use functional work breakdown structure, earned business
value metrics or epic burndown charts to communicate project
statuses.