applying agile team management
TRANSCRIPT
#Acheivemore
Huan Ho
Cofounder/CTO, Rallyteam
HR WEST 2017Applying Agile Team Management
2
introduction
• Computer engineer, skier / boarder, world traveler
• Tech, telecom, security, consulting, energy
• Startups and large corps
• Co-Founder and CTO of Rallyteam
3
agenda
Why• What does it mean?• Why do we want to be agile?
How • Key principles
What• Applying agile to improve your product and team
4
#Acheivemore
WHY
5
why agile
“relating to or denoting a method of project management, used especially for software development, that is characterized by the
division of tasks into short phases of work and frequent reassessment and adaptation of plans”
what does it mean?
6
why agile
• Quickly adapt and optimize for changing conditions / environments
• Save money, build the right product, innovate faster, stay competitive
what are the benefits?
7
why agile
• NO – Being agile does not mean you need to know C++
• Examples:• Developing people and teams
• Project management
• Software development
• Energy portfolio management
• Starting a company
• Sports
do I have to be a software developer?
8
why agile
example: waterfall vs agile
Waterfall:
Defined deliverables, timelines, roles
Requirements
Implementation
Testing
Deploy
Design
Maintain
9
why agile
Waterfall• Pros: Predictability
• Cons: Lack of flexibility and slow to respond to changes
• Challenge: Software changes so fast, needed a better way to respond faster to new requirements and customer feedback• Now seeing this in other industries and other parts of the business
example: waterfall vs agile
10
why agile
example: waterfall vs agile
Agile:
Incremental, iterative, feedback
Iteration 1
Iteration 2
Etc.
Requirement
Design/Analysis
Implementation
Testing
Deployment
User feedback
11
why agile
Agile• Pros: Flexible and adaptable
• Cons: Unpredictable, need to be comfortable with release a sub optimal product
example: waterfall vs agile
12
#Acheivemore
HOW
13
how to be agile
Agile focuses on …
“Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan”
Agile manifesto drafted in 2001
14
how to be agile
• Scrum• Backlog creation
• Sprint planning
• Daily scrum
• Retrospective
• Backlog refinement
• Self forming teams
methodologies and tools in software
15
how to be agile
• Understand goals/requirements
• Task planning
• Execution
• Feedback
• Refinement
• Repeat
key principles in general
Understand Requirements
Tasks
ExecutionFeedback
Refinement
16
how to be agile
• Spend time with your stakeholders (users, customers, team) to truly understand what it is you are trying to achieve
• Sometimes the goals/requirements will not be totally clear … that’s ok, you’ll be doing multiple iterations
Tip: Be careful to get trapped in “analysis paralysis”. Timebox yourself and move forward.
understand goals/requirements
17
how to be agile
• Based on your goals, create high level tasks
• Break down these high level tasks down into smaller tasks
• Stack rank the tasks based on priority and level of effort (i.e. 80/20 rule, go for the long hanging fruit first)
• Often referred to as “backlog creation”
Tip: Break down the tasks until they can be completed in less than 1 day
task planning
18
how to be agile
• Take items off the top of your backlog and add them to your “sprint”
• A sprint is a defined time period in which you will complete a set of tasks/features and release them to your users for feedback
• Sprints are typically 1 week, 2 weeks, 3 weeks … 4 weeks at most
• Use a Kanban to track your tasks (To Do, Doing, Done)
• As you progress through the sprint, do a check in every morning with the team (daily scrum). Keep this short, talk about:
• What was done yesterday,• What will be done today
• Roadblocks
execution
19
how to be agile
• Meet with your stakeholders, provide a demo of your product and then get it in the hands of users
• Collect feedback from your stakeholders/users and ensure it is indeed achieving their goals
• Questions to ask: what’s working, what’s not working, what can be improved, are we on the right track?
feedback
20
how to be agile
• Based on feedback from your team, review your last sprint and and determine what was done well and what can be improved (retrospective)
• Based on feedback from your stakeholders, review your backlog and add, remove and reprioritize tasks
refinement
21
how to be agile
repeat
22
#Acheivemore
WHAT
23
applying agile
example: to improve your product
Product roadmap
EngineeringCustomer/User
Rallyteam
Weekly Feedback Tasks Prioritized
Implement & DeployUsers Notified
24
applying agile
• Recently needed to develop new reporting features for customers
example: to improve your product
25
applying agile
• Step 1: Understanding their goals and requirements
“We would like a data extract of the number of active users and projects in Rallyteam. We will give this to one of our reporting analysts who will import this into their own reporting tool”
example: to improve your product
26
applying agile
• Step 2: Task Planning
example: to improve your product
27
applying agile
• Step 3: Execution
example: to improve your product
28
applying agile
• Step 4: Feedback
What’s working? What’s not working?
“Our reporting analyst is no longer available, but we can create a pivot table off of the data extract.”
“The numbers are not making sense. We’re seeing duplicate records.”
What are you trying to achieve with these reports?
“We would like to use these reports to identify unmatched users and projects to help staff them”
example: to improve your product
29
applying agile
• Step 5: Refinement
example: to improve your product
30
applying agile
• Step 6: Repeat
example: to improve your product
31
applying agile
• Using Agile to develop your people
• Using Agile to build “Elastic” teams
example: to develop and grow your team
32
applying agile
• Understand career goals
• Conduct gap analysis
• Put together development plan
• Execute development plan
• Bi-weekly touchpoints
• Refinement
• Repeat
example: to develop your team
Understand Team Goals
Development Plan
ExecuteBi-weekly
Touchpoint
Refinement
33
applying agile
• Step 1: Understanding your employee’s goals
• What job would they want to apply for next?
• Look at real job descriptions
• “I think I want to be a … “
example: to develop your team
34
applying agile
• Step 2: Conduct a gap analysis
• Based on the job descriptions identify the common skills
• List the common skills in a spreadsheet and for each skill have the employee do a self evaluation
example: to develop your team
35
applying agile
• Step 3: Development Plan (Task Planning)
• Based on the skills gaps, put together a list of projects/tasks for the employees that will help fill these gaps
• Add these to your development plan/backlog
example: to develop your team
36
applying agile
• Step 4: Execution
example: to develop your team
37
applying agile
• Step 4: Feedback
• Bi-monthly meetings
• Discuss• What was completed?• What is outstanding?• What’s working? What’s not?• Any roadblocks• Is this still inline with your career goals and
expectations
example: to develop your team
38
applying agile
• Step 5: Refinement
example: to develop your team
39
applying agile
• Step 6: Repeat
Benefits:
• Help guide employees down the right path
• Provide clear objectives to promotion and career goals
• Identify the necessary resources to achieving these goals
example: to develop your team
40
applying agile
• Understand company/team goals
• Project/resource planning
• Execute (hire resources)
• Regular feedback from team
• Refinement
• Repeat
example: build an “Elastic” team
Understand Goals
Resource Plan
ExecuteFeedback
Refinement
41
applying agile
example: build an “Elastic” team
Elastic ComputingTraditional Computing
VS
42
applying agile
example: build an “Elastic” team
Elastic TeamsTraditional Teams
VS
43
applying agile
• Constantly expanding and contracting teams depending on workload
• Have a “base” set of full-time employees that are full stack (i.e. jack of all trades) and “A” players
• Have a “variable” set of contractors that come in and help with specific tasks or projects
• Benefits: Cost efficient, higher engagement
• Tip: Have your employees help select which projects/tasks to outsource
• Like cloud computing, you need the technology to help you quickly and easily scale up/down your team
example: build an “Elastic” team
44
rallyteam
your private talent marketplace
45
rallyteam
how it works
Databases Marketing
Others …
Skills / Interests
Contractor/Employee
Need database help
Project
Rallyteam Matches
46
applying agile
Other areas we have applied agile:• Marketing
• Sales
• Product
• Quality assurance
• Support
Challenge: Where can you apply Agile at your organization?
@RallyteamApp
all areas of the business