My second day of pairing started off with IPM, followed by a brainstorming session with the entire team spent thinking through how to handle data around subscribers. There was a lot to consider - what are all the things that need to be considered when a subscriber to the service signs up for the first time, cancels, or upgrades or downgrades their account? Some subscribers are individuals while some are groups of people - what if an organization needs to remove one person? Downgrade another? Upgrade just half the group? How can we track trials who convert to a paid plan? How is that different from someone who signed up with a voucher and then converted? The software needs to be a able to do this while updating the database that shows how many current subscribers exist and how many are in each plan, while remembering their organization ID and other data about each user. The conversation resulted in a complex chart mapping it all out. There was a lot to consider and the four software crafters in the room all had different ideas that would work, and had to talk through them to figure out the best solution.

Throughout my apprenticeship I’ve been in the room for plenty of complex conversations between software developers, but typically don’t get to see this level of in-depth conversation about how to do things. My end feeling: software is complicated. And just like an extremely complex design, there are multiple right answers and nothing will be perfect for every situation. The conversation reminded me of a project in my design immersive that included mapping out a large e-commerce site; thinking through the dozens of views and use cases that needed to be considered was a huge undertaking. Building one element within this software was just as complex, and that was only one piece of it. The morning’s conversation helped me realize some of the differences between creating a website and creating software. I’m open to being corrected on this, but right now it seems like software has the potential to be incredibly more wide-reaching and complex.

Another interesting learning came from a discussion about the bridge between design and development. A current feature of the site is widely misunderstood by it’s users, and it seems that a simple change to the design and copy could make a huge difference. One of our tasks is to design this change - but how will it be measured? We had to talk through the software crafters about what they have hooked up to this feature so that we understood exactly how we can measure success.

Naturally, once we started to brainstorm different ideas, we realized that this could be a lot more complicated than a simple copy change. We would have liked to have redesigned the entire component to be more conventional and line up with what people are used to. It can be difficult to stick to what the client asked for when you’re trained to seek out every little thing that can be improved.

The same was true for the main work of the afternoon, which involved different ideas for redesigning one of the main dashboard views of users to include a new feature. We couldn’t simply plunk a button or module for this new feature into the existing design - everything seemed to be connected to everything else. Erica, Kevin and I individually sketched out ideas and then presented them to each other and brainstormed solutions that combined the best of each of our ideas.

It’s been incredibly interesting spending the last two days learning about AXUS and helping to create design solutions for their product. I’m excited to learn more about the other projects 8th Light crafters are working on during the rest of the week, and definitely looking forward to pairing with Kristen, a software crafter on the AXUS team, next Monday.

Main takeaways of the day:

  • Software, much like design, can be hugely complex. Things are rarely simple, and the crafters here spend a lot of brain power making sure they’re accounting for every possible constraint, and requirement, as well as considering every effect of what they’re doing.
  • Sometimes you just have to stick to what the client asked for, and put all of your other ideas in a notebook and hope that you can work on them later.