Everyone’s journey to working with Highland is wildly different, but once we actually get started it is stunningly similar.
Maybe you’re part of a large enterprise and you’ve just wrapped a six-month phase of RFIs, RFPs, meetings with procurement, and executive approvals. Maybe you’re an army-of-one and you made the decision in a week. Maybe you’ve been transitioning away from a different partner for several years and it is time to finally make the leap.
The point is that chapter is finally over and it is time to roll up our sleeves and get to work. Rejoice! This is a huge milestone in your project.
But… now what?
Well, being a digital experience agency and all, we have put a perhaps unreasonable amount of thought into this very question. So here’s what to expect when you’re starting a custom software project at Highland.
After getting the paperwork and legal out of the way, we can get an official start date locked in.
We like kicking off projects when we’re face-to-face with our clients. Given this, we’ll discuss the where and when. We love hosting in our Chicago office (we’re downtown in The Loop!) but we’re also happy to visit your location. We’ll often decide where to go based on travel constraints. For example, if you have a team of 10 and we have a team of 2, it probably makes sense for us to come to you.
In the time between planning logistics and the kick-off day, we’ll onboard you to our tools. This happens via a quick video call. We’ll make sure you can log in and have a general familiarity with each tool and why we use them.
There are three core tools you’ll be using: Slack, Jira, and Confluence.
Highlanders rarely email each other. Instead, We have Slack channels for every project, initiative, and team. If you’re not used to communicating this way, it can be overwhelming at first. Be sure to let us know your preferences and we’ll help show you how to make Slack a bit quieter. Personally, I have all badges and notifications disabled.
Jira is our project management tool. It radiates information about who is responsible for what at any given time. Each unit of work is called an issue. There are five types of issues we use: stories, tasks, spikes, epics, and bugs. As each issue moves across the board, we’ll be commenting on it, updating the owner, and flagging it for different situations.
Confluence is our knowledge repository. Think of it like a private Wikipedia for your project. Confluence lets you add pages, upload images, and organize data.
There are several other tools we use, too, but don’t worry about those for now. Having a grasp of these three is all that’s important to start off.
KICK-OFF DAY / WEEK
David Whited, the Director of Highland's CX Practice, often says that the initial conditions of any endeavor are the biggest indicator of that project’s success.
Given this axiom, we spend a lot of energy getting to know each other and understand how we are going to work together. We believe in setting a positive, strong, and resilient context for our projects.
Mapping Our Team
While doing introductions, we map the project community. This is an exercise that helps us ensure we have a team that is set up for success.
There are three circles in this Venn diagram. One for builders, one for knowers, and one for investors. As each person introduces themselves, they chart their initials on the diagram. Once we’re done, we can sit back and see if we have a healthy team mix.
After introductions, we author our team agreements. Team agreements are social contracts regarding how we are to one another. There are agreements for personal growth, aspirations, team meetings, and the definition of “done.” Here’s a small sample:
I want the opportunity for this project to be fun and energizing to me.
I want us to challenge each other and be comfortable with disagreement.
I want to feel safe to give and receive feedback.
I want us to challenge each other to be innovative.
I want the opportunity to feel good about the work I did and the difference I made on any given day.
I want to push myself and grow as a professional in my role.
I want us to all share ownership of the entire success of the project.
No heroes. Just normal people doing normal work at a normal pace.
We’ll read aloud our standard team agreements together and make changes until everyone is comfortable committing to them. Then we’ll document the agreements in Confluence.
Defining Our Goals
Next we’ll define goals and success measures for the project. This means answering important questions like:
What does success look like?
How do we know we’ve succeeded?
Nothing is off the table here. Certainly, the builders on the team want a beautiful, well-crafted piece of software. The investors may be more concerned with it coming in on time and under budget.
After everyone shares their goals and success measures, we agree on them and document them in Confluence. (You might be starting to notice a trend here. Everything you could ever want to know about your project will be documented in Confluence.)
The remainder of our time together is largely project dependent. We’ll dive into the details, identifying the biggest risks or unknowns on the project. We’ll start building our backlog of issues and add them to Jira. We’ll break down huge problems into smaller ones.
At the end of the kick-off day (or week) we’re ready to start building!
The start of a project is a time for celebration. Sharing a communal meal is a beautiful way to continue connecting and getting to know each other on a deeper, more human level.
We usually schedule a celebration on the evening of kick-off day, but lately, we’ve started experimenting with doing it the day before. Our rationale is that the kick-off day can be exhausting and by the end of it everyone is ready to relax or catch up on their usual day-to-day responsibilities. Let us know what your preference is!
Also, don’t worry: we’re buying. It isn’t coming out of your project’s budget.
“Sprint zero” is our name for all the foundational activities that need to happen for any software project. In sprint zero, we are setting up servers, configuring repositories, installing libraries, and getting CD/CI automation fired up.
Sometimes we’ll get started on “Spikes” — small, time-boxed research tasks that help us remove uncertainty from technical objectives.
For example, maybe there is a next-generation API we want to use in our application but we’re still on the fence about. A Senior Application Developer may volunteer to write a small proof-of-concept script to make sure we can connect to it and get the data we need. Once we get a verdict, we’ll have more confidence to make a decision one way or the other.
Now that kick-off and sprint zero are behind us, we’ll fall into the normal rhythms of a project.
We typically have daily standups, but sometimes we’ll shift to every other day. These are 15-minute check-ins where everyone has the chance to share what they worked on yesterday, what they’re working on today, and if they need help with anything.
We have retrospectives (or retros) every other week. Retros are a callback to the team agreements part of the kick-off. It is the team's chance to work on the context of the team.
We’ll discuss questions like:
What’s working well?
What isn’t working well?
How can we adjust how we work together to make everyone happier?
Stakeholder meetings typically happen weekly, but for longer projects they can happen less often. This is our chance to share budget updates, project status, new risks, and any pivots.
Highland typically invoices monthly. Depending on when your project started you may get in an invoice immediately or it may be as far as five weeks in the future!
If you’re about to start a new project with Highland, we can’t wait to work together.