May 20th, 2015
When I get real honest with myself, I am not just passionate about building user-centered websites or applications but also to have a good internal product lifecycle and maintenance plan that just works across the enterprise, like a well oiled machine. There is truly nothing worse as web professionals than working with systems, sites or tools that are shallow solutions. By shallow, I mean that on the surface, the solution solves a problem but in reality it’s not scalable to satisfy real-life business problems and challenges. For example, you get sold on a system or tool that automatically alerts your team when any errors or 404 pages occur. But then when using the system, you discover that the system alerts you but does not provide an easy way to fix the issue. So now you have half a solution for a pricy system.
The result? You end up spending a lot more money and time in developing a solution for the solution you thought you had last quarter. Ok, we are getting deep here.
As you read this, if your heart is fluttering a little and you realize this is an issue your company or team is facing, I put together a few simple tips on how to avoid this common problem as well as tips to get out of that rut that is draining your pocket book.
Know your platform environment
Not having a solid technical architecture of your systems is equivelant to investing in a home with a poorly built foundation. If your system architecture is not scalable for your needs, the more you add on to it, the more likely it will eventually fail. This day and age you can implement systems with one specific coding platform and plug them into others. For example, a Drupal CMS built on PHP can plug-in to a SharePoint library (.NET). However, if you are an enterprise company, investing in a consistent platform that allows you to easily integrate your other systems and tools, such as CRM, CMS, DAM, and PRM across the enterprise is the ultimate need. Having a consistent coding platform also streamlines your developer talent and prevents additional spending on hardware and server admins.
Have the talent around you
I can’t tell you how often I’ve spoken with busineses that have a specific platform in place and have very limited internal talent to support it. Yes, it’s true you can always contract out to outside talent. However if you’re a company that needs new applications and solutions created on a regular basis like many companies do, having internal developers at your fingertips is a huge advantage and can save you some money in the longrun.
Don’t just blindy follow what another company is doing
This is more common than you may expect. Yes, it’s always valuable to see what other companies or competitors are doing but you need to look at your own processes and what works for you. All companies are different and have their own specific business problems and processes. Don’t force yourself into a system just because Apple or Google is doing it. :) Choose solutions or identify custom solutions based on your your users needs and your own needs.
Make decisions with the “Big Picture” in mind (don’t get amnesia)
I know you managers and corporate decision makers are looking at this and saying, “I know this already”. But the truth is the “Big Picture” often gets distorted as new projects come up or current projects go on. This is probably the most important point of them all. I often find that as companies get smarter, they begin to work backwards. Such as improving the designs and layouts of a site or application without improving the architecture or navigation because they feel stuck with a decision they made several years ago. Have a clear objective and create a “road map” to follow before starting. Be sure to have a tech architect in the room when making such a roadmap or sequence of tasks.
Remember, time rots things
Every large project that is a potential “game-changer” runs this risk of time. First off, get a PM and tech lead who are passionate people and are action and results oriented. The first mistake is getting the wrong people on your project team who don’t believe in the project or just don’t have the skills.
I think the secret sauce to avoiding this very common problem is for the decision makers and managers to be motivated to see the project completed. Then appoint the right people to roles that compliments their strengths and expertise. Put the aces in there places!