RubyConf 2022

Boot the backlog: Optimizing your workflow for dev happiness

What would happen if your team dropped that standing Monday morning refinement meeting? Chaos? We often follow work processes because they’re “the way things are done”, but clunky, unexamined processes slow down even talented teams. Never ending backlogs make it hard to feel like you’re making progress. Frequent meetings break up focus. If something about the way we work doesn’t help us move more quickly or effectively, it’s time to rethink it. Seeking a better way to coordinate work across 3 continents, the Workforce.com dev team adopted the Shape Up approach to project management. This talk explores the core elements of that approach and ways to optimize developer happiness while delivering more value for users.

RubyConf 2022

00:00:00.000 ready for takeoff
00:00:16.920 all right so I think we can go ahead and
00:00:19.260 get started um people might trickle in
00:00:22.740 um I want to thank you all for joining
00:00:24.600 me for this talk today my name is Stacy
00:00:28.019 and I'm a full stack developer and the
00:00:31.199 US product team lead at workforce.com so
00:00:34.500 it's kind of in the name but we build
00:00:36.600 workforce management software uh
00:00:39.420 focusing on shift-based workplaces and
00:00:42.420 we do that primarily using Ruby on Rails
00:00:44.579 as our framework
00:00:45.960 so I work out of our Chicago office
00:00:49.020 and I'm really excited to be here in the
00:00:52.200 warm weather of Houston this week I'm
00:00:54.120 just getting the chance to meet other
00:00:55.140 people in the Ruby community
00:00:59.219 so this is Chicago
00:01:02.699 um
00:01:03.780 and I want to get started today with uh
00:01:07.500 two premises that I think we are going
00:01:09.479 to share in common one is that we all
00:01:12.780 want to ship products and features
00:01:15.720 efficiently they're going to deliver
00:01:17.640 value to our users and then two we would
00:01:22.200 love to do that while also providing a
00:01:23.820 great working experience both for
00:01:25.200 ourselves and the teams that we're a
00:01:27.000 part of
00:01:28.560 so these are pretty simple like
00:01:31.680 straightforward goals but they can be
00:01:33.659 hard to achieve there are a lot of
00:01:35.759 external factors that are working
00:01:37.200 against us but we can also end up
00:01:39.659 working against ourselves in particular
00:01:42.479 the processes that we're using to manage
00:01:44.700 our workflows
00:01:46.500 um if left unexamined can actually slow
00:01:49.380 us down and prevent us from delivering
00:01:52.799 as much value as we could so the
00:01:56.159 question then is how can we design our
00:01:58.259 processes to both improve customer
00:02:00.780 outcomes and make for a better
00:02:03.240 day-to-day work experience
00:02:05.340 so I'm of the opinion that good
00:02:08.039 processes are like good design when you
00:02:11.700 have really good processes in place you
00:02:13.319 don't really notice them because they
00:02:14.640 are meeting your needs so well
00:02:18.060 um
00:02:18.780 and the processes at that point are not
00:02:20.819 the focus they are the background
00:02:22.319 structure that helps your team achieve
00:02:24.239 its potential
00:02:25.620 so just for today though we are going to
00:02:27.599 bring the processes to the Forefront and
00:02:30.180 I'm going to share what's worked well
00:02:31.440 for the team that I'm a part of and
00:02:34.440 highlight specific aspects of our
00:02:36.239 workflow that help us deliver value and
00:02:38.580 make for a happier working environment
00:02:40.800 so across the company we use a project
00:02:43.200 management process called shape up for
00:02:45.959 our Feature work so Shape Up works
00:02:48.180 really well for our team but another
00:02:50.760 framework or methodology might be better
00:02:52.860 for the way that your team operates so
00:02:56.280 um instead of pitching an entire
00:02:57.599 overhaul of your current way of working
00:02:59.220 today we're going to explore three
00:03:01.980 common challenges that Dev teams face
00:03:03.980 and the types of processes that have
00:03:06.900 helped us solve them so as I share about
00:03:09.900 the solutions that have worked well for
00:03:11.640 us at workforce.com I invite you to
00:03:14.400 think about your own team processes and
00:03:17.040 consider how they either support or
00:03:18.900 detract from the goals that we're
00:03:20.340 talking about
00:03:21.360 so specifically we are going to be
00:03:23.760 talking about these three challenges so
00:03:27.239 one how can we move quickly as a team
00:03:30.180 whether we're a smaller team or a larger
00:03:32.879 distributed team
00:03:34.560 two how can we make um work more
00:03:37.800 engaging and provide growth
00:03:40.140 opportunities
00:03:41.340 and then three how can we deliver the
00:03:44.159 most value and know that our work is
00:03:46.080 having an impact
00:03:48.060 so
00:03:49.560 um as I mentioned our team uses the
00:03:52.080 shape up methodology for project
00:03:53.459 management Shape Up was developed by the
00:03:56.519 team at a company called Basecamp and it
00:03:59.580 was built to help their remote team
00:04:01.680 continue moving quickly as it quadrupled
00:04:04.680 in size so if you're really interested
00:04:07.280 in what you hear today I would recommend
00:04:10.500 you check out the free shape up guide
00:04:13.920 that was written by Ryan Singer it's
00:04:15.840 available at that URL on basecamp's
00:04:18.299 website but for now we're just going to
00:04:20.579 focus on the core aspects that of the
00:04:22.740 framework that we use at workforce.com
00:04:24.360 and I'm going to share some additional
00:04:26.520 processes that we've implemented that
00:04:29.580 are going to be unique to our context
00:04:31.860 so
00:04:33.240 um that context is we have three offices
00:04:36.300 spread across three continents
00:04:38.880 we work in six week Cycles followed by a
00:04:43.020 two week cool down period and each each
00:04:46.080 six week cycle is set aside for
00:04:48.360 something called shaped work
00:04:51.120 so shaped work starts as a document
00:04:54.479 called a pitch
00:04:56.220 so a pitch includes several key sections
00:04:59.520 a pitch always starts with a problem
00:05:02.540 having a really clearly defined problem
00:05:05.160 is going to make it easier to evaluate
00:05:07.259 the likely effectiveness of different
00:05:09.960 solutions
00:05:11.240 we at this point typically Define who we
00:05:14.759 are solving the problem for in terms of
00:05:16.800 users because that makes it easier to
00:05:19.080 compare the impact that addressing
00:05:21.060 different problems is going to have
00:05:23.000 from here it's really tempting to jump
00:05:25.560 straight into a solution
00:05:28.220 but we instead next to find something
00:05:31.320 called an appetite
00:05:32.940 so the appetite essentially replaces a
00:05:37.259 time estimate for the problem instead of
00:05:40.560 coming up with a solution and then
00:05:43.919 trying to figure out how long it'll take
00:05:45.780 us to build that solution we determine
00:05:48.479 how long we are willing to dedicate to
00:05:51.360 solving a particular problem
00:05:53.360 the really great thing about appetite is
00:05:56.759 that it provides some boundaries for you
00:05:58.740 as you think about Solutions because if
00:06:01.860 you're only willing to dedicate like two
00:06:03.539 weeks to solving a particular problem
00:06:05.340 Your solution is going to look a lot
00:06:07.199 different than if you're willing to
00:06:08.400 dedicate a full six-week cycle
00:06:10.860 so then comes the solution
00:06:13.320 the main details of the solution are
00:06:16.580 considered and outlined in the pitch but
00:06:20.520 there is still room for the designers
00:06:22.800 and developers actually building it to
00:06:25.139 apply their own expertise
00:06:27.600 so the two elements of the shape up
00:06:29.940 process that help you come up with a
00:06:32.460 viable but not too like concrete
00:06:35.880 solution are fat marker sketches and
00:06:39.300 Tech scoping
00:06:40.800 so in a pitch instead of including a
00:06:43.919 high fidelity mock-up of what we want to
00:06:46.319 build we will include a sketch of the UI
00:06:50.400 drawn with a marker have you ever drawn
00:06:52.500 with a marker you know there's only so
00:06:54.120 much detail that you can get in there
00:06:56.300 and that is what's going to allow that
00:06:58.860 flexibility for your designers and your
00:07:00.780 developers to figure out what this
00:07:03.479 solution could look like once they get
00:07:04.979 into the code
00:07:07.139 um and then with fat marker sketches you
00:07:09.000 also avoid the situation in which you
00:07:11.699 might have a really beautiful High
00:07:13.380 Fidelity mock-up but it's not achievable
00:07:16.139 in the time frame that you're working
00:07:18.419 with
00:07:19.680 so once a solution has been outlined
00:07:23.039 um we have a member of the dev team Tech
00:07:25.440 scope it and that means they're going to
00:07:27.780 take some time to consider the
00:07:29.160 feasibility of the solution from a
00:07:31.199 coding perspective they're going to
00:07:33.720 address questions like is this
00:07:35.639 achievable within a given time frame are
00:07:38.639 there a lot of unknowns that we have or
00:07:41.280 is it pretty clear-cut
00:07:43.080 so once the pages are created
00:07:45.900 they move into something called the
00:07:48.539 betting table so the betting table is
00:07:50.819 made up of the team leads from all of
00:07:53.340 our teams in the office so that's going
00:07:54.840 to be your product team sales
00:07:57.139 implementation for us and they gather
00:08:00.300 about two weeks before our new cycle
00:08:02.099 starts
00:08:03.120 so everyone has had the chance to review
00:08:05.039 the current pitches so we're on the same
00:08:07.020 page and we will talk through how to
00:08:09.840 prioritize the work and which pitches we
00:08:12.960 want to set aside so it's kind of in the
00:08:16.020 name of the talk but when we set aside
00:08:17.880 those pitches they don't go into a
00:08:19.800 backlog and we're going to talk more
00:08:21.780 about why that is in a bit
00:08:24.060 so from here the selected pitches go
00:08:27.300 through a process called handoff this is
00:08:29.280 usually like a one day or a half day
00:08:31.199 activity uh when the dev team members
00:08:34.320 who will actually be working on the
00:08:36.060 pitch get the chance to read through it
00:08:38.520 start exploring the related code
00:08:42.020 outlining steps that they know they're
00:08:44.219 going to need to take to actually build
00:08:45.899 it and then have a chance to chat with a
00:08:48.839 product manager or whoever was working
00:08:50.700 on the pitch to answer any
00:08:53.580 um any questions that might have come up
00:08:55.620 for them
00:08:58.200 so uh then the building starts and will
00:09:03.240 continue for the next six weeks we do
00:09:06.180 not wait for a release date at the end
00:09:08.339 of the cycle we are shipping
00:09:09.720 continuously during the six week period
00:09:12.660 and after the six weeks we move into
00:09:14.940 that cool down period which is mostly a
00:09:17.760 self-directed time for developers and
00:09:20.519 we're going to talk more about that as
00:09:22.500 well
00:09:24.180 so now that we've run through the core
00:09:26.459 elements of the shape up process we're
00:09:27.959 going to go back to those three
00:09:28.980 questions that we started with
00:09:30.959 um beginning with how can our processes
00:09:33.360 help us move more quickly
00:09:35.820 so to be successful in the market we
00:09:39.660 have to move at a pretty steady pace and
00:09:41.880 this can be challenging for smaller
00:09:43.680 teams that are competing against much
00:09:45.600 larger teams and for larger teams that
00:09:48.420 are trying to coordinate maybe across
00:09:49.920 different time zones or different ways
00:09:51.480 of working
00:09:52.740 so we encounter both of those challenges
00:09:55.860 at workforce.com so we need a way of
00:09:59.100 working that's going to let us amplify
00:10:00.720 our work both as a smaller team and as a
00:10:03.480 larger team working across in different
00:10:06.300 countries
00:10:07.440 so for context we have seven developers
00:10:11.220 in our us team one is a hybrid designer
00:10:15.180 developer and then we also have a US
00:10:18.000 product manager so I say we're a smaller
00:10:21.480 team but size is relative you might be a
00:10:25.980 smaller team with 30 people if you are
00:10:28.500 competing against other players in the
00:10:30.300 industry who have maybe two or three
00:10:31.980 times at many staff but regardless of
00:10:35.459 the size of our team we all want to make
00:10:36.899 the most of our resources and the time
00:10:39.180 that we have
00:10:40.320 so one way that we have found to make
00:10:44.279 the most of that time is by carving out
00:10:46.860 these larger chunks of undistracted
00:10:49.320 really focused time for Developers
00:10:52.500 so one of my favorite books that I've
00:10:55.680 read recently is called Deep work it is
00:10:58.019 by Cal Newport he's a Georgetown a
00:11:01.920 computer science professor and in the
00:11:04.800 book he describes the value of being
00:11:07.860 able to focus on a cognitively demanding
00:11:11.160 task
00:11:12.440 for a longer period of time without
00:11:16.019 distractions so he argues that this type
00:11:19.800 of deep work is not only going to boost
00:11:22.440 your productivity but it's actually
00:11:24.360 going to energize you which can make the
00:11:27.360 work experience a lot more meaningful
00:11:29.040 and fulfilling
00:11:30.480 so there are three things that we've
00:11:33.060 found provide more space for deep work
00:11:37.560 one is that we've established the
00:11:39.839 understanding with other teams in the
00:11:41.640 office that once a Cycle's work is
00:11:43.800 selected that's what the dev team is
00:11:45.660 going to be working on
00:11:47.339 so together we have agreed that this is
00:11:50.279 the most important work the team can be
00:11:53.160 doing and we don't want to distract them
00:11:55.019 from it we can always change course
00:11:57.300 again in six weeks and this cross-team
00:12:00.660 agreement is a benefit that comes out of
00:12:03.480 the betting table
00:12:05.040 so being able to focus exclusively on a
00:12:08.519 specific project sounds great but in
00:12:11.820 reality there's going to be unexpected
00:12:13.320 things that come up during that time so
00:12:15.959 we need a way to handle those
00:12:18.240 a lot of teams that use shape up uh also
00:12:22.260 you implement something called a
00:12:24.000 reactive team and this team is
00:12:26.519 responding to those unexpected
00:12:28.320 opportunities and needs so at
00:12:31.800 workforce.com we have one to two team
00:12:34.500 members rotate through this reactive
00:12:36.540 team so that the rest of the team can
00:12:40.140 have that really focused time on the
00:12:42.180 planned work and we found this to work
00:12:44.459 really well
00:12:46.440 so uh third way we look for ways to
00:12:50.399 reduce standing meetings so this is the
00:12:52.980 calendar of one of my co-workers it is
00:12:55.200 pretty typical for our individual
00:12:56.940 contributors
00:12:58.800 um the team is mostly self-directed in
00:13:01.800 setting their own meetings and for some
00:13:04.320 projects it is more useful to have those
00:13:07.800 regular meetings with your stakeholders
00:13:09.360 but oftentimes meetings can be
00:13:11.459 asynchronous Communications
00:13:14.160 um but then when you introduce async
00:13:16.200 Communications there are a lot of
00:13:17.700 different platforms that you can do that
00:13:18.959 on so you might have email you might
00:13:21.240 have gr tickets you might have like
00:13:23.880 direct messaging and it can require
00:13:26.279 frequent context switching to move
00:13:28.440 between those platforms so to try and
00:13:31.740 limit the context switching that our
00:13:33.779 team and especially our Dev team members
00:13:35.940 have to do members of other teams at our
00:13:39.180 company so product management
00:13:41.120 implementation have learned to use
00:13:43.500 GitHub so that they can comment directly
00:13:46.139 on the relevant PRS and so that has the
00:13:50.519 added benefit of we have most of the
00:13:52.560 information around a particular feature
00:13:55.079 in one spot for future reference
00:13:59.160 so um that is kind of like how a small
00:14:03.000 smaller team operates
00:14:05.100 um but what do you do when you're a
00:14:06.959 larger distributed team
00:14:09.600 uh because you when you're working
00:14:13.440 um with a larger distributed team like
00:14:15.360 you might run into merge conflicts and
00:14:17.519 people have different ways of operating
00:14:19.680 so how can you find alignment with that
00:14:22.380 so there are two things that we have
00:14:25.440 found helpful
00:14:27.000 uh one is having that predictable start
00:14:31.139 and end dates to the shape Cycles allows
00:14:33.540 us to align our schedules across our
00:14:35.639 offices and this is especially valuable
00:14:38.279 as we are choosing what we want to work
00:14:40.500 on so that we don't end up making
00:14:43.139 significant changes to the same area of
00:14:45.839 the code base
00:14:47.100 and then two we have that shared rhythm
00:14:50.339 of six weeks of shaped work two weeks of
00:14:53.040 cool down uh but the way that the
00:14:56.160 individual teams use that time is left
00:14:58.980 up to the individual offices and then
00:15:01.800 project teams within those offices so
00:15:04.500 that people have flexibility in choosing
00:15:06.899 a way of working that really suits them
00:15:12.060 so if you're starting from a point where
00:15:14.639 team members have these larger chunks of
00:15:17.040 undistracted Time how do you make that
00:15:19.440 time really engaging and productive
00:15:22.040 you've probably heard of the term Flow
00:15:24.660 State it refers to times when you're
00:15:27.600 really when you're fully immersed in a
00:15:29.820 task you're not struggling
00:15:32.160 um to focus on the task at hand you're
00:15:34.320 not struggling against self-referential
00:15:36.480 thoughts
00:15:38.100 um you're just really focused and if
00:15:39.959 you've experienced this uh type of Flow
00:15:43.199 State you know that it's a really
00:15:44.579 productive sometimes even fun place to
00:15:47.519 be in and it ties back to that idea of
00:15:50.220 deep work that we are talking about
00:15:52.279 where your work is really engaging
00:15:55.260 so for me achieving a flow State can be
00:15:59.160 difficult so I want to set myself up to
00:16:01.500 focus as best I can
00:16:03.360 in learning about Flow State I came
00:16:05.699 across the author Stephen Cotler who is
00:16:09.540 known for his research into Human
00:16:11.220 Performance and the factors involved in
00:16:14.160 achieving this Flow State
00:16:16.380 so he says that we are more likely to
00:16:18.480 experience a high level of focus and
00:16:21.000 engagement when the task that we are
00:16:22.980 working on is just a touch harder and
00:16:26.760 more challenging than our current skill
00:16:28.500 level
00:16:29.220 so that's our ideal state but in reality
00:16:32.519 we're often tackling work that we've
00:16:34.800 never done before that stretches us a
00:16:37.560 lot further than our current skill level
00:16:40.259 so this can be particularly true for
00:16:42.420 people who are just starting out in
00:16:44.339 their software development career or
00:16:46.980 just joining a new team
00:16:49.440 at workforce.com we have hired people
00:16:52.980 who are fresh out of boot camp and fresh
00:16:55.139 out of computer science programs we are
00:16:57.720 also a growing team which means we've
00:16:59.820 onboarded a number of new people in the
00:17:02.279 past year so we are often working on
00:17:05.160 projects that stretch us and we need a
00:17:07.799 way to try and close this skill to
00:17:09.839 challenge ratio so that the team is
00:17:12.120 going to feel engaged and is making
00:17:13.799 progress and they're not feeling stuck
00:17:15.959 and like they're just spinning their
00:17:17.220 wheels so we can't typically make a task
00:17:20.280 any easier but we can help the team
00:17:23.220 level up their skills
00:17:26.459 so one way that we've done this at
00:17:28.439 workforce.com is to build an
00:17:30.299 opportunities to work in pairs in small
00:17:32.580 groups this is going to provide you with
00:17:34.740 that context or provide you with someone
00:17:37.620 else who has the same context as you
00:17:39.539 which is going to be really valuable
00:17:41.760 when you need to bounce ideas off
00:17:43.740 someone
00:17:44.700 and as you're working closely with other
00:17:46.500 people you are learning other ways of
00:17:49.260 solving problems you are learning how to
00:17:52.320 communicate more challenging technical
00:17:54.960 Concepts and ask really precise
00:17:57.179 questions which is going to be a skill
00:17:59.220 that benefits you at any level
00:18:02.820 um and this type of paired working has
00:18:05.340 been especially helpful as we've
00:18:08.160 onboarded new team members every member
00:18:11.340 of your team regardless of their skill
00:18:13.020 level is going to have more experience
00:18:14.880 with your processes and your code base
00:18:17.100 than someone who's coming in fresh so
00:18:20.039 they can really help newcomers ramp up
00:18:23.100 we've found that working in at least
00:18:26.220 pairs on our shaped work has the added
00:18:28.919 benefit of making it easier to get
00:18:30.900 timely code review because you have
00:18:33.660 someone else who has the same contacts
00:18:35.520 so they can offer that relevant feedback
00:18:37.380 more easily and they have an equal
00:18:39.480 investment in moving the work forward
00:18:42.539 so along with Hands-On learning we've
00:18:45.240 found it valuable to set up
00:18:47.760 a set aside specific times for skill
00:18:51.360 building as I mentioned earlier the last
00:18:54.240 few weeks of every cycle uh are our
00:18:58.260 cooldown period and the cooldown period
00:19:01.500 as I mentioned is
00:19:03.240 um
00:19:03.780 more developer driven meaning that team
00:19:06.480 members can choose how they spend that
00:19:08.820 time and for newer does it can be an
00:19:12.059 opportunity to build skills and
00:19:15.179 knowledge that are that they know they
00:19:16.860 will need for the next cycle maybe take
00:19:19.260 a course pick up a bug fix that's going
00:19:21.539 to expose them to a new area of the code
00:19:23.700 base and then for the more experienced
00:19:26.340 members of the team it offers a chance
00:19:28.919 to work on projects that they find
00:19:31.140 personally interesting and exciting and
00:19:34.679 I really enjoy seeing what people take
00:19:36.419 on during cooldown a lot of team members
00:19:39.720 will experiment with like proofs of
00:19:41.760 concept for like new ways of doing
00:19:43.320 things someone built a QA tool recently
00:19:46.799 that is benefiting both our product and
00:19:48.720 our implementation team
00:19:51.600 and the results of this South German
00:19:54.840 learning can then be Amplified when we
00:19:57.299 share what we learn with the team and
00:19:59.460 there are a couple ways that we do that
00:20:00.840 one is that the US product team will
00:20:03.419 take two Retreats every year we treat
00:20:06.059 these kind of as many conferences so
00:20:08.940 everyone on the team will prepare a
00:20:11.940 lightning talk of around like 10 minutes
00:20:13.940 on a topic related to our Tech stack so
00:20:17.820 they are getting the chance to kind of
00:20:19.140 dive in deep and then they're sharing
00:20:20.760 that with their co-workers
00:20:23.400 and it's a really great way to highlight
00:20:25.559 the value that everyone brings to the
00:20:27.419 team because we all have our different
00:20:29.160 interests and our different areas of
00:20:31.140 expertise
00:20:32.580 along with the Retreats uh every two
00:20:35.340 weeks we will have an organization-wide
00:20:37.799 engineering talk these are video chats
00:20:40.980 that are more specifically focused on
00:20:42.840 our code base and it might be one to two
00:20:46.620 people presenting on a technical
00:20:49.020 challenge that they've solved how they
00:20:51.600 have approached it it might be best
00:20:54.480 practices for using a new tool that
00:20:56.880 we've added and we found this especially
00:20:59.580 useful as the offices have grown because
00:21:03.059 it's a way of sharing that institutional
00:21:04.799 knowledge that you can't really get
00:21:06.840 anywhere else
00:21:08.340 so
00:21:09.780 um we've explored some of the practices
00:21:11.160 around engagement and upskilling
00:21:14.220 um we're going to move on to talking
00:21:15.539 about how those process how our
00:21:18.000 processes can help us deliver the most
00:21:20.880 value that we can for our users
00:21:23.460 so there are always going to be more
00:21:26.280 opportunities to add value than we have
00:21:28.559 time for so we need a way to kind of
00:21:32.159 compare and prioritize them
00:21:35.280 so when we consider adding value you can
00:21:38.340 think about it in terms of effort and
00:21:40.320 impact when we are at the betting table
00:21:43.140 we focus on taking big bets and knocking
00:21:46.860 out those easy wins and then we're also
00:21:49.260 looking for ways that we can get
00:21:51.480 customer feedback early so we're making
00:21:53.520 sure we're staying on the right course
00:21:56.520 so one example of a big bet that we took
00:22:00.179 recently
00:22:01.559 um was earlier this year we decided to
00:22:04.140 entirely rebuild our mobile app
00:22:06.380 our app was originally built using react
00:22:09.419 native but the US team spent a couple
00:22:12.299 Cycles recreating the app in rails and
00:22:15.179 then we added Hotwire for that layer of
00:22:17.940 interactivity
00:22:19.320 so it's an interesting case study
00:22:21.299 because we could have spent that time
00:22:22.740 adding new features instead of changing
00:22:25.679 up our Tech stack but we took the bet
00:22:28.080 that adding hot wire would make it would
00:22:31.260 make us more competitive in the long run
00:22:33.419 because we'd be able to ship more
00:22:35.520 quickly as a team and then get the
00:22:38.460 updates in the hands of our users faster
00:22:42.299 so the mobile app rebuild highlighted
00:22:45.480 for me the ways The Shape Up methodology
00:22:48.059 makes it easier to identify the most
00:22:50.640 important work to be done and then
00:22:52.440 actually ship that work
00:22:54.299 so to begin we knew this we didn't want
00:22:57.360 the mobile app rebuild to be an extended
00:22:59.539 uh project and the appetites for the
00:23:03.000 various features in the mobile app
00:23:04.320 reflected that
00:23:05.940 to limit time investment we initially
00:23:08.700 focused on achieving parity so we
00:23:10.980 weren't adding like new bells and
00:23:12.480 whistles
00:23:13.880 and setting an appetite really uh helps
00:23:18.900 us focus and you know helped us focus on
00:23:21.000 delivering value because
00:23:24.059 it builds in checkpoints for making sure
00:23:26.700 that what you are working on is still
00:23:29.340 going to be useful for your users if
00:23:32.280 something doesn't get done within the
00:23:33.960 given appetite we don't work on it by
00:23:36.900 default in the next cycle it has to go
00:23:39.780 through that pitching and betting
00:23:41.340 process again where it's going to get
00:23:43.320 compared against other opportunities
00:23:45.059 that have come up
00:23:46.700 and that means that we do not maintain a
00:23:50.520 backlog each cycle is going to start
00:23:53.580 with a clean slate
00:23:56.280 so for devs that means there's not a
00:23:58.860 long list of unrelated tasks at the back
00:24:02.700 of your mind that are competing for your
00:24:04.440 attention
00:24:05.360 compared to what you're currently
00:24:07.200 working on and there's a really clear
00:24:09.240 goal line at the end of each cycle that
00:24:11.460 makes it easier to track your progress
00:24:14.159 the mobile app also reflected the
00:24:17.580 importance of iteration in delivering
00:24:19.919 value
00:24:21.059 so iteration is not unique to the shape
00:24:24.179 up process but it is really baked in
00:24:27.000 uh Shape Up encourages focusing on
00:24:29.940 vertical slices of work so that your
00:24:33.120 users can get the basic job done the
00:24:36.480 common example is if your user is trying
00:24:38.940 to get from point A to point B you might
00:24:42.299 ultimately want to build in a car but
00:24:44.039 you start by building them a skateboard
00:24:46.140 so that while you're building them the
00:24:48.480 car they can still get that basic job
00:24:50.580 done
00:24:51.960 so for the mobile app work iteration
00:24:54.539 meant focusing on parity so that our
00:24:57.840 users could at least accomplish the same
00:24:59.580 tasks as they could with the old app we
00:25:03.299 tried to strip in vertical slices
00:25:05.419 because of the benefits it provides so
00:25:09.419 one it allows you to get feedback from
00:25:14.039 your actual users on the first iteration
00:25:16.740 before you move on to the second one and
00:25:19.440 then two since you've built something
00:25:21.059 that is a complete unit of work you have
00:25:24.419 the freedom to move on to something else
00:25:26.820 should another opportunity come up
00:25:28.919 that's going to be more valuable for you
00:25:32.940 so for our team we chose to iterate a
00:25:36.299 second cycle and we were able to inform
00:25:38.520 our decisions in that cycle based on
00:25:40.559 feedback that we collected from the
00:25:42.419 actual product
00:25:44.460 so you now know the basics of the shape
00:25:47.820 up process you identify problems you
00:25:51.480 pitch Solutions and then you bet on the
00:25:54.419 most valuable problems to solve and
00:25:56.940 you've also heard about what's worked
00:25:58.380 well for us at workforce.com
00:25:59.900 particularly ways that we are trying to
00:26:02.039 shape our processes around moving
00:26:04.200 quickly
00:26:05.120 building an engaging work environment
00:26:07.740 and then prioritizing the most important
00:26:09.900 work
00:26:10.679 so I am hoping that this has maybe
00:26:12.840 sparked some thoughts for you about your
00:26:14.940 own work experience and maybe
00:26:17.460 highlighted some opportunities to try
00:26:19.440 something new or maybe rethink something
00:26:21.240 that isn't working as well
00:26:23.700 and going back to that idea that we
00:26:25.440 started with
00:26:27.120 um the processes are meant to be the
00:26:29.520 background they're not our focus when
00:26:32.640 you boil down what our work is our work
00:26:35.580 isn't about following a particular
00:26:37.460 methodology it is about the people that
00:26:41.279 we are working with the people that we
00:26:43.740 are building our products for and that
00:26:46.440 shared big picture goal of delivering
00:26:49.260 value while having a pretty pretty
00:26:51.900 enjoyable time doing it thank you
00:27:00.179 and we do have a table in the food room
00:27:03.720 I'm not sure what it's called
00:27:05.700 um so if you want to come by and talk
00:27:07.200 more I'd love to chat with you and we
00:27:10.260 have quite a few members of our team
00:27:11.580 here so if you want another perspective
00:27:13.340 on what the shape up process is like you
00:27:15.900 could chat with one of them
00:27:22.740 um we have a couple minutes so does
00:27:24.299 anyone have any questions
00:27:26.880 that's a great question and so
00:27:29.279 um he asked like with our reactive team
00:27:31.500 how do we Define what the reactive Team
00:27:33.480 Works on versus what is going through
00:27:35.400 the pitch process
00:27:37.020 so we have actually been having an
00:27:39.659 internal discussion about this recently
00:27:42.299 um we are
00:27:44.400 trying to uh
00:27:46.679 make the reactive team kind of exclusive
00:27:49.020 to work that we don't anticipate so it
00:27:52.860 might be an opportunity that we didn't
00:27:55.200 know about at the beginning of the cycle
00:27:58.440 um or maybe there is a way that we can
00:28:01.500 improve a future that a customer like
00:28:03.360 told us about
00:28:05.100 um and kind of saving it for that type
00:28:06.960 of work
00:28:08.820 uh so the question is uh what if you're
00:28:11.640 working on something that is going to be
00:28:13.380 longer take more time than a six-week
00:28:15.659 cycle uh do we always stick to that six
00:28:18.179 weeks so the way we approach larger
00:28:21.179 pieces of work
00:28:22.740 um the mobile app is kind of an example
00:28:24.360 for that we look for ways that we can
00:28:27.299 take something big and break it down
00:28:29.640 into smaller vertical slices so and ship
00:28:34.620 things kind of incrementally
00:28:37.500 um so that we can still accomplish those
00:28:41.580 those big bets uh but not necessarily be
00:28:46.140 tied up in it and overly committed to
00:28:49.679 something because there's always the
00:28:51.120 possibility that we're going in a
00:28:53.279 direction
00:28:54.779 um and something could change the value
00:28:56.940 of that direction so we want to be able
00:28:58.620 to remain flexible
00:29:00.360 all right um any other questions
00:29:04.860 awesome well thank you all for coming
00:29:06.900 today I really appreciate it