Day One.

Adam C (Architect & Project Lead):
I started by laying out a few ground rules to this process. Even though this is a one-off challenge, I still want to make sure everything we do keeps us moving in the right direction for our company goals and adheres to our company principles. This project will use some existing frameworks we’ve used in the past. And we will be recycling code. But we want to keep paying-it-forward by making sure all the code we write this week can be easily recycled again in future for other purposes. Without any prior preparation to this challenge or any time to do any detailed scoping, we’ve had to use some gut instinct for what might be useful and what likely isn’t.

Starting this morning the first job was bringing the whole team up to speed with what we’re doing and want to achieve.

We explained the goal to the team, and talked through the project with everyone to make sure we have most the components, knowledge and capabilities of what we need to do in architecturally and in development.

After the kickoff call. Monday morning is spent with the team planning each of their parts (and wrapping up tasks from current sprint to make room for the challenge).

Each team member involved is getting up to speed with the relevant code and frameworks. I liaise with IAM Cloud Onboarding to get their input on the deployment and configuration steps that currently exist with some of our existing products.

There are three especially relevant pieces of technology we currently have which we think we can leverage components from to create this new product.

  • Office 365 Tenancy-to-Tenancy Migration Platform – which we should be able to modify for on-premises network locations.
  • A Desktop Client we developed for AD Migrations. The framework here was really powerful but we need to extend it. Before extending it we need to upgrade it to .NET Core 3.1 for supportability requirements and to minimize technical debt.
  • The IDx Identity System. Identity is often the biggest challenge in a migration project, so this is a key component. But the real issue here is time to on-board. Identity projects typically take a little while to set-up, so there’s never been a lot of demand to make this step super fast before. We need to massively simplify/automate the onboarding process to make this work with the new product.

We’re hoping there are going to be some synergies across the three products above to help improve the onboarding process. By using the Desktop Client we create a more structured step-by-step process for onboarding and migration configuration.

We’re pretty sure we can achieve the required steps but we first need to thoroughly document the existing onboarding steps.

With some of the team underway already coding, other parts of the team were collecting requirements details and working to review each component we were interacting with and working out what we can do, what we can’t do, and importantly: what we need now and what can wait for later.

Leon M (Commercial Lead & Project Co-conspirator): 
This is about the point I join the action from NYC (5-hours behind Adam and our UK developers). Everything sounds like it’s off to a good start. Even though we don’t have a name for the product yet I’ve had a few ideas for the concept – enough for some briefs for visual concepts. I email our illustrator with some rough ideas. Excited to see what comes back.

Then I jump into a Teams call with Adam and some of our tech guys to talk through concepts for a UI builder that’s loosely connected to this project. We want a way for our customers to be able to customize some UI features of our products without needing to rely on our onboarding team. Again, as Adam says above, we discuss the best way of designing the UI builder in a flexible way that can both be used for our immediate needs while keeping it flexible enough to support a few other requirements we know we’ve got coming up in our pipeline in the next 12 months.


Adam C
So afternoon has come. I’m now pretty sure everyone’s aware of what’s needed from them. Most coding tasks have been started and we’ve drafted in some members of our Ops team to help us pepare some lab environments for testing and quality assurance.

One of our lead devs raised some issues about changes required for testing this product, and they’ve pivoted from their normal lead dev role to work on test and QA management. They will be helping bridge some process gaps and building unit tests in tandem with our other developers to ensure we meet the goals we have originally set out.

We have identified a gap in the self service capability which ultimately is going to help with capacity when bringing customers on which is the ability for them to customise the UI that users see. This is what Leon mentioned above. After the call we started on the intial steps. We’re going to create a standalone application running on table storage/CDN which will not have any back-end capability for now. Instead customers will be able to design their UIs and the configuration will be submitted as a ticket with the customers JSON. This will be translated using an internal-only UI tool manually until we have the time to integrate the work into our other products. Semi-automated will do for now.
I have spent most the afternoon supporting our developers to make sure we have all our story boards and user stories completed, as well as some estimates on task duration. To wrap up the day, the whole project has been documented end-to-end from a development perspective with everything nice and organized in Azure DevOps. I’m going to spend an hour thinking through how everything fits together and mapping everything out on a whiteboard from customer entry -> solution delivery and make sure we have not missed anything.
Cloud Winch - On-Prem to Office 365 OneDrive
Cloud Winch - Office 365 migration

Leon M: 
So today’s been busy. 20% of the week down. Are we 20% closer to the product? Difficult to say at this point. I’m sensing this challenge is going to end in some kind of frantic crescendo. My own contribution has been pretty limited so far – my time is shine will come a little bit later in the week. I’m pretty happy with the blog though, although I can see some real opportunities for improvement to help bring to life more of the work our team is doing rather than it just being entirely filtered through myself and Adam. I’ll work on that tomorrow.

Day Two