Categories
Productivity Project Management Web Development

Running a web team for internet marketing.

Working on the web in a team can be difficult. Sometimes you are required to deliver on large projects, such as a new feature or offer; and the rest of the time, you are doing service delivery; update a page, add a new blog post etc.. How do you reconcile both? What is the best way to run a web team for Internet Marketing today?

Scrum

SCRUM has been around since the Agile Manifesto in 2001. It is a project management technique built around different ceremonies (meetings). The best known of these is the daily standup. A fifteen minute meeting early every day to remove blockers. Another important piece of SCRUM is the concept of a Sprint. A Sprint is where a block of time, usually 2 weeks, is set aside to work through the tasks in the project.

To get the most out of a Sprint all dependencies should be met before starting. The person working on the Sprint should be able to dedicate their time exclusively to the Sprint. This can be difficult in small teams as specialities arise within the team. For example, one of your developers could also be the technical SEO expert. If an issue arises on the website, the expert may have to be pulled out of the Sprint, negating the advantages of running SCRUM.

SCRUM is the best way of efficiently getting a project completed. However, there are not many teams that can lock themselves away for 2 week stretches, especially if the web team reports into a faster paced business unit, like marketing.

Service Queue

So what happens when the marketing team needs to launch their campaign now, not in 2 weeks?

This is where the Service Queue comes in. Tasks are added to the queue and someone on the team is set aside in order to have the capacity to work on the queue. This means that if anything is really urgent it can be worked on straight away.

By combining SCRUM and the service queue, it allows you to give a predictable timeline for projects using SCRUM while the service queue gives you the capability to look after your stakeholders with speed and agility.

Categories
Javascript Web Development

Component based web systems

The Web as a platform is all the rage these days. It’s not hard to see why. With the ability to create web apps in a matter of hours with very little experience in coding, it will soon be the de facto way to build applications.

It even looks like the war between web based apps and native apps on mobile has been won by the web platform in the guise of progressive web apps (pwas).

The driving force behind all these apps is javascript and the many, many frameworks that are out there.

The reason for this, is of course because after fending off Flash and Java applets, JS is the only way to code applications on the web.

Components are becoming popular as it allows companies to create block of UI that they can reuse across apps and sites. For example EA Games share a set of components through their many individual game sites.

React is the most popular framework out there at the moment and at it’s core, it is a component system. React components are created with jsx, a JavaScript templating engine.

React components can be shared between applications and sites. There are many sites out there that even offer UI libraries of React components.

Polymer
Polymer

Polymer is a project that is backed by Google. It aims to help you create components with a small library to ease the process. The Polymer project also includes a CLI (command line interface) to help you build and test your components.

Webcomponents.org is the home for a W3C project that aims to make web components a standard. It outlines 4 specifications that make up web components; Custom Elements, Shadow DOM, ES Modules and HTML Templates.

Webcomponents.org

Custom elements allow developers to create custom HTML tags. So for example, you could create an element called <my-side-navigation> that would render a side navigation on your site. You could then share it with your other sites.

The Shadow DOM allows you to encapsulate HTML and CSS so that they don’t effect the rest of the site.

ES Modules are essentially JavaScript Modules. This specification allows you to create js modules and then import them.

HTML Templates are where the components html is created. This is the HTML that is rendered when the tag is added to a page.

There are other libraries out there for creating web components, but these are the main ones.

Web components are sign of the maturing of the web as a platform. In traditional application development, components have been around for a long time. Together with concepts like Atomic Design, there are now really powerful tools for developing reusable components to put together really compulsive experiences for your visitors.