I wrote this blog, mainly because I am a marketer working amidst a ton of engineers. Of course, I have the pleasure of having their skills at my disposal... er well, sometimes, when they aren't neck deep in a customer's code. After working with my fellow wizards on projects of various types, I realized, we really don't speak the same language. Marketers and most technology engineers (of any kind) are very different, and approach projects and communication from an entirely different mindset. So, I thought it may just be useful for someone else to have a sneak peek into some of the "best practices" I have found from working with these brilliant individuals for years. In this blog I give you some (probably obvious) simple tactics you can use to ensure a successful web or app project with a technology partner. Seriously, don't laugh you may not think of these tactics at the very moment that you need them unless you have a glimpse into the circumstances in advance. I hope you enjoy!
Be Sure of What You Want or Need
Go in to a project consultation meeting knowing what you want so you can explain in as much detail as possible. Draw it out on a piece of paper if you have to. Show examples of websites and applications that you think illustrate what you are looking to have built. Then listen
and expect to adjust your expectations to your budget limitations. You have to be willing to understand that your expectation my not fit your budget - so one will have to give. Many times this is an opportunity moment to decide what you want now and what can come later.
Ask more questions than you think you need the answers for. There have been times when working with a development team, that I thought asking a question would make me look stupid. There were also times I couldn’t figure out how to word my questions because I didn’t fully understand the technology. This is the exact situation in which you MUST speak up. And then expect an answer that makes sense to you. Don’t simply accept "technical" answers that you may be given and try to wrap your brain around a technology that you don’t need to understand from a technical standpoint. Ask the developers or consultants to explain it to you in terms that you can understand. It's their job to communicate well and you as the customer have the right to a clear explanation.
Estimates and Project Plans = Time & Expertise = Cost
Understand that the time it takes for the developers and consultants to put together an estimate or a project plan is time they spend using their expertise and wealth of technical knowledge and resources to understand and put your project into numbers. You should always
expect that there will be a cost associated with estimate and project plan writing. No one goes to the doctor and expects that initial visit to be free, right? This is the same for technology projects of all kinds. You go to a doctor because he has the expertise that you don’t have and that you need.
Every Task Requires Knowledge and Sometimes Even Research
Every coding or configuration task takes a certain amount of skill and knowledge - that is why you are paying a developer to do it. Never expect free. There maybe things you ask for that are new and unexplored territory. This level of professionalism many times comes down to being innovative, which sometimes requires research and exploration. Which takes time. This is another area where the engineer use expertise to figure out the right way to deliver your results. This takes time and again, must be planned into your budget and initial requirements gathering phase.
It Doesn’t Just Work All the Time
Sadly, it is a misconception that most people have that technology should just always work. Of all the products in the world technology is some of the most complex, of course it won’t always just work. Are you crazy!? Tech innovation is moving at the speed of light these days, which means when some services push updates, and those updates affect your website or service there may be some downtime. Of course any good technology partner will plan and create redundancies so that downtime only happens as the absolute exception, however it is always possible. Partner with a technology service provider that has an exceptional SLA (Service Level Agreement) so you know what to expect when it comes to potential downtime for your company. We partner with Microsoft and deploy many of our solutions to the Azure cloud. Their SLA is second to none.
One other thing to note about tech “just working”: Remember, when you hire a firm to build a website those developers are actually building it
. They may be using a platform to build upon, but that doesn’t mean that the platform such as a Content Management System is fully functional the way you need it right out of the box. Many times to meet your requirements, engineers must configure and build new code within the platform to make it work the way you want it or need it to. There will be hiccups and issues along the way, but they love
finding solutions to puzzles… that is why they
are the engineers.
Terminology You Should Know
Working at a technology company has given me great insight in to the world of the geeks and also with that, their language and jargon. Below are some very basic terms you may want to know when you work with a web development team.
Quick note: There is a front-end and a back-end to each one of the above mentioned environment types.
- HTML – this the standard markup language used to create webpages. It’s kind of magical! J
- Media Library – this is an area in the back-end of a website or application that houses all the media files for the site.
- Database – is an organized collection of data. There are many different types of data that can be stored in a database. In fact, pretty much everything is stored in a database, even the apps on your phone and also your website. Databases aren’t just for records at doctor’s offices. Databases can also be located on servers which could be located on-premises (in a physical location at your place of business) or in the cloud. This all depends on the requirements set forth for the project.
- Development Environment – this is where your project is built. I think of it as a small version of your live site or app on a developer’s computer. There are development tools involved in this environment used for testing and building a project.
- Staging Environment – this is a test replica of your live or production site or app. It is usually almost an exact copy of the live version. This is where all the changes from development get pushed for final testing before they go up to the live site.
- Production Environment – this is the live application or website – this is what you see when you use your website or app.
- Front-end – this is the front or public facing side of a website or application.
- Back-end – this is the back or development side of your website or application.
There are plenty of technical terms that may be used in your project meetings, but I think that these are some you will hear most often. Again there are many
more, if you hear one you don’t know or a term confuses your understanding of a task or part of the project, you should always ask for an explanation. You will be glad you did.
The fastest way a project will fail is on the back of bad or a lack of communication. Plan time in your budget to pay for client meetings and project status updates on a regular basis. If you are not the decision maker at your company, become a champion for building collaborative and update meetings into your budget. Your technology partner should include time in their estimate for project update meetings. They should want
to communicate often
and you should make every effort to stick to those meetings, they can’t communicate if you don’t attend the meetings too!
Once you have started your project, if you cannot get in touch with your web development team in a reasonable amount of time or if they will not schedule those agreed to meetings, you may want to rethink who you chose to partner with for a successful project.
Test a Ton
Testing seems like it could be the most boring part of your project. And if you look at it that way, it will be. However, I have come to love testing. Testing is the time when you get to see and, many times, interact with the project as it comes to life! This is a special phase in any project, where you can give feedback about how your site works for you. There may be confusion around labels and forms and how a feature should work for the end user. Testing is your time
to decide how things are going and if features should be tweaked, this is your chance to do that. Testing a project as if it were live and functioning in the real world is the best way to give powerful feedback that can only improve your end-product.
Another part of testing that is exciting is that you will begin to see that there are other features you had not thought about yet. You will begin to see where you can improve and add features to the next phase of your project. Testing is really exciting!
Let me know if you have questions or feedback on how this article helped or didn’t help you with your web project. Comment below or hit me up on twitter.