Posted on

Agile at a Large Enterprise

I’ve spent the last few years consulting at a large enterprise retailer that has traditionally managed IT projects using a waterfall methodology.  It made sense—being so large, the company is very silo’d with separate IT departments for different functions and a strong business operations team that constantly gets feedback from the field. A structured requirements and design process with very specific scope was a necessity, as budget was allocated to “projects” at the beginning of each year.

But a few months ago, some of the IT leadership started to push for projects in the new year to be managed with an agile methodology (which included the teams that we were working with). I had a lot of doubts as to whether this would work or not, mainly due to the size of the organization and because only a portion of IT was to use agile.

Some of our team members have had experience with agile in smaller organizations, usually startups, but this is a different beast. As one of my friends often jokes: “Agile is just waterfall without requirements and design.” I thought that’s what it was going to be, but a couple of months in, our progress has exceeded my expectations.

Early Going

The first few weeks of the project I tried to keep a positive attitude, but was definitely cautious about how this was going to turn out. Some of my initial questions about how things would work were:

  • What was going to happen when we needed some data modeling work from a team that didn’t use agile?
  • How is testing going to work when there’s an entire department dedicated to QA?
  • How will non-project work, like production issues or helping other teams, be integrated into the process?
  • How will deployments work with continuous integration? We can’t just deploy to every retail store in one day (current process take 6 weeks to get everywhere), so how often are we going to have production deployments and how quickly will they roll out?

Within the first few days my skepticism grew. What’s with all of these meetings? We really need 4 to 8 hours for sprint planning? AND we’re going to spend hours preparing for and doing a demo at the end of each sprint. How does that make us more productive if we’re spending all of this time in meetings?

What’s Worked

Here are a few things that our team has figured out so far:

Since those first couple of weeks, we’ve learned and have grown a lot as a team. I wouldn’t say we’re functioning at our peak yet, but I think things have worked out better than I expected.

  • We had 2 solid weeks of Sprint 0 to start the project to complete tasks such as: environment setup, build setup, high level design documentation, etc. We didn’t complete everything, but it definitely set the project up for success and we really hit the ground running on Sprint 1.
  • The first sprint planning meeting was a long and tedious process, but since then we’ve all become more efficient and comfortable with the discussion.
  • It’s so much easier to see what everyone is working on and the progress we are making (a project manager’s dream). We’ve been using Jira to manage user stories and sub-tasks, which has some limitations and sometimes causes frustration; but generally it gets the job done.

Some Growing Pains

Here are some of the pain points we’ve encountered that we’ll look to fix in the upcoming months:

  • One week almost the entire team was at a local developer conference and was out three days. We tried estimating this during the sprint planning meeting, but we underestimated what impact this would have. When this happens again—like around 4th of July—we’ll be more prepared to estimate properly.
  • As expected, relying on teams and departments external to the project has been challenging. While we try to drive each user story to completion by the end of the sprint, the other teams are on their own timeline and often don’t prioritize helping us because it’s not their project.
  • Recently there’s been some last-minute requests from outside teams that require work and time from our team members. These aren’t included in the sprint user stories, so how do we track these? And how will they impact our burn rate? We talked about adding them as tasks so that we can at least compare our burn rate across sprints (e.g. one sprint we have two non-project tasks and the next sprint we have six non-project tasks). We’ll need to figure this out.

What’s Next

I have no doubt that we’ve been successful because of the strength of all of the team members. We’d probably be just as productive using waterfall methodology too, but the fact that everyone has picked up the changes so quickly and effectively is a testament to the talented team members we have.

It will be interesting to see how our first production deployment goes in a few weeks and how much time is spent on that versus other user stories. I’m looking forward to a retrospective in a few more months to see how we’ve progressed.

Posted on

Sloan Sports Analytics Conference

One of the benefits of working for BlueFletch is that everyone is urged to take training and go to conferences for things that interest them. A couple of months ago some of my peers chose to go to the Robots Conference (and, quite frankly, I was pretty jealous – building awesome Robots…I WANT TO DO THAT!). I made the decision a few months ago to attend the Sloan Sports Analytics Conference in Boston.

For those of you that aren’t familiar, the Sloan Sports Analytics Conference (SSAC) is a yearly event coordinated by MIT and sponsored by ESPN to get together all of the analytical minds in the sports business.  Nine years ago, it started out as a very small event on MIT’s campus, but has since grown into a 3000+ attendee conference.

My main goals going into the conference were:

  1. Learn about new and emerging technologies that are being used in the sports landscape, especially as they relate to mobile
  2. Gain more insight into the sports I love to follow
  3. Relate any sports management and sports team experiences to my role as a technology leader

Innovators and Adopters

The first session on the agenda was called Innovators and Adopters. It had a great panel:

  • Stan Van Gundy – ESPN NBA analyst and former NBA coach
  • Shane Battier – former NBA player and 2-time NBA champion with the Miami Heat
  • Daryl Morey – GM of the Houston Rockets and founder of SSAC
  • Michael Lewis – bestselling author of Moneyball and The Blind Side
  • Jackie MacMullan – ESPN.com writer and former Boston Globe writer

The conversation started talking about how much coaches should tell their players about analytics and why they are making certain decisions.  Michael Lewis talked about how NBA and NFL players are very articulate and smart; much more so than MLB players.  He said something like, “MLB players job is to shut your mouth, stand in the outfield…and don’t get so bored that you want to quit.”  HIs anecdote was that Billy Beane (Oakland A’s GM from Moneyball) would not tell his players anything – they were just lab rats.  That was the opposite of Daryl Morey’s relationship with Shane Battier, who used to play in Houston, where Shane Battier would get detailed scouting reports every day on his opponents and would use that knowledge during games.  His example was knowing Kevin Durant was X% more efficient going one direction, so he’d force him the other direction.

The discussion shifted to Shane Battier, whom Michael Lewis wrote a long article about in the New York Times.  They talked about how the unathletic Battier was always undervalued and his stats were never impressive, yet he always added a lot of value to teams.  During his last stop in Miami, he recalls a meeting with Coach Spoelstra: “Don’t do anything but catch-and-shoot, or catch-and-pass.  No dribbling.  No offensive rebounding.  Just catch-and-shoot or catch-and-pass.”  And that was his role.  But what Shane came to realize was that his job was creating space for his team.

This was a theme of Battier’s throughout the day – creating “space” for his more talented teammates, the LeBron James’s and Dwyane Wade’s of the world.  He just helps make his teammates better.  I think this is a great point that relates to what I do as a project manager.  At the end of the day, my job is to create space for the talented people I work with to get things done.  Like Battier, I rarely create deliverables and it’s hard to show evidence of what I contribute to a project, but I enable everyone else to do so.  Whether that’s navigating red tape, coordinating conversations with external teams to move a project forward, or filling in any gaps to help the team, my main focus is on getting everyone to work optimally with as few obstacles as possible.

Some other hilarious exchanges occurred:

  • After Morey said how Josh Smith is leading the Rockets in 3pt% since the trade, Van Gundy joked “Regression to the mean is coming!”
  • Lewis recalled a story about how great of a defender Dikembe Mutombo was and how Morey loved him on the Rockets, but it used to drive Morey crazy when Dikembe blocked a shot and then did the finger wag nullifying the start of a fast break.
  • Morey remembered asking Van Gundy (who was once coach of the Rockets under Morey) why he never went 2 for 1 at the end of quarters, since it gets you an extra possession and two bad shots are more worthwhile than one good shot.  Van Gundy asked Morey how much more will they win as a result of that, and Morey had his team go back to crunch the numbers.  It turned out they would win one more game every two years, to which Van Gundy laughed that he’s still not going to do it.

Basketball Analytics

The next session had another phenomenal panel – Shane Battier (former NBA player), Mike D’Antoni (former NBA coach), Sue Bird (WNBA player), Mike Zarren (Celtics front office), and Pablo Torre (ESPN).  This talk focused on basketball’s use of analytics and how the game was changing.

The more Shane Battier talked during the day, the more I was impressed with how intelligent  and thoughtful he was.  He seems like much more of a normal person than a 2-time NBA champion that spent 13 years in the league.  Juxtapose him with D’Antoni, who I thought was a very forward thinker with the run-and-gun Phoenix Suns that shot a lot of 3’s, but it turns out he just stumbled into shooting a lot of 3’s (which now turns out to be extremely productive).  He said there were no analytics that led him to preaching that strategy.

The first part of the discussion was about whether NBA analytics have become saturated, leading to less of a competitive advantage.  Everyone agreed that that’s not the case.  It’s true that all of the data exists, but it’s a lot more about communicating that information to the right people and having it implemented.  The analyst needs to tell the GM, who needs to tell the coach, who needs to tell the players, who need to use that knowledge in game.  That’s a whole lot of communication, that if not expressed convincingly at each level will ultimately be ignored.

But the NBA teams are not unlike our IT development teams – there’s an overall company philosophy that gets pushed by the CEO (NBA GM), the project manager that is responsible for the day-to-day (NBA coach), and the developers (NBA players).  So what’s a good example of “analytics” findings in the tech world?  How about a decision to use agile development methodology?  But it’s not as simple as someone just saying to do it – everyone needs to be convinced that it’s the best thing (communication!), and then it needs to get implemented, which also has its challenges.

Later, the panelists started talking about motivation for winning.  Put aside analytics, talent, and coaching – the number one motivator to players is peer pressure.  When the best players are the hardest works, the best listeners, etc., then the rest of the team falls in line.  When the best players are selfish and lazy, the team takes on those traits as well.  Shane gave an example: “LeBron is working hard, running up and down the floor – I can’t let him down, I need to work MY ass off.”

Again, an NBA team is just like any team, and this point emphasizes leading by example.  It’s not enough for someone in a leadership position to just bark orders and expect everyone to get their job done.  It’s important to inspire others by working as hard as possible myself.

Other Tidbits

  • The dress code is business formal, but there’s some people in hoodies and jeans and others in suits, like I was.  If I had to do it again, I’d probably wear a sports jacket with no tie.
  • There were a bunch of jokes about Charles Barkley throughout the day in response to this.
  • It’s really really cold in Boston (not unexpected, but still).
  • I met former Orlando Magic (my team!) player Pat Garrity – really nice guy and we talked for a couple of minutes about the mid-2000’s team.

Key Takeaways

To recap, my key takeaways from the day were:

  1. Create “space” for others – enable my co-workers to be better by removing obstacles
  2. Communication is key
  3. Lead by example, as peer pressure is the greatest motivator

Hopefully I’ll have time to add another post tomorrow.  I went to a very interesting session about the NFL real-time player tracking and another one that focused on sports science with biometrics, and that’s just from the first day – tomorrow is a whole other day full of interesting discussions.

Posted on

August Smart Lock

A few months ago I saw the announcement that August Smart Lock was going to be sold in Apple Stores.  This told me they were ready for prime time.

I’ve always been interested in the “Internet of Things” and smart house improvements, but hadn’t really pulled the trigger on buying anything. But the August Smart Lock was intriguing to me. I could control the lock from my phone and it could automatically detect when I was entering/leaving (via Bluetooth) so I wouldn’t need to even use my phone? Sign me up!

So I did a little more research, found a lot of positive reviews (and a handful of negative ones), and ended up buying it for $250. The only disappointing thing was that it was going to take ~3 months to arrive. Bummer.

A few months later, around the time I had completely forgotten that I had ordered the smart lock, it arrived in the mail.

Installation

Installation was a breeze. It seems like companies like August and Nest realize one of the biggest challenges for customers is installation – it’s the first impression, after all, and if you can’t install it then you can’t use it and will probably return the product. They’ve definitely spent time working on their installation guide and I had my door setup in about 10 minutes. I am by no means handy, so that’s a testament to how easy the process is.

I chose to install the lock on my garage door. The same external piece is used on the outside (garage) side of the door so you can still use your physical key, but the inside piece is replaced by the August Smart Lock. You can also manually rotate the inside lock instead of using the application if you want.

After I physically installed the lock, I downloaded the app from the Google Play Store, and synced it up in about 5 minutes. Part of that included a quick calibration of the lock.

The application uses your phone’s Bluetooth to interact with the lock.

Initial Disappointment

After I installed the new lock, I was really excited because I thought I would never have to use my keys again. Perhaps I was a bit naive, but their “Everlock” feature didn’t work as expected. (To be fair, they do say it’s still in Beta.) I just couldn’t get it to unlock at all, although it did unintentionally lock the door when I went outside for a second. I would hardly call this feature in Beta – it just flat out doesn’t work. When I did some more research online about it, I found similar experiences from others.

So I was forced to open the app every time I left the house and wasn’t all that pleased. I looked online to see if the app supported any intents so I could write another Android app to automatically lock and unlock based on my own geofencing – no go.

One other thing I didn’t realize was that the lock only uses Bluetooth and doesn’t use Wifi at all. This means you can’t lock and unlock the door unless you are in close proximity – probably a good thing from a security perspective, but not exactly “Internet of Things.” They should probably make this more obvious on the website.

Finally, the app also took a little while to connect to the lock each time I opened it. Not a huge deal, but I really don’t want to wait 5 seconds to connect and then unlock the lock when I can just pull out my physical key.

A Little Better

So instead, I used my handy dandy Tasker app and setup two profiles:

  1. At 7am…Open the August application
  2. Between the hours of 7am and 10pm…when I connect to my home Wifi network…Open the August application

This supports my biggest 2 use cases: leaving for work in the morning (usually a couple of minutes after 7am) and arriving home, when I reconnect to my Wifi network as I drive into the garage.

Now instead of having to turn on my phone screen, find the August app, wait for it to load and connect, and then open the lock I can just turn on the phone screen and click the unlock button since the app is already loaded and connected.

One Month In

It’s been about a month since I installed the August Smart Lock and thus far I like it. It’s not as much of a game changer as I thought, but has made my life a little easier. In the mornings I close the door and use the app to lock it as I’m getting into my car. And in the afternoon when I get home from work I unlock the door as I’m turning my car off.

On the weekends I have to start the app fresh when I leave, which is a bit of a pain because of the loading/connecting time, but it works great when I return because my phone reconnects to the Wifi which triggers Tasker to open the app.

First thing in the morning when I unlock the door and at night when I’m locking up the house I just manually rotate the August Smart Lock instead of using the Bluetooth app, just like I would a regular deadbolt. It’s not worth the wait time when I just do it manually.

One other feature that I haven’t really explored as much is letting guests in just by sending them a text message. I did a quick test with my wife (before she set things up) and it seemed to work pretty well. I just haven’t had a chance to use it yet.

I would probably recommend this to others if they like home automation. It’s pretty cool and I like how I don’t have to pull my keys out of my pocket anymore.

Posted on

Getting Your Life Organized with Trello

A few months ago Jeff told me about a cool app that he was using to manage workflow: Trello

I tried it out at work for managing my day-to-day tasks, but it didn’t catch on.  It just didn’t fit into the way I worked.

But then I started to use it at home.  At first it was just for things that I needed to remember to do for myself:

  • Clean the office
  • Buy plane tickets for wedding
  • Upload camera pictures and organize

Then the real power came when I got my wife to use the app too – now we could organize our lives together!

How Trello Works

So what does Trello do and how does it work?

The basic idea is that you create “cards” (which are really just tasks, to-dos, reminders, etc.) and move them between different status states: To Do, In Progress, Done.

Then just drag-and-drop your cards into those different columns to change the status.

The beauty of Trello is what you can add to the cards:

  • Labels for organizing your cards into groups
  • Checklists
  • Due date
  • Person or people the task is assigned to
  • Attachments
  • Comments
  • Pictures

There’s a web app as well as mobile apps for iOS and Android.  I use the mobile app about 98% of the time – it has all of the functionality and is just so convenient.

How I Use Trello

The first thing I used Trello for was managing grocery, Costco, and Target lists.  We go to those places once a week or every couple of weeks.  The best part was how easy it was to update those checklists:

  1. Open the app
  2. Open the card
  3. Add the item to the checklist

It takes less than 15 seconds!  So when I’m cooking dinner and I notice I only have two eggs left, I can quickly add that item to the grocery checklist.  Or if I’m replacing the paper towel dispenser and see there’s only one more roll, I’ll add that to the Costco checklist.

Then when I’m in the stores, I open up the card and check things off as I go.  Sure, there are a ton of “grocery list” apps out there, but Trello serves other purposes as well and is my “one stop shop” for everything.

I used to just have the standard 3 columns that come default with the app: To Do, Doing, Done.  And for each of the weekly stuff I created a new card each time (e.g. Grocery 9-21).  But recently I added a “Weekly” column and just create a new checklist for each week, then delete it when completed.  It’s much easier to manage and now those cards are always visible in their own column where I can quickly find them.

We’ve also started to menu plan weekly sot hat we don’t have to think “what’s for lunch today” and can get everything we need at the grocery store over the weekend.

Tasks for the Family

One day after I got hooked on Trello, I decided I needed to get my wife on it so that we could plan together – mostly stuff we needed to buy.  I added her email to the board, then started assigning her a few cards like “Schedule pediatrician appointment”.  Once she signed up, she was automatically added to the board and had tasks assigned to her.

This quickly backfired on me – not 15 minutes later I had a whole host of things to do around the house.  Clean this, order that on Amazon, schedule another appointment with this person.  Uh oh!

On the bright side – we’re a lot more organized and things don’t slip through the cracks anymore!

Posted on

My Mac Tools

Previously I wrote about My Windows Tools, but now that I’ve had my Mac for about 8 months I think it’s time to dive into the best tools I’ve found for being productive on OSX.

Full Applications

Skitch (Free)

I use Skitch at least a few times every day for grabbing and marking up screenshots. As crappy as the Evernote application is (I’ll get to that later), the Evernote team did a good job with Skitch, creating a simple to use application that doesn’t try to do too much.

Adium (Free)

Adium is the best IM tool I’ve found for gchat. Some of the best features include:

  • Tabbed windows
  • Multi-account support
  • Combined contacts (e.g. Bob Smith has a gmail account and a google apps account – but shows up under one name in Adium)

VMWare Fusion ($60)

One of the first pieces of software I bought when I was setting up my Mac was VMWare so I could run a Windows Virtual Machine (I couldn’t give up Windows!). VMWare Fusion gets the job done. It’s cheaper than Parallels and can either run all of the applications within the VM or separate windows within OSX.

As Brett told me before I got my Macbook, “The best hardware I’ve ever had that runs Windows is my Mac.” He was right.

Customization and Configuration Tools

Karabiner (Free)

Karabiner, which was previously called KeyRemap4MacBook, is a key mapping tool that can be compared to what AutoHotKey can do on Windows.

Here’s my private.xml file that you can import directly into the tool on the Misc & Uninstall tab. It’s got a lot of remappings that I find useful, such as:

  • Capslock to command-space to open Spotlight
  • F10 to Windows’s Home button
  • F11 to Windows’s End button
  • Disable command-Q in VMWare so that I don’t accidentally close my VM (happened a few too many times)

BetterTouchTool (Free)

You know that great Windows 7 feature where windows snap to the sides of the screen and maximize when the window is dragged to the top of the screen? It’s like magic and it’s fantastic. I needed that for Mac. That’s when I found BetterTouchTool, which does more than just that – but the window snapping is THE reason to download it.

Menu Bar Tools

Mint (Free)

Before I got my Mac I saw Mint QuickView on a friend’s computer and saw how awesome it was. I used to use Mint pretty heavily, but over the last couple of years haven’t used it as much. I still like getting the emails for low balances and payment reminders, but I don’t use it as much for budgeting. Even if you don’t use it often, the QuickView is definitely worth checking out. It shows a list of transactions as they come in (“oh, looks like my spouse went to Firehouse Subs for lunch today!”) and shows a great overview of each account balance.

 Calendar For Mac (Free)

I can’t believe the Mac menu bar doesn’t have easy access to a calendar. Calendar For Mac is a lightweight app with a simple function – show the calendar from a menu bar icon.

What’s the date of two Friday’s ago? Click the icon, boom – there’s the answer. Done. No need to go into an email application, or open up a calendar in a browser. Simple and easy.

Summary

If you look back at the applications and tools I’ve listed, all are free except for VMWare (which is well worth the $60 price tag). I use each of these tools at least once a day.

Unfortunately, there’s still some things that are missing my from toolbox:

  • Paint.net is still my go-to image editing application (from within my Windows VM). I use Skitch for simple screen captures and markups, but any time I need to do anything that takes more than 2 seconds forces me to open up Paint.net.
  • Evernote is an absolute joke of an application for a company that constant receives so much praise. The formatting issues alone are ridiculous. I don’t know how that team can stand behind their product.

If you’ve got any applications or tools that you use, let me know in the comments.