41
12 Things Not to Do on a Portal Project

12 Things Not to Do on a Portal Project

Embed Size (px)

DESCRIPTION

We’ve all attended our share of webinars and conference sessions talking about best practices in portal and collaboration projects and the things everyone should do to ensure their portal is a success. But what about the bad ideas? The things you shouldn’t do? In addition to delivering 500 successful portal projects and developing many industry best practices in the process, Perficient has also cleaned up several messes left by others and learned a few things about what you shouldn’t do when implementing a portal. Join us for a humorous look at the top 12 craziest and "worst practices" organizations have used to deliver unacceptable web and work experiences and the best practices they could have followed to make them exceptional. Topics include: • How to lose your homepage • When not to use a portal • Methodology for methodology’s sake • The never ending strategy • Is best of breed always best • And seven more! Presenter Michael Porter is Principal in Perficient's National Portal Practice and has been delivering successful portal and collaboration solutions for more than 15 years.

Citation preview

Page 1: 12 Things Not to Do on a Portal Project

12 Things Not to Do on a Portal Project

Page 2: 12 Things Not to Do on a Portal Project

Our Speaker

Michael Porter Principal for Portal and CollaborationPerficient• 13 years' experience with portals and content management• Many multi-million dollar portal implementations for some of the world’s

largest companies. • Michael supports Perficient’s sales and marketing organizations through the

creation of industry-leading services that help clients understand their enterprise portal

• He has helped to position Perficient as one of the top providers of strategic portal solutions and is regularly asked to speak at industry and partner events.

• Prominent blogger at blogs.perficient.com/portals• Follow Mike on Twitter @PorterOnPortal

2

An audio/video recording of this webinar is available at Perficient.com/Webinars

Page 3: 12 Things Not to Do on a Portal Project

But the Business Asked for It!How to avoid using the great capabilities portal has out of the box

• Well known company needed to revamp intranet• Corporate Communications driven portal

– Had requirement that business could change everything without IT input

– They had purchased TeamSite (Not everybody is perfect!)– Had several other common requirements such as

• Clicking the logo takes you to the home page• If you are on the home page the logo is not clickable

Page 4: 12 Things Not to Do on a Portal Project

4

But the Business Asked for It!How in the world do I make that darn logo non-linkable?

• To make the logo non linkable, the implementer….– Wrote ½ a page of JavaScript code– It dynamically inspected the URL to see if “Home” was in the path– Somehow it had an AJAX call in there– After looking at it for 5 minutes, I had no idea how it really

worked

• Portal has this great thing called an API

Page 5: 12 Things Not to Do on a Portal Project

5

But the Business Asked for It!How do I let them change the names of the top level navigation?

• Created top level pages in portal and assigned custom unique names• Hardcoded <portalNavigation:urlGeneration contentNode=“<unique name”>

tags in theme to generate links• For each of those unique names

– Made a service call to retrieve content from Interwoven TeamSite for the label– Replaced the page name defined in portal with the name returned from TeamSite

• So now…– Changing the order of the tabs requires a code change in the theme– Adding a new tab is a code change– The out of box localization capabilities are useless

Page 6: 12 Things Not to Do on a Portal Project

6

But the Business Asked for It!And now the easy way to do it.

© IBM Corporation 2011

Great thing called the Manage Pages Portlet – Create pages and reorder them.

Could even use advanced properties to set names in other languages.

Use Profile Management to change my language to Spanish.

And now the navigation is re-ordered with the Spanish Human Resources title.

Use it to easily re-order.

Use Page Properties to set title, unique name, and friendly URL

Page 7: 12 Things Not to Do on a Portal Project

7

What happened to my homepage?What happens when lots of people like portal all at the same time

• Large Insurance company• Multiple ongoing projects

managed by Perficient• New project in a new

geographic location• Within two weeks our home

page was no longer visible• New project in Alabama had

created a new level 0 page and took over the entire taxonomy

© IBM Corporation 2011

Page 8: 12 Things Not to Do on a Portal Project

8

What happened to my homepage?What happens when lots of people like portal all at the same time

• Create a Portal Center of Competence• Make foundational artifacts available

– Login, standards, code samples, training, etc.

• Create an Information Architect role– Cut across all portal projects

• Train the PMO to work with the Portal CoC

Portal Governance could help avoid this issue next time.

Page 9: 12 Things Not to Do on a Portal Project

9

Where Did You Get These Stories??

• Experience– From over 500 Portal projects– We have some key strategic Portal Offerings– Been doing it for a while

• Health Check offering– Take three weeks to review– Includes a technical review– Includes a Project and PMO review– Give recommendations

• Some of our own mistakes– Yes we made a few over the past 11 years

Page 10: 12 Things Not to Do on a Portal Project

10

A Portal Strategy is a Good Thing, Right?But what if it never ends???

• Major Insurance implemented a 2 year portal strategy– Spent 3 months developing a strategy focused primarily on the technical aspects– Spent next 8 months implementing strategy

• Architecture• Content Management• Development• Release Management

– Delivered a moderately complex content based extranet portal• Portal was production ready• Problem was it was tied to a more important project which was 1 year behind

– Next took on higher complexity intranet• IT focused intranet• HR Intranet consolidating dozens of departmental intranet sites to WCM

– 3 weeks from production, portal program was suspended due to announced merger

Page 11: 12 Things Not to Do on a Portal Project

11

A Portal Strategy is a Good Thing, Right?It doesn’t have to be that complex

• Spend 2-3 weeks on a Roadmap instead– Architecture– Search– Content– Development– Integration– Governance– etc

• A major mission critical portal can be delivered in months– Obtain the technical experience if you don’t have it– Buy in from the business– Manage your dependencies

• IBM has a Portal NOW offering that can deliver capabilities in just a few weeks

Page 12: 12 Things Not to Do on a Portal Project

12

Methodology for Methodologies sakeWhen adherence to a set of processes gets in the way of actually

completing the project

• Large portal project with– Multiple phases– Over a couple years

• We were signed and ready to go

• Client said“You need to adhere to our Gating process.”

This is how it was described

Page 13: 12 Things Not to Do on a Portal Project

13

Methodology for Methodologies sakeIt doesn’t have to be that complex

• 30% increase in project time

• Missed deadlines• Lack of flexibility• Increased business

frustration• PMO has great quotes like

“I really don’t want to know about the technology or the solution, just tell me if you follow the process”

This is the actual process

From layoutsparks.com

Page 14: 12 Things Not to Do on a Portal Project

14

Methodology for Methodologies sakeIt doesn’t have to be that complex

• Portal is a loosely coupled, highly scalable technology

• Portal has many different pieces and parts

• It works best with iterations and “baby steps”

• It works best with frequent reviews and re-prioritizations

Consider any iterative type methodology• RUP• UML• SCRUMDo Not:• Gate• Mix with waterfall• Forget about the end goal

Page 15: 12 Things Not to Do on a Portal Project

15

Methodology for Methodologies sakeIt doesn’t have to be that complex

Management and Leadership

Page 16: 12 Things Not to Do on a Portal Project

16

We Can Get a Big ROI from PortalHow a major hotel chain showed huge ROI… in the negative direction!

• Major hotel chain wanted to rebuild reservation app– Each second in call handle time translates to $108,000

per year– Existing reservation app was an X Windows desktop

app

• Chose to rebuild the X Windows app in portal

• Call handle time went up 22 seconds when app went live– ROI of -2.3 million per year– Does not include cost of hardware, software, or labor

$ $ $ $

Page 17: 12 Things Not to Do on a Portal Project

17

What Went Wrong?

• Chose to migrate the UI almost as is– No User Experience refactoring– No user testing

• Did not have an experienced portal architect– Nobody lead the development team with best practices and

portal capabilities– Junior to mid level Java developers did not know how to develop

in portal

• Code was very inefficient and complex– One Java class had 13 levels of nesting and was 2000 lines long– McCabe Cyclomatic Complexity

• Counts number of execution paths• Several classes had complexity counts of over 20,000

Page 18: 12 Things Not to Do on a Portal Project

18

What Could they have done?Formal User Experience Project

Research Design & Validation Implementation

Proven user research and analysis techniques enable us to understand users’ goals, attitudes, and behaviors. We prioritize their needs against business and IT goals to define an experience strategy that guides our design decisions.

Based on user input, we define the information structure and develop layered blueprints, from information architecture through interaction and visual design. Our focus on brand integration and usability bring the user experience to life and ensure that it exceeds user expectations.

Development and Engineering teams work closely with Design teams to execute the supporting technical solutions. Perficient uses flexible collaboration models and program lifecycles, tailored to specific engagement type.

Page 19: 12 Things Not to Do on a Portal Project

19

I Built It But Now I Can’t Support ItCase 1• Who were they

– Small Company – Small IT department– Few resources

• What did they do?– Bought WebSphere Portal and declined

training– Told their DBA to install it– Put their business users through IBM WCM

Developer training– Hired an outside firm with zero Portal

experience

• Results?– 6 month and portal still not running– Multiple PMR’s that weren’t PMR’s– REALLY frustrated business users

Page 20: 12 Things Not to Do on a Portal Project

20

I Built It But Now I Can’t Support ItCase 2• Who were they

– Multi-national– Over-resourced IT Department– Global scope to support

• What did they do?– Bought WebSphere Portal– Had an experienced partner install it– Primarily content based site– Asked for a huge amount of customizations

• Results?– Implemented only ¾ of what they wanted– Needed ongoing support but only had ½ a developer– REALLY frustrated business users– Really frustrated end users

Page 21: 12 Things Not to Do on a Portal Project

21

I Built It But Now I Can’t Support ItProper Planning

• When Scoping ask about:– Business Priorities– Business’ ability to support new functionality

• IT should define:– Ongoing resource needs– What happens post launch

• Business and IT should:– Implement a feedback process– Plan deeper support post launch

– Even if only for a couple months

Don’t get yourself in too deep

Create a business and IT Plan

Page 22: 12 Things Not to Do on a Portal Project

22

When Developers Can’t DevelopJust how much access do Developer need to your portal environment?

• Key issues– No admin access to Dev– No admin access to test– No ability to change configurations

• Result– Significant delays to project

development

• Who were they– Large Company– Multiple releases per day– Configuration in the code type of

portlets

• What did they do?– Submit portlet WAR to sys admin– Wait– Test the portlet and get bugs– Wait for sys admin to configure

correctly– Something else goes wrong– Wait for access to log files– Wait some more

Page 23: 12 Things Not to Do on a Portal Project

23

When Developers Can’t DevelopJust how much access do Developer need to your portal environment?

• Best Practices– Establish rules for deployment– Establish times to deploy and bounce– Delegated admin for developers so

they have some control in Dev

• Best Practices– Give developers access to log files– Put System Admins in the

development loop– Troubleshooting– Advice

Page 24: 12 Things Not to Do on a Portal Project

24

Is Best of Breed Always BestWhen choosing the best gives the worst results

• Who– Very Large Financial Services Firm– $2 Million Content Portal– Multi-year development cycle

• What Technologies?– WebSphere Portal– Stellent / Oracle UCM

– Verity K2– Google Search Appliance

• Philosophy– Get the best tool regardless of how well it

works with other tools– Then just make it work

Page 25: 12 Things Not to Do on a Portal Project

25

Is Best of Breed Always Best When choosing the best gives the worst results

Process?1. Google Searches all content

1. This is an unsecured search

2. For each search result

1. Call Stellent/Verity to see if user was authorized

3. Paginate with max of 10 results per page

1. But only display authorized content

2. May only display one or two results per page

4. Large delay in getting search results

Best quote of the project:“Remember, I wasn’t here when they made this decision”

Page 26: 12 Things Not to Do on a Portal Project

26

When Web 2.0 is 2.MuchAjax is a good thing right?

• Major financial company selectedportal as their intranet platform

• Home page primarily content– Some content personalized– Most content shared and changes hourly at best

• Implemented every single portlet using AJAX– Previous intranet home page loaded in 2 seconds– New AJAX implementation

• 15 second page loads in single user scenario• 30+ seconds under load

Page 27: 12 Things Not to Do on a Portal Project

27

When Web 2.0 is 2.MuchBut I thought Ajax helped performance? What went wrong?

Request Portal PageRequest •Authorize and Identify User

•Determine available portlets

Portlets •Portal calls each portlet (Includes AJAX Portlets)•Aggregates into single HTML page

Aggregation •Portal aggregates portlet markup to HTML•Returns HTML and JavaScript for AJAX to user

HTML Page

Browser •Browser parses HTML page•Renders HTML

Browser •Finds reference resources•Requests images, CSS, JavaScript from web server

Individual Request for Images, CSS, JavaScript

Images, CSS, JavaScript

Browser•Renders Images and CSS•Executes JavaScript for AJAX calls

Individual JavaScript HTTP Request for each Portlet

Browser •Portal accepts rendering request for each portlet

Browser •Returns markup or JSON for each portlets

Browser•Portal or Web Server Accept the request•Returns Resource

AJAX compatible markup, e.g. JSON

Browser •Browser executes JavaScript•Renders HTML

Page 28: 12 Things Not to Do on a Portal Project

When Web 2.0 is 2.MuchBut why was what I just saw so bad?

• Assume 1 portlet, cacheable for 1 hour, 10,000 hits per hour

• Content retrieved in 500 ms

• Cached content retrieved in 20 ms

• Cached AJAX request retrieved in 10 ms

• 100 ms HTTP response time for AJAX request

• 10,000 hits formula – With AJAX:

• 1st request x 10ms + 500ms content retrieval + 100 ms http response = 610 ms

• 9999 requests x 10ms + 20 ms cached content retrieval + 100 ms http response = 1,299.87 seconds of rendering and wait time

• Does not include extra client CPU cycles to run JavaScript

• 10,000 hits formula – No AJAX:

• 1st request x 500ms + 9,999 requests x 20 ms = 200.48 seconds of rendering and wait time

• Removed AJAX on most portlets and got page load times to < 4 seconds under load

Page 29: 12 Things Not to Do on a Portal Project

29

AJAX is a Good Idea When…

• A portlet will take longer than a second to render• The content of the portlet is not common between users

– Portlet takes longer than a second to render– Content may change often and is minimally cacheable

• A portlet will likely be interacted with– Likely in place refreshes save entire page refreshes– Better user experience– Better performance

• When a portlet connects to a system which may be unreliable– Prevents portal from hanging if system fails– Lets user interact with remainder of portal

Page 30: 12 Things Not to Do on a Portal Project

30

When Not to Use a PortalComplex integration with Portal…………………..

• Who– Actually several companies– All had one or more complex

systems that worked in conjunction with the portal

• What:– Wanted to surface all functionality

in the portal– That includes really complex

campaigns, checkout, product display, etc.

• Result:– Either delays OR a failed project When your system architecture looks like this………

Page 31: 12 Things Not to Do on a Portal Project

31

When Not to Use a PortalComplex integration with Portal…………………..

• Best Practices– Portal works best to surface some

functionality from complex apps– Follow the 80/20 rule– Define the easiest approach to

meet the requirements. Like the diagram here

– For really complex apps, don’t put portal in front of the app– Use a side by side approach

– Remember the portal is an aggregation technology. You add complexity when the user experience demands it.

Follow a decision pattern like this……..

http://blogs.perficient.com/portals/?p=740

Page 32: 12 Things Not to Do on a Portal Project

32

Building My Own MVC ……..Or how to paint yourself into a corner• A really bright guy………

– Doesn’t like the existing MVC’s– Convinces the company to create their own MVC to be

used by all developers for portal and other developments– He leaves– The MVC team shrinks– Development on the MVC slows to a crawl

• A couple years pass– The portal is one or two major releases ahead– Java has been updated– WAS supports cool new functionality– A JSR portal spec is out

• The Portal development team– Is pulling their hair out http://www.flickr.com/photos/wiseacre/322964859/

Page 33: 12 Things Not to Do on a Portal Project

33

Building My Own MVC ……..Or how to paint yourself into a corner

• What they should have done– Choose a supported MVC

– JSF– Spring MVC– Struts

– Find other development tools and frameworks that will help– DOJO, Jquery– Spring– Hibernate, Ibatis– Display tag– Etc.

– When a new need comes up, look outside first– Decompiling and repackaging code is never the answer– Use the APIs available to you

– Explain the situation to the business – they will never ask you to build it from the ground up

Page 34: 12 Things Not to Do on a Portal Project

34

Infinite Loops on the Homepageand how it will take down your portal………………………….

• Who:– Company in the early days of portal– Employee Portal for thousands of people

across the United States

• What:– Developer introduced an infinite loop in a

portlet– Did simple system test– Put it on the home page

• Result:– Took the entire portal down as thousands

of users hit the portal

Page 35: 12 Things Not to Do on a Portal Project

35

Infinite Loops on the Homepageand how it will take down your portal………………………….• Best Practices

– Test Early, test often

– Do a baseline load and performance test at the beginning of your project

– Test different scenarios

– Content heavy

– App specific

– Home page and landing pages

• Options– Open source: JMeter, Selenium– Commercial: HPLoadrunner, Neotys,

webperformance

Page 36: 12 Things Not to Do on a Portal Project

36

Late Night with WebSphere Portal! You will probably be working instead of watching David Letterman’s top

10 list on Late Night if…10 We have really smart people, I’m sure they can figure

out this portal thing without any help at all.

9 The project team decides to use Agile and the PMO wraps their ‘gating’ process around it.

8 The integration team says, “We’ve almost decided on a Services layer.” It’s three months into the project.

7 The project manager has yet to notify anyone of a two month project delay and the business thinks the project will launch next week.

6 It’s month three of a 5 month project and you finally received sign off on requirements.

Page 37: 12 Things Not to Do on a Portal Project

37

Late Night with WebSphere Portal! You will probably be working instead of watching David Letterman’s top

10 list on Late Night if…

5 WCM isn’t absolutely perfect for us, let’s develop our own content solution.

4 The security team doesn’t need to be involved in the decision, I’m sure they will be on board.

3 You do a technical review and you hear the phrase, “I wasn’t here when they made this decision.” At least 5 times.

2 We don’t need to install the environments until the week before we really need them.

1 We are only 2 weeks from production and performance seems a bit slow. Maybe we should run a performance test.

Page 38: 12 Things Not to Do on a Portal Project

Daily unique content about content management, user experience, portals and other enterprise information technology solutions across a variety of industries.

Follow Perficient Online

Perficient.com/SocialMedia

Twitter.com/Perficient Facebook.com/Perficient

Page 39: 12 Things Not to Do on a Portal Project

About Perficient

Perficient is a leading information technology consulting firm serving

clients throughout North America.

We help clients implement business-driven technology solutions that

integrate business processes, improve worker productivity, increase

customer loyalty and create a more agile enterprise to better

respond to new business opportunities.

Page 40: 12 Things Not to Do on a Portal Project

PRFT Profile

Founded in 1997

Public, NASDAQ: PRFT

2010 Revenue of $215 million

20 major market locations throughout North America— Atlanta, Austin, Charlotte, Chicago, Cincinnati, Cleveland,

Columbus, Dallas, Denver, Detroit, Fairfax, Houston, Indianapolis, Minneapolis, New Orleans, Philadelphia, San Francisco, San Jose, St. Louis and Toronto

1,500+ colleagues

Dedicated solution practices

500+ enterprise clients (2010) and 85% repeat business rate

Alliance partnerships with major technology vendors

Multiple vendor/industry technology and growth awards

Page 41: 12 Things Not to Do on a Portal Project

Perficient brings deep solutions expertise and offers a complete set of flexible services to help clients implement business-driven IT solutions

Our Solutions Expertise & Services

Business-Driven Solutions• Enterprise Portals• SOA and Business Process

Management• Business Intelligence• User-Centered Custom Applications• CRM Solutions• Enterprise Performance

Management• Customer Self-Service• eCommerce & Product Information

Management• Enterprise Content Management• Industry-Specific Solutions• Mobile Technology• Security Assessments

41

Perficient Services End-to-End Solution Delivery IT Strategic Consulting IT Architecture Planning Business Process & Workflow

Consulting Usability and UI Consulting Custom Application Development Offshore Development Package Selection, Implementation

and Integration Architecture & Application Migrations Education