We’ve all had those projects that we look back on afterward and think about where things could have gone smoother and easier. At Mode Effect, the website design and development company I founded, we’ve learned a lot along the way about the onboarding process, and how to efficiently and effectively build and launch a WordPress website, WooCommerce eCommerce site or web application.
We’ve learned that the right onboarding process is critical.
Most of our projects fall into one of two camps: new website design or a redesign of an existing website. For both types of projects, it’s critical that we meet a client’s functional goals for the site and visual expectations.
The right onboarding process goes a long way in ensuring that we have a good understanding of a client’s goals and that we deliver on them in the final product. It allows for key touch points along the way to make sure we are aligned with our clients and meeting their expectations before moving on to the next development stage.
We’re always learning about new and better ways to do our work, but one thing we know for sure is that a clear organized onboarding process and design/development method is essential!
There are different schools of thought on the best process – waterfall or agile. I don’t think one is better than the other necessarily, but one may be a better fit for a client based on the company’s culture, products/services and goals. Let’s look at both methods.
Onboarding process: Waterfall vs. agile
The waterfall model is a sequential design process used in software development. The progress of work flows steadily downwards – like a waterfall – through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.
Agile software development is a set of principles in software development and is an iterative design process. In it, requirements and solutions evolve through a collaborative effort of self-organizing and cross-functional teams. This model is ideal for products that must be rolled out fast and continuously improved upon.
The website development/design onboarding process you implement will in large part flow from the requirements for a website design project. Some projects require a quick launch where customer data will be gathered early post-launch to then help inform and iterate the website.
Let’s take a closer look at both models.
Over time, we’ve used a basic checklist for building and onboarding a new website using the waterfall design process. Here’s how ours looks after developing many websites and refining it along the way to what works for our team.
(Please note that if we were pivoting from a waterfall design process to agile, our checklist would have many of the same elements, but the timing and integration of tasks would be more overlapped.)
- Meet with client to understand their goals and needs for the site design.
- Propose and finalize sitemap.
- Design and provide to client visual design comps for each page template.
- Install WordPress and gain admin credentials.
- Provide completed desktop development onto staging server.
- Complete responsive development for views on mobile and tablet.
- Place anti-spam features on contact forms.
- Ensure high-speed page loading.
This phase can happen simultaneously with Development.
- Create content for home page.
- Create content for all internal pages.
Quality Assurance / Testing
- Test and debug before launch.
Burn Down List
- Integrate Search Engine Optimization best practices.
- Integrate Google Analytics.
- Integrate Webmaster Tools (Google Search Console).
- Transfer website copy to production server.
- Point A-Record to production host.
- Video tutorials and a user manual for the CMS to client.
- Google Analytics performance reporting.
- Updates, backups, security.
Agile development requires planning, trust and collaboration. It is an iterative process where various tasks will overlap. Below is a basic framework for the steps involved in implementing an agile development process.
Organize the team
- Identify the product owner. This person will oversee the project and ensure the vision for the project is met.
- Identify a scrum master and project manager who will guide the team in the day-to-day activities.
- Identify other entities that need to be involved and define their tasks, such as additional developers, marketing, product development, etc.
Organize the project
- Gather the project owner and stakeholders to agree upon the vision and scope for the product.
- Develop user stories or a list of product features to support the vision.
- Build the project features list, sometimes referred to as the product backlog, to be developed from the users stories.
- Define how long each feature will take to build (work with developers to determine).
- Prioritize the product backlog, focusing on high risk and the most important tasks first.
- Define sprint length, or development iterations, and detail tasks to be completed in each sprint.
Manage the project
- Schedule daily scrum meetings with the development team. Have each team member report on what they worked on the previous day, what they will be working on that day and any potential challenges they foresee.
- Never change the work priorities in a sprint.
- Touch base with the project owner after each sprint to review progress; re-prioritize, if needed and plan the next sprint.
Create the toolset
- Choose a project management tool and calendar that can be utilized by all project participants.
- Select a task-tracking application for product backlog.
It’s up to the product/project owner and the development team to determine what onboarding process is optimal based on goals and expectations for the project
However, as a best practice, be sure to have a clear development method, good project management and the right tools in place to keep the workflow moving and for the final outcome to align with the project vision.
Also published on Medium.