Our Process: Thorough and Effective — Our Process Drives Results
Discover & Strategize
Ideate & Design
Execute & Implement
Evaluate & Measure
GRAYBOX has proudly worked for more than a decade on over a thousand digital projects. We’ve worked with startups, local Northwest companies (big & small) and gigantic multinational corporations. We’ve designed & built apps, websites, software applications & games — and we’ve helped many businesses market and operate better in a digital-first world.
In that time, we’ve learned that while every client and their respective problems & objectives are unique, there is a common thread for how we at GRAYBOX need to approach and get our end of the work completed in order to be most efficient and effective with our efforts.
To that end, we aimed to publish a high-level overview of our process, so that you can have an idea of what to expect if you work with us. In no means is this list exhaustive, rather it’s meant to be a living document as our processes and habits change over time.
Moreover, these are written as a hub of all possible processes, not as a definitive step-by-step, definitive guide for what your project will entail — as your goals, desired outcomes and business is unique, so too will be the process by which we collaborate together.
Discovery & Planning
We get to deeply know you, your customers and where your business is going.
We believe that great consulting has to start as part of the initial sales process. And all consulting has to start with understanding your business and broader objectives.
We don’t have traditional sales reps or business development professionals. Rather, you start by talking to our team leads and strategists right away — this gives us the ability to understand deeply & quickly, and it eliminates errors in a handoff between rep and the actual team doing the work.
Who We Work With
We work with basically any type of company — from startups to established local companies and large corporations. We’ve had over 1,000 clients in the last decade. If it touches the internet, we can probably help out with it.
Your GRAYBOX team is the essential ingredient for your project’s success.
We’ve organized the entire company into small practices that focus on a specific type of digital technology. These groups allow the teams to build deep connections and specialize their approach to how that type of work needs to get done. This leads to a more efficient and streamlined process for delivering work.
Information Sharing Among Practices
While every client is assigned a primary practice that relates best to their work with GRAYBOX, there are times when there will be a collaboration with our other practices. For example, if an ecommerce company (assigned to our ecommerce practice) needs a mobile app designed and built they’ll work with our applications practice. In these cases, our practices collaborate together under your primary practice director who provides the context of your business to the new team, while they manage their own work. In this way, while our teams are organized into groups, they don’t become isolated silos.
Agile, Waterfall or Staff Augmentation
Each practice works in a way best suited to deliver your project. Some groups assign their staff full-time to your project (staff augmentation), while others do a more fluid, iterative production cycle (agile), and some do a traditional start > end approach to project management (waterfall). Regardless of how the work is completed, each practice delivers effective results consistently within that team and with respect to the type of project.
Partner / GRAYBOX Discovery
We intentionally treat our kickoffs as a key moment to start the project (or relationship) off on the right foot. We first do an internal kickoff with the entire GRAYBOX team to get a unified understanding and context of what we’re doing in the project. This is followed by a client kickoff that is often a 3-4 hour meeting where we recap the terms and plan for the project, discuss goals, fears & risks, and deep dive into the discovery process. Everyone should leave this meeting feeling unified, excited and with a clear picture of what the project will entail.
We believe meetings are critical moments in the life of a project. Thus meetings are sacred and frequent.
We’re a collaborative bunch, so everyone on our team is available via email, slack, Jira / Accelo, and phone each day. We don’t lock communication channels to project managers or account managers only — that’s a recipe for mistakes and lost context.
The entire team (GRAYBOX + Your Team) meets weekly to review progress, discuss and resolve blockers, answer questions and transparently review project health (timeline, budget, and quality risks).
Our practice directors meet with your leadership team quarterly to discuss larger strategic plans, overall objectives and review trends in the marketplace. See Quarterly Business Reviews below.
We aim to be involved with your yearly strategic planning cadence so we can help plan your digital initiatives and/or understand the broader business context. See Yearly Strategic Planning below.
We work hard in the early days of a project to begin thorough documentation so we have clear requirements and desired outcomes noted and understood by all parties. This reduces the likelihood of future frustration by establishing clear success metrics as well as documentation for us to reference later on. We take very detailed notes, stored centrally in Confluence and we record most meetings.
Ideate & Design
We collaborate with your team to come up with smart ideas that work alongside your goals & make you look amazing.
No one comes up with a fully fleshed out idea. We work with you in a workshop or asynchronous format to round out your ideas and make your concepts more real. Or you might just have an objective in mind, and you need us to come up with ideas on how to accomplish it. In this case, we have a very technical process involving creative people, pizza, beer, and 10 whiteboards.
Strategic Vision (& integration)
We work with your team to establish a vision and then align all future projects into that strategy. Our role is to shape the conversation to align your team and provide our expertise into what works online. We then help your team evolve your strategy over time as trends change and new technologies become applicable.
We believe brainstorming is a special moment that requires a safe place to be effective. You want the perspectives of everyone in the room and you want the ideas to build on each other. Ideas are honed via talking & sketches. We have a specific conference room for these more collaborative and free-flowing meetings.
Risk Identification / Assumptions
With every innovative idea, it’s essential to understand the pros and cons. As such, we believe that all concepts also need to come with a heavy amount of assumptions, pros/cons, and potential risks. Sort of like a preventative retrospective, we try to take the contrarian view and make sure we understand the downsides or potential problems before we recommend something.
Visual Thinking / Sketches
We believe that it’s faster and clearer to articulate concepts with graphics whenever possible. As such, we aim to use visual thinking techniques in most of our meetings. Moreover, we do lots of quick sketches so everyone is on the same page.
We believe that all projects have to be rooted in a great digital strategy. Strategies are holistic, intentional and goal-oriented.
We work with your team intentionally to break your customers into goal-based or attribute-based segments. Then for each step in your customer experience, we model out what each segment’s attitude, goal, and ideal experience are like. We string these disparate experiences together into planning documents called, Customer Journey Maps. They provide a model for how we want people to think, feel and ultimately do as they work with their brand.
We believe that the feelings and individual ideas & experiences of the team are best understood with a holistic context of your existing business data. As such, we dig in deep into your analytics (whatever you can provide) before strategy sessions. Here we find recommendations, validate assumptions and solve problems we don’t experience directly but which reveal themselves in your data.
UX Design is the essential intersection between business strategy, technical possibilities, and user intention. In this phase, we take the concepts and strategies and start to apply them in a realistic vision.
We make blueprint-like documents for each template, component or element of your project. These are then annotated with notes on the functional use and content mapped within each element. Typically, there are dozens of wireframes created. Specifically, we use a style of wireframes called gray box wireframes — which is where GRAYBOX gets its name from — where we use escalating shades of gray to convey visual importance into the wireframe templates.
We organize the site’s content to create natural pathways for your users to achieve their goals. We create visual sitemaps to demonstrate the organizational hierarchy to get the entire team in alignment on the content plan and the organization flow of the project.
We design with usability in mind, specifically in the context of your users. Sometimes, beyond our experiences, we need to validate our ideas by actually getting in front of your audience. We can do this with formal in-person tests, fast online tests, or with surveys.
Testing and playing with products quickly is essential in the build and design process. We use prototyping to test concepts quickly.
Whenever possible, if we have ideas for a product or a feature, we try to prototype the concept quickly so our team and your team can feel it out before we build it for real. This prototype is generally thrown away after as it’s built quick and dirty, but it’s worthwhile to test before we invest in the real product. Sometimes prototypes are in paper sketches, others are Invision clickable images, or they are built from code.
This is where the project comes together and it starts to feel totally real. We apply all our skills of design, art, brand and visual into compelling imagery that feels like your brand.
We help you define or refine your brand’s visual into a comprehensive visual identity system. If you don’t already have one, we can help you create a brand book, which contains the guidelines for your colors, fonts, grids, content tone, photo usage, motion guidelines, etc. This is a living document we can publish to PDF, Word Files or a secured online site.
We typically use Sketch for most visual designs, as it outputs into code and applications really well. We use InVision for collaboration, demonstrations and commenting. The visual process starts with mood boards, then we create multiple internal visual concepts. Our team then refines these concepts into our best creative option and presents that to your team. We then take that best option and iterate on it together. Once the visual concepts are identified, we move it over to production designers to create all the templates and components as defined in the wireframe stage.
We incorporate interaction design into our visual design process. All templates are planned out with functional states, hovers, transitions, movements, etc — so that the user’s experience clearly leads them to their next step. We believe that a good design is one that doesn’t just look great, it also has to be effective and efficient for each user in their journey — this requires clarity in the design.
Beyond the visuals, we want your digital properties to feel great. We do this with well-thought-out motion designs for your animations, transitions, and pages. After storyboarding and conceptualizing, we use After Effects for most final outputs to our development team.
Execute & Implement
We build and launch the ideas we’ve created together. This is where your prototypes and sketches, become an actual product.
Great writing is precise, elegant and accurate. We understand the content you need and create precisely that.
Content gets complicated quickly, based on three attributes:
- What types of content are there? These are for the listing and detail views in your respective CMS. Think Blogs, Products, Staff, Events, etc. Each of these content types has their own organization, fields and content entry method.
- What Page Template is the content shown in? Online, content can live in more than one place. So a product might be shown on the homepage, category, search, product page, related items, my account, cart, and checkout. We need to plan all the detail for each area that content is exposed in.
- Who can see this content? Many sites now personalize each page template based on who is seeing it. On a store, you might get different products than another person, or if you are logged into a website, it might show location-specific content. We need to plan for each content segment that might exist.
Before the writing begins properly, all pages need an outline that covers what the main argument and purpose of the page is. What do we want each user to learn from this page? Why does it exist? This is organized into a content planning document and signed off by your team.
Field Setup and Organization
We create a document that we call a “content matrix”. It maps out all the fields that need to exist in the CMS in order to work with your page templates and types of content. Some of these fields are used in multiple templates and content types, so they are combined. Then we establish field guidelines for each (text only, code only, WYSIWYG field, numerals, data, emails, etc). We then pass this planning document to the development team for coding into the CMS and the writing teams for content writing.
Once everything is planned, we begin writing. We typically either write directly into the CMS or we write into the content matrix spreadsheet. Everything we write is edited by someone else internally, then it’s read again by the client for a final approval.
Regardless of if we write everything or you do, someone has to get it into the CMS. Our preferred method is to teach your team how to do it, as it’s the safest time for your team to get familiar with the CMS and actually use it. We find that our clients who have us do the content entry typically require more support from us long-term. If we do it, we have a special data entry billing rate and have our more junior team-members do this work.
Building / Coding
Like a good barn raising, getting your project built is a community effort.
Agile vs Waterfall
We run projects in both Agile and Waterfall formats, depending on the type of work and the client’s preference. Generally, our applications and ecommerce projects do Agile as it’s most flexible & iterative; while websites, marketing, and consulting projects do Waterfall as they have a more definitive start and end. Either way, we have experienced project managers that manage to the specific pros and cons of either method.
All development work at GRAYBOX goes through a strict task-based (Ticketing or sometimes called User Stories) process. The project manager or the technical leads break larger goals into specific tasks and define a series of requirements, context, and background into the ticket. The developer then builds the ticket and that ticket gets passed through the QA & release process (Code Review, Internal QA, Partner Acceptance Testing, Deployment) so that it can be individually tracked and progressed. We use Jira to manage this process.
Beyond the individual tickets, we also need a sense of the broader plan. As such, we write technical and/or functional specifications that are stored centrally for our team and your team to reference. These are the foundational documents for what we are building, and as such, they update over time as the project evolves. The specifications are the responsibility of the project manager and technical leads on a given project. For the client side, if it’s not in a written and approved specification, it shouldn’t be expected to be built.
Once a ticket is completed, the developer passes it to another developer or the technical lead to do the code review. Code review is sort of like copyediting in traditional writing. We are trying to ensure that the code is good, that industry standard-conventions are being used, and that the new code doesn’t have any flaws in it. It’s a quick pass (and is sometimes even automatable), but two eyes are better than one.
With bigger web applications, deployments (releases) are tricky and complicated, requiring many steps to keep the team and the server in sync. As such, we often automate the deployment process so that all our development team needs to do is commit their code to GIT, and the automated scripts take that code and get it live automatically. We typically have automation in place for Development and Staging environments, but keep production a manual process to ensure your public-facing experience is safe.
Sometimes, as products get developed over time, the product evolves so much that it makes sense to go back and rebuild something that we’ve already built in the past. This is called Refactoring. Frankly, clients often hate this as it feels redundant to have to build something twice, but it’s a critical step in the process that helps make sure that the product is good for the realities of today instead of the ideal state that we thought it would be in the past.
GIT / Version Control
We use GIT for our version control system. This allows multiple developers to work in the same codebase that handles merges, forks, and branches. It’s the responsibility of the tech lead to make sure GIT is organized well for your project. We share our GIT with your internal technical team, but we rarely work in your GIT environment.
In an agile process, we organize releases into bundles of related work — called sprints. Each sprint has a common expectation of effort, and then we fit as many tickets as we can into each sprint. To save time and money, all the tickets in a sprint are planned, designed, coded, tested and deployed together. We set up the sprint cadence and the size of each sprint depending on your requirements, but we prefer a two-week or monthly sprint cycle.
It’s important in the development cycle that nothing we are working on is released publically before it’s ready. As such, we use a variety of server and user security protocols to block Development and Staging projects from being visible to authenticated users.
GRAYBOX Quality Assurance (QA)
We take the entire QA process very seriously, and it’s ingrained throughout all our processes. We believe that while QA is everyone’s responsibility, it’s also good to have a strict filter cycle towards the end of each project. As such, we have a full-time QA team that examines all work before it’s reviewed by a client.
We do deep browser testing in all major devices, operating systems and browser applications that are in use for your business and customer groups. We review analytics device info and build a custom testing plan. Then for each template and device/application combination, we review all aspects of the layout and design to make sure it’s perfect. We use both actual devices and virtualized devices for testing.
When making mobile applications or traditional software, it’s important to test on actual, physical devices that we keep in our testing area. This is especially handy for Android and Windows applications because there is much more variability in their ecosystems.
For applications & ecommerce especially, we do a thorough pass through the application feature-by-feature. We use the original Jira tickets and development specifications as a basis for this testing, so we can catch all the little logic and conditions that the developers have worked through.
Quality can be defined in a multitude of ways, depending on the business goals. So beyond the common QA services above, we have 10 other QA services we offer that are much more specialized.
Partner Acceptance Testing (PAT)
Beyond our testing, you also must review everything thoroughly before launch.
For PAT, we introduce you and your team to our testing applications where you can quickly follow design and specification requirements for each task and review each element. You can also quickly register tickets via a customer browser extension we enable on your computer for PAT. Beyond your notes, we then also capture various metadata so we can quickly recreate any issues you find.
Once reviews are complete to your satisfaction, we do a formal digital sign off process when you, our QA lead and the project manager all sign off the work as completed. This happens in our online client portal.
If you build it, it’s totally possible that they won’t come — you need a great marketing launch to go along with your fantastic new site, app or store.
Before we launch any new online property, we walk through a thorough SEO checklist. This process begins early in the development cycle, as our development team works closely with our digital marketing strategists to code the site or application in an SEO-friendly way. Right before launch, we also add any SEO semantic markups, microformats or train the client on how to write good SEO tags.
To ensure a new site doesn’t break your existing SEO, we make sure all pages from the old site or application are correctly 301 redirected to the newer, more relevant page on the new site or application. We use multiple external tools to verify this work because it’s so critical.
Your behavior and tracking data from your website is one of the most important assets in your digital-first business. Without it, it’s hard to know what’s happening and who your customers are. We set up analytics tracking on all pages and for all user accounts (roles) before launch.
Goal & Event Tags
Once it’s built, it needs to go live in a healthy way.
Your host is critical to your ongoing success — it’s essential that you are on the right sized host with the right level of service for your needs. GRAYBOX does not provide hosting directly, rather we recommend and/or partner with a variety of different size hosting vendors. Or come with your own host in mind (or self-host) and we’ll advise on how to configure it for an optimal load.
While GRAYBOX doesn’t directly run your hardware hosting infrastructure — we sometimes either manage your hosting accounts and server infrastructure ourselves, or we collaborate together with externally managed hosting providers. We regularly run and manage AWS, GCP, and Azure infrastructures.
Evaluate & Measure
We learn and evaluate what’s working and what’s not — we’ll know if the goals are being met. That way, we can be more successful on the next project.
Ongoing Support & Maintenance
Being there to support you is the cornerstone of a great partnership — often support is more important to our relationship than any given project.
We believe that when you are in a moment of crisis, it’s one of the most important moments for our relationship. If a server is down, or something is broken somewhere, it’s critical to both your reputation and to your revenue that it’s fixed quickly and correctly. As such, each of our practices is staffed around ongoing support issues that are unforeseen, urgent and critical to your success. Our team resolves non-urgent issues within 5 days, and critical issues that same business day. While we don’t technically provide an SLA, we are available most hours of the day in a true crisis.
We really doubt you read your given software platform’s blog or security patch notes – that’s okay because we do that for you. When new software or security patches are released that are relevant to you, we’ll reach out to you and see if you’d like us to patch or not. In some cases, patches can also be automated.
Many of our clients do not have day-to-day needs of our team. Rather, they take comfort that they have us around as their “Agency of Record” – someone that understands their business, understands their digital technology stack, and whom they can call or email if they need something. We call it their maintenance retainers, as we exist to maintain or support something if we are needed. There is no ongoing cost to having a maintenance retainer with us, we’re just happy to remain engaged and friends until your next need arises.
Regular evaluation of user behavior and performance is an important way that our teams can stay up to date on how the website or application is currently operating. This is essential so we can make smart recommendation over time.
We use heatmap tracking analytics to get a sense of how your customers behave in an aggregate way. We combine multiple session data together (over days) and review that to see trends of how your audience is using your websites or applications. This often provides surprising insights that aren’t told traditional analytics numbers, and it’s not as painful as one-to-one observations.
A/B testing is a dynamic way that we can tweak and optimize the performance of a given page, feature, form or functionality over time. We can test adjustments to text, designs, layouts, fields, etc. and see the performance changes in a few days. This helps settle debates and subjective opinions with cold hard data based on your actual site or application usage.
Business Intelligence Dashboards
Each business has KPI’s (or data metrics) where you can quickly identify the health of your business day-to-day. We believe the same is true for digital marketing and any website. As such, we set up automated business intelligence reporting dashboards from your network of marketing and website tracking system. These can be viewed real-time or they can be automatically emailed as PDFs on a given schedule. It’s great for a mid-level manager to keep senior leadership informed.
We aim to track as much information as is needed to make smart business decisions, without being creepy to your customers, and without overwhelming you with irrelevant information.
All our website and applications have basic analytics installed (normally Google Analytics). Your digital producer then regularly reviews the data before & after big moments like strategic planning or after a code release. This data informs our understanding of your websites or applications that help us provide better recommendations to you.
We use tools like New Relic and Blackfire to keep an eye on your application and hosting stack’s performance over time. They alert us as there are upcoming health issues deep within the application, as well as with the specific hardware (this depends on how the hosting is done). Our team then uses this information to make sure the site stays performant over time or as the basis for when a section may need to refactor or update.
Selenium is a magical technology that lets our developers write (or record) actions like a person using a website in a specific way, and then having that record playback at a future time. This allows us to record important paths or website functions for use in testing the site in the future. All these recorded actions are then combined together to form automated testing. We can then run the batch of automated tests on a regular schedule or after any changes are made to the rest of the website.
Custom Variables & Segmentation
Custom variables are a way in any analytics system to add special notes or behavioral actions to a permanent record so they can be used in the future for additional data segmentation and analysis. This allows us to answer more specific and granular questions that we could by looking at the entire customer behavior set. Each variable has to be implemented carefully, but it provides a richness of data that is invaluable for strategic planning and knowing your customer’s goals.
It’s critical that both your team and your GRAYBOX practice take time to stop, evaluate and learn together.
Quarterly Business Review’s
Context can change quickly in any business, so we find it valuable to learn about what’s evolved in your business over the last quarter and what you are expecting for the next quarter. These meetings are typically formal and include both your practice director and digital producer, as well as your leadership team. They set the big objectives and outline for the complete team to drive towards.
Post-launch or after project completion, we find it valuable to have two transparent and open dialogs about how the project went. We do one first with the client’s entire team, the digital producer and your practice director. Then, again with the entire internal GRAYBOX team. The goal for both meetings is candid feedback on 1) What went well? 2) What went poorly? 3) What did we learn? The intention is not to point fingers, but rather to intentionally codify and preserve any learnings or wins for the next time together. It also helps honor those that made extraordinary contributions or clears the airs if any had any failings.
Annual Strategic Planning
Annual strategic plans with our clients is a great time to reconnect, learn from the past year, evaluate the current competitive landscape and set big objectives for the upcoming year. We find these meetings are best done as mini off sites, centered around your businesses digital health. Clients have sometimes invited us to join them in their own existing yearly strategic planning initiatives, or they use our methods as a baseline in their entire organization.
Reset & Repeat
We take what we learned over the project, distill how your business context has changed and set new goals and objectives. We then design & build the next thing together.
Ongoing Improvement Retainers
Our best clients we invite to participate in an ongoing retainer engagement model. This is the ultimate state of partnership with GRAYBOX. In a retainer, we agree to a regular commitment of monthly spend from the client in exchange for a commitment of resources & prioritization from our team. Retainers may fluctuate over time, but they are generally for clients who see GRAYBOX as a permanent extension of their in-house team.