Today I'm building a simple website, it's for me, it's my own web resource, a landing page of sorts.
This is my own web resource, so it is a pretend project, I'm the PM, the designer, the developer, the product owner, the whole lot, but there's no reason why we can't walk through some of the PM stages. The only exception is that resources (People, Time, Money) don't really count in this example.
We need a reason for the project, why are we doing this?
I can't remember Version 1 of the website... Version 2 of the website was me polishing up on my HTML5, CSS, JavaScript. I liked it, but I had based it on a follow-along course from YouTube and whilst it was my take on this video, I stumbled across another site that must have been built with the same video and realised there were a lot of similarities. I wanted something that was mine.
Version 3 of the website was just the links to my socials and nothing more, it was really simple, HTML5, CSS and a little JS. It was kind of a knee-jerk reaction to not wanting it to look like someone elses website. Of courrse, there is nothing stopping someone from copying me, but at least I'll know I was first. There was technically two versions of the v3 site as I had initially wrote it in React, but as the site is not dynamic, it seemed a bit over-the-top so I archived that one and returned to simple HTML/CSS/JS.
The new website should be a refresh, something that was simple (still not a dynamic site) but linked to my blog posts (like this one) and linked to my socials. We also want a bit of a brief intro, kind of like the 'about me' section of a CV.
The old website (v3) was really only meant to be a stop-gap until I got round to redesigning it and building something that I liked. The v3 guise does not really offer any hooks to get people to find out more about me. The business case is to generate more interest in me, either to connect with me or to go and read some of the things I blog about.
We want a list of stakeholders, we want to know who benefits, who pays, who can sign it off.
We want to consider a scope, a budget, a baseline for time to deliver, etc.
The project plan is a little fluid in something like this, but typically I might expect it to take about a week.
A budget baseline is our initial guess/estimate of project costs. Not really an issue for this project, so we'll gloss on by.
We need to allocate work;
Think we've covered it.
The Designer will produce a couple of intial designs, first in paper and then in Figma, there may be a few alterations as we go see what it looks like in different resolutions.
We'd typically see colours at this stage as well as we'd want to see how they work together, but I'm already set on the colours I want, I just want the basic structure for this stage.
We then want to start on the development, the coding.
We'll initially work through the HTML skeleton before moving on to the CSS. For this project, we're going to use CSS Grid as it gives us a 2 dimensional way of positioning things, a little easier than Flexbox.
All the time, we're building it using a live-server at a local address, that means that we can see the code in action, we can figure out the clinks, but we do it all on a computer that is not accessible from the internet.
Eventually we'll want to get it online, to see how it performs in the real world (albeit with little to no traffic). For that I use Netlify.
A little more tinkering and we're ready to get the old site archive, I use GitHub so I always have the differentials anyway, but I also like to keep an exact copy of the old site, just in case I need it for something else in the future, so for this I simply copy the current files to an archive area in Github and then the site is 'archived'.
Time to migrate from staging to production. I have a number of options here, but for this site, I simply move the code from the staging area to my production folder, I use CI/CD which means that any changes to my production folder are published within a few minutes (depending on size). That's why I want all my testing done away from prying eyes before I feel I'm ready to deploy to production.
It's a little difficult to do this on a project so small, performed entirely by me. Normally we'd want to make sure the team is on track, we want to deal with any obstructions they face, we want to be sure the team isn't being pulled away from the project (especially if we're paying for them).
We might need to report back to stakeholders on how we're doing, especially if there are changes to time or budget expectations.
We want to continuously update the project-plan and the budget, we need to see how these change over time, this is for both reporting and also so that we have lessons to learn, not least 'did we get the budget wrong' or 'was it a much bigger task than we planned for' for example.
We're getting to the end of the project. We need to document any changes to project plan, to the budget, any lessons learned, any product documentation, it all needs to be prepared for handover to the client or product owner.
We should review the project deliverables to ensure what we delivered met what we were tasked to deliver. Sometimes there will be differences nd this should be documented along the way.
That's a wrap, the website is live, the project goals were met, the team (me) is free to go back to Business as Usual activities.