Liferay-Logo.jpg

If you listen to some experts, apps are the way of the future. Mobile applications and web applications will rule the world.

At Liferay (news, site) West Coast Symposium, LEVEL Studios' Technology Strategist Chris Stavros shared strategies for building dynamic, successful web sites and applications.

Phased Planning

If you like, consider this piece a follow-on to Top Mistakes In Project Management #liferay. Where in that article I talked about rolling out sites in stages, here I'll focus on the stages themselves. Stavros presents them as phases 0, 1 and N. He summarizes them collectively as doing your due diligence.

Phase 0

Phase 0 is called the Game Plan. This phase consists of:

  • Discovery: Determine what resources exist and what resources you need. What are you trying to accomplish?
  • Strategy: Determine how you want to get there, what the milestones are and what the measures of success are. Build your roadmap.
  • Scoping and Planning: Determine how you're going to get there. Build your project and resource plans.
  • Requirements and Design: Determine how the project should look and feel. What's the information architecture? Build prototypes and composites.

When considering strategy, he suggests prioritizing features by their benefit to the users or operations. Prioritize your projects by business driver rather than what's cool. When it comes to scoping and planning, it's important to focus on four different areas:

  • Software and customization
  • Hosting and support
  • Training and change management
  • Enhancements and maintenance

Ultimately Phase 0 boils down to: "Focus on the business goals and then on the technology." Pretty pictures and composites will only get you so far. Help your engineers understand the business process that your pretty pictures serve so they have context when furthering the design and building things out. Engineers understanding what you're trying to do can produce amazing results.

Stavros shared, as an example, some wireframes from a site design where they added cartoon-like speech bubbles that explained what purpose various elements served. From there it's possible to mock up some prototypes and really shake the kinks out of the initial ideas.

It's also important to not hyper-focus on the now. Consider where you want to be in six months and a year. How can you extend your application or site's functionality later? What do you expect your maintenance costs to be over time?

For the final tip he had to offer for Phase 0, Stavros suggested that you design your front page so that it supports everything that you intend to do. Then only activate the features as you build them out over time, starting with the most key functionality.

Phase 1

Phase 1 is called "Build and Launch." This phase begins with defining what you're trying to accomplish. From there you determine what resources are required to complete the project, and discover which you already have and which you need to acquire. Again, Stavros suggests that you focus on business goals first. What's really needed and compelling for this project? Don't go off on tangents that are sparked merely by cool tech features.

Also focus on setting precedence for your users and content providers. Don't go overboard in ways that will require you later to have to come back and change the site, which can frustrate users (how many angry Facebook (news, site) groups pop up every time the site changes something?) and cause no end of grief for content providers as they scramble to keep up with your changes.

Build less at a time and get it right. You'll provide a much smoother experience for everyone and avoid revolts.

Phase N

Once you've passed Phase 1, you're at the point of "Iterating on Success." At this point the best bet is to move forward in small steps, building on success after success to reduce the risk of catastrophic failure and not only keep your users happy, but to continually make your users happier with the results.

In particular, Stavros suggests sticking with your chosen platform as much as possible in order to "compound value over time." As you add more external, unrelated tools over time you're creating a lot more work for yourself. He also suggests giving your user experience people the freedom to do cool things with your platform's features.

Of course, all of this requires that you've chosen a flexible enough platform to support what you want to do. This talk specifically focused on Liferay, but your project may require a different base. Just make sure that it's either extensible enough to do everything you ultimately plan to do or that you already know what other related technologies you intend to install to reach those goals.