In development of a website, front end has become very important as it is the first area where client can see what the developer are thinking. Unfortunately, it is also the most time-sucking area as graphic is much easier to be commented and discussed upon by non-designer, thus creating an unending loop of show design > customer ask for adjustment > show again > more adjustment > repeat till budget gone kaput.
If, by merlins beard the customer has progress beyond that, then comes the challenge of preparing the foundation of the front end code.
These foundation has move further from basic design features such as color, typography, all those subjective 'feeling' that client talk about into more concrete territory such as elements of the website in particular.
Such elements that has become my must-get-it-right-first-before-start-backend are:
- Header + Menu
- Footer + Menu
- Sidebar + Menu
- How do error notification shown?
- How do success notification shown?
- How and what icon sets will be using?
- Form inputs
- Standard grid: colum based
- Standard grid: line based
After confirmed such elements then we move to the bigger picture which are:
- Layout 1: Home
- Layout 2: Dashboard after login
- Layout 3: List Page
- Layout 4: Login/register
- Layout 5: Object details page
- Layout 6: Object details form
What can be considered an Object? Simple: if such 'features' need to have a form, most likely it will involve a database. If it is, then most likely it is an Object. Thus, each object have form and each form need to show details. Hence: each object will got its detail page.
Only after all these was done can we move to more hig fidelity wireframe that will be shown to client once more, and get adjusted one more.
And the cycle repeats untill budget dried up.
While brushing up my resume for a career move (hey, its been 4 years with the last startup. Its time to move on), i've gone through a humbling experience of actually understood the flow and value of each stages for web development.
The arrogant me of yesteryear always thought that the actual hands down working on the codes as the most valuable part of a project.
But, the same pattern keep repeating again and again in many of failing web dev projects that make me revisit my current understanding on web development.
And the journey was more than make me realise how fool i am.
Yep, the actual hands on coding part is valuable. But it is not more than other stages of web development.
Each stages and its corresponding expert really do put in values in the project that uptimately see the project towards it completion.
If any of project try to skip any of the stage, then the project will start to suffer from many of the problems that plague failing projects.
So, what are the stages? How do a web development project was done from start to finish? Lets go through the stage one-by-one:
This is the stage where the client has a bright moment of actualization on the idea of the website. Sadly, it is not the specific website that spark the moment but usually a pain in the market that was discovered by the client.
The pain, and subsequently 'imaginary solution' in the form of a website or an app is what the client usually refer to as 'the idea'.
This is the things that the client does not want it to be stolen from them. As they see that the idea can not be protected by any kind of measure except its obscurity.
The behaviour then introduce the first challenge in web development: to discuss the idea in a comprehensive environment to explore the many possibilities of it.
Only an experienced and trustworthy project manager (or sales engineer) can steer the discussion and having successfully lay down the foundation and the core of the idea. Client (who at the time being was only recorded as prospect) will only discuss their valuable and unprotected ideas with the person they trust or in no-risk environment.
After understand that pain (trust), then we can understand the reason why all these founders (prospect/client) so obsessed with Non-disclosure Aggreement.
2) Conception (User Experience)
3) Design (User Interface)
4) Coding (Front+Back)
6) Deployment (System Admin)
So, there you have it, the complete flow of web development:
Pre-Conception > UX > UI > Codes > Test > Deploy
As a developer previously who only concern on the coding stage, it really humbling to at last understand each expert values that they bring in into the project.
Which also make me angry (now) whenever a prospect discounting the budget that has been tabled to their own liking.
A good web development project is when the project was delivered on time and within budget. To do that, the first thing that client-developer need to agree is the value that expected from each other.
If the value expectation does not matched, then it spells disasters clearly and brightly.
Better fire the job, before the job become raging fire. :-D
... Is that it is not about creating something.
It is not about your product.
It is ultimately about your market. Or to be more specific: Market Feedback.
The result of an MVP is not a product, but a lesson.
Said lesson was derived from feedback.
Thus, make MVP to learn from feedback.
Not to fulfill your scope. Or features. Or 'This Sure Gonna Sells' idea.
MVP is nothing without feedback.
Feedback is nothing if you cannot learn from it.
... that i can offer to my clients is this: RM 870.
With 8 years of experience in web development, handling various kind of project big and micro-small, as a various position (web design, backend, database, digital marketing, scale engineer, sys admin, mobile ui, you name it!), with budget ranging from millions to none (NGO client), that is basicly the cheapest you can get.
And it is not lack of punch too!
Lets see what you will get for that price:
- Nice looking design in whatever kind of design the client want.
- Properly internally linked web structure to promote SEO and ease of use
- Search function to make it easy for visitor to look for information
- 1 year small web server capable of handling small-to-medium traffic (up to million visitor a month).
- 1 year domain name, if necessary.
How in this world can the price be so low? Well, this are the catches:
- No content and copywriting provided. Do it yourself or hire proper copywriter
- No photo session or photo editing also graphic design. Hire proper designer for that. Or just D.I.Y. according to standard web design specs. I'll give it to you
- Utilizing Web Design templates that can be bought cheaply and easily nowadays. I like themeforest! Ehem: client buy it, not me.
- Plain html website OR --->
- Wordpress based 'blog/portfolio/catalog' kind of website. No fancy plugins and functionality.
- Yep, NO ECOMMERCE.
- Limited pages, up to 5 'pages'. No worry, that is more than enough actually.
And now we can see why.
This package in a nutshell working on one simple principle:
Only Pay Me To Do Codes
Not to tinker with design.
Not to think the best graphics for the content write 3000 words for the content.
Not to handle photo session and post production for the content (again).
Not to give my codes to third grade system admin that will break the codes (and they blame my codes, not their incompetence).
It seems that there are so many limitation on what this package can do. But wait.
Lets look what is it good for --->
Essentially, this kind of package is perfect for three type of website:
For Online Presence (Company & individual). The first thing people do to verify you nowadays is by looking for you online. Take control of your online presence. Have a representative website.
For Sales Catalog. If you are selling something, might as well have it listed on your own branded website. It will increase your credibility and easier to close a sales. If you are selling service, this can easily modified to be Work Portfolio. It helps prospects decide are your kind of work really suites their needs.
- And lastly: For Validation Purposes. The best way to gauge if you can sell something or not is by having an online page for the stuff and drive traffic to it. If people try to order rabidly, then that product/service is a winner! No need to buy stocks or have a shop to validate something.
That is the power of simple & cheap website!
ps: Email me (email@example.com) if you like to discuss further.
Just small tips: if client ask you (the programmer, or project manager) this seemingly harmless question of "Can you do that?", you are basically one step away from deadly trap of workload explosion.
Because that question is the pinnacle of miss-communication in any website development projects.
The client is NOT asking if you can code the solution. He is not questioning your ability and skill to develop said features.
The question asked is not completed. The complete phrase is:
Can you deliver this within the same deadline perfectly as i imagine?
Yep, that is the real question that they ask you.
Thus, DO NOT simply reply to the asked question, but rather reply to the complete phrase above.
This make you realize that most of what they asked CAN NOT be done. Not only because that additional features is out of the budget, but also new task will need additional time.
New features = new deadline.
That is inevitable.
You the programmer will not feel bad to say no, as your ego will not be injured because the reason you say no was not your inability to solve said bugs or to develop said features, but the deadline to do so is unreasonable.
Client always have lack of understanding on how many time it needed to really deliver what they imagine.
That, plus their lack of effort in communicating what they imagine in the first place.
How many of us has heard the satanic phrase of "I'll know what i want when i see it."
That is the screaming red flag that the client is worth to do everything you can to move away from them.
May peace be with you.