Before we start, there is a set of questions I always ask.
What is the business side / purpose of the application?When someone comes to me with a project, the first thing I ask is what the aim of the project is?
- Is it an online leaflet? A quick presentation of a business?
- Is it a discussion between them and a community they are addressing?
- Is it an online shop? An e-commerce application?
- Is it a knowledge center or content management application?
- Is it an existing platform to refactor?
We are tempted to want it all to make sure we do not miss anything, and often get lost in the process.
What’s the real aim there? what can we take out of the scope? What is the real focus, business-wise?
Who creates the content? Who maintains it? Who will perform daily tasks to run the application on the business-side?In most cases, content / product sale aspect is king. Your audience is here for that content.
- How will you insure content is created, is verified and maintained over time?
- How to create valuable content?
- How to make content available and clear?
Who’s the audience?Success is generally measured with audience and its experience. User experience.
- How do we facilitate access to products? What is the sales funnel? How does conversion performs?
- How is your audience accessing your content? Why? What makes your content better?
- How easy is it to understand? To find?
- How to prioritize information?
- How many languages are needed, and much more important, how many languages can we really manage?
There are wrong ways to start a project, making it harder to succeed.
Here is a set of very understandable mistakes, but nonetheless always harmful.
Setting unrealistic targets.May it be in terms of project delays, content creation, features, we are always tempted to add always more things on the list.
This will create frustration on all levels :
- Project leader,
- Development team,
Setting shorter and more frequent targets will in the contrary help keep track of deliverables and boost the project with more stimulating achievements.
Setting a budget before defining the project.
No surprise there but budget is dependent on what we want to achieve. The killer question I am always asked is “how much does a website cost?”.
What do you call a website?
Assuming people will find out about your website.That is very unlikely, you have to drag people to your website, even people who know you, even people who like you. They have to be notified, attracted, explained, and retained. Online marketing and social marketing are tools that have to be used on a regular basis to get prospects to have an interest in your project, and to spread the word.
There are basic milestone that will be found in every project and that are mostly sequential.
They all need an agreement amongst the team and a validation process to allow the following phase to begin.
IT project often slip and delays appear. That is when agreements or validations are forgotten or skipped.
Every adjustment in the scope needs an adjustment in ressources or timeframe. IT needs to work, and to make it work you need man hours.
- Project definition
- Project design
- Project development
- Initial content injection
- Testing (UAT) / Debug phase / Improvements
- Go live
We are living very exciting times for IT architecture.
So many solutions are available to build projects thanks to the open-source community, the mobile revolution, agile methodology, the cloud architecture…
Solutions cost less to build, are easier to maintain, more powerful, faster.
But web architecture is also about facing time, how to maintain, how to enhance, develop, modify the project to face new needs.
Quick and dirty solutions sometime do the job but rarely last. I like to see projects growing, a vision happening in time, solutions that stay around.
Technology that lasts:
- CMS – Content Management Systems, there are many of them, some do some things better than others, there are WordPress, Drupal, Joomla, Magento, Spip, and others…
- Frameworks – When a CMS just cannot do the job, we use a framework, that’s a set of organized code and functions to help accelerate coding. Example include Symfony, Zend, CakePHP, Ruby on Rails…
- UI Frameworks – Librairies that enhance the user experience. Mostly JQuery nowadays, AngularJS coming strong, these librairies allow rapid UI modifications and enhancements.
- Responsive design – In some cases it makes sense developing an app, but in most cases it doesn’t, responsive design that adapts to the screen size is a first approach to making your content readable by all devices. Design that lasts. In this area Boostrap framework makes our life easier.
- APIs – An API (Application Programming Interface) is a service delivered by another website, it ranges from the payment system of an online shop to showing your latest Twitter account updates. There are APIs for almost everything except coffee making (though I’m not entirely sure). This means if you want to propose a special service you believe is very expensive or extremely hard to integrate to a website – chances are, it’s not any more.
- LAMP – Linux – Apache – MySQL – PHP. The server architecture that supports most projects today. Open-source, easy, documented, widespread.
Methodologies that work:
- SCRUM – Agile development methodology based on sprints / iterations. Good for New Product Development.
- SCRUMBAN – Mix of KANBAN and SCRUM. Good for maintenance. Bug solving, small enhancements.
- Team reviews – Daily scrum, sprint reviews, Release review, Retrospective, Task board… Teams that perform have a plan, and they stick to it.
I work with individuals, people who love what they do and concentrate on doing it well.
Around a project there are tons of services that can come in handy, the web has diversified so much in the past 15 years that a whole ecosystem might be needed around a project.
- Graphic designer
- UX/UI designer
- Animation designer
- Video producer
- Front end developer
- Back end developer
- Mobile / Social App developer
- SEO / SEM specialist
- Content manager
- Content strategy expert
- Project manager
- Automation tester
Depending on needs and the size of the project, they can operate on a specific mission to obtain wanted results.