Category: Freelancers

Freelancersrequirementswebsite

Thinking Through the Website Ask

As a technical consultant with technical and design expertise, I often see requests for proposals for websites that state “fully specified” or “easy to develop”.  When I look at these requests, more times than not there are little or no true specifications and nothing to indicate the website will be truly easy to develop.  Many individuals or business entities looking for freelancers to build a website for them have not thought through what they want and how to get it in detail.  The requests for proposals are often a collection of ideas rather than a coherent vision of what is ultimately desired.  Many prospective clients need as many business consulting services as they need technical and design services, so I often find myself educating a potential client on how to focus on what the client wants and how to obtain it as an end product.

There is a temptation as consultants to say yes to a project and worry about the details later.  This is almost always a mistake.  Several key steps should be taken when working with a client to develop a website.

Take the Time to Define the MVP

One of the first things I try to determine is what the client is attempting to achieve by creating a website.

  • Once the objectives and key results (OKRs) have been established, determine how a website will help the client achieve these OKRs.
  • Ask probing questions to surface any key assumptions that the client has made regarding the website and what is expected.
  • Work with the client to determine the minimum features the website should have in order to meet the OKRs.  In industry parlance, this is the minimum viable product (MVP).  This will help minimize the time to market, assuming that is important.
  • If the client has a particular consumer, user, or audience in mind for the website, determine who this is or who they are.  If possible, develop some personas that can be used to test some assumptions during the design and development process.

Try to keep the MVP definition step short and sweet.  This step should be thorough, but it should also not bog down into analysis paralysis.  I typically spend anywhere from 1 to 4 days working with the client on this, depending on the complexity and size of the project.

Website Development Should be Iterative

There are many strategies for developing a website.  I prefer an iterative approach.  Assuming that we have defined the MVP, rapidly build out the website, and begin testing assumptions that have been made.  Have the client select some test users to interact with early iterations of the website.  I recommend doing this at least once before moving to a full production launch of the site.

  • Have people who match the personas use the website.
  • Get feedback and validate the assumptions made.
  • If some assumptions are revealed to be true, continue along the same path.
  • If some assumptions are revealed to be false, evaluate and pivot if necessary.

Repeat the above steps until the client feels comfortable that the website will meet their OKRs that were defined earlier.

Think About Day-2 Operations

One thing that often gets overlooked in website development for non-enterprise-level websites is day-2 operations.  Day-2 operations are all of the activities that are necessary to maintain a website once it has been launched.  Websites don’t maintain themselves, and I’ve seen good sites go stale because they aren’t maintained.  This ultimately can negate the value of investing in the website in the first place.

  • Does the client expect you to maintain the website once it has been delivered?  If so, is there a service contract between you and the client specifying the service agreement?
  • Is an operations or administration manual included in the deliverables for the client?  I have found that including an easy-to-understand document on how to maintain the website makes for happier clients and results in fewer requests for free support once the site has been delivered.

Start with a Soft Launch

I prefer a soft launch rather than an initial big-bang launch to introduce a website to its intended audience.  I define a soft launch as either a non-public launch of the website or a launch to a subset of the intended target audience.  A soft launch allows the new website to go through a relatively low-risk shakeout phase.  If any last-minute issues are discovered, those issues can be fixed without impacting the client’s entire audience.

Conclusion

The things discussed in this article are in no way comprehensive. Many other factors go into preparing to develop a website, but if the items mentioned in this article are considered, the entire process will be easier and the chances of success will increase.

Freelancers

Having Clear Goals Increases the Chance of Success When Hiring Freelancers

I have worked in large enterprises and as a freelancer for small businesses.  One key ingredient for success in both of these environments is having clear goals for the project.

 

Large enterprises generally have extensive resources and can have business stakeholders, product managers, engineers, designers, and other professionals work on a project.  These project team members have the expertise to ask the right questions before a project begins to increase the likelihood of success.

 

Small businesses and individuals who hire freelancers often have a general idea of what they want, but no clear goal that is actionable.  This can be true of large enterprise projects, also but the team of professionals present on most large projects can quickly ask the right questions to make the goals and objectives of the project very clear before development begins.  In the case of a small business there may be only one or at most two people who can fulfill all of these roles. This can lead to a project starting with only vague goals and becoming a prototyping exercise rather than a project that delivers production ready code.  Prototyping and POC (proof-of-concept) projects are perfectly fine, as long as the person(s) hiring the freelancer expects a prototype at the end of the project. This is often not the expectation.

 

Some critical questions to consider before hiring a freelancer include the following:

 

  1. What is the goal of the project?
  2. What is the expected deliverable?
  3. What assets or resources will be provided to the freelancer?

 

Let’s take a closer look at these questions.

What is the goal of the project

This is the single most important question of any project.  Here are some questions that should be asked about the project goal.

  1. Is the goal of the project to produce a part of a larger project?
  2. Is the goal to produce a finished product that will be used by consumers?
  3. Is the goal to produce something that will be monetized?
  4. Is the goal to increase brand recognition?

 

Some basic steps that should be taken are:

  1. Identify the stakeholders.  That may be just you, but if there are others, make sure they are included in some of the early discussions.  Make sure all stakeholders are in alignment regarding the project goal(s).
  2. Identify any known risks and let the freelancer know early.  Goals may need to be adjusted based on risks. Identify these if possible.

What is the expected deliverable

This may seem like it should be obvious to the business or individual hiring a freelancer, but often it is not clear.  I have often heard clients say once we have started a project, that “..I don’t know what I want, but I’ll know it when I see it…”.  In cases such as this, it is probably in the client’s interest to think through what they actually expect to be delivered. This may require them to create some prototypes or hire someone to create prototypes and concept applications for them.  This can help in the journey to defining a clear deliverable.

What assets or resources will be provided to the freelancer

What will the freelancer be starting with when taking on your project?  If the project includes a front-end, will UI assets be provided? If the project requires some sort of remote data storage, like a dating app or financial app, will that be provided upfront?  If the freelancer is expected to provide these things for the project, this will increase the scope of the work, which translates into higher costs and longer timelines.

 

Plan Template

 

Key Stakeholders
Key Goals
Anti-Goals
Roles and Responsibilities
Scope of work
How will project be managed
Risks
Initial Backlog or Stories/Tasks

 

Free and Inexpensive Resources

There are many free and inexpensive resources for managing a software project.  If you hire freelancers on sites such as Upwork, Fiverr, etc… you can use the free tools they provide on their respective platforms.  I describe some free and low cost third-party tools below.

Project Story/Task Management

Trello is a very flexible tool for managing user stories and streams of work.  It can be used free of charge for small projects.

Trello Board – https://trello.com

Source Code Repository

The source code repository is where code should be kept during the development process.  This allows you and the freelancer to have access to the code at any point and time during the project.  Some Git repository options are listed below:

 

Communication

Slack has become the preferred communication tool in the development community in recent years.  Slack offers free accounts for small teams.

Slack – https://slack.com/

 

Zoom is the tool of choice for quick developer real-time collaboration.  I have found it vastly superior to other collaboration tools on the market.  Zoom allows small teams to use a free account for 20 minute collaboration conferences.  It includes text chat, audio, video, and screen sharing.

Zoom – https://zoom.us/

Other Resources

The resources listed above should be more than adequate for almost any small business software development project.  Other tools that can be used include Jenkins, CircleCI, or ConcourseCI for continuous development and continuous integration and delivery.

If you have more than one freelancer working on your team, you may want to consider doing weekly retros using a tool like Funretro to see what worked, what didn’t, and what should change week to week.