Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

12 Things Not to Do on a Portal Project


Published on

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 …

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.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. 12 Things Not to Do on a Portal Project
  • 2. Our Speaker
    Michael Porter
    Principal for Portal and Collaboration
    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
    Follow Mike on Twitter @PorterOnPortal
    An audio/video recording of this webinar is available at
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 6
    But the Business Asked for It!And now the easy way to do it.
    And now the navigation is re-ordered with the Spanish Human Resources title.
    Use Profile Management to change my language to Spanish.
    Great thing called the Manage Pages Portlet – Create pages and reorder them.
    Use Page Properties to set title, unique name, and friendly URL
    Use it to easily re-order.
    Could even use advanced properties to set names in other languages.
    © IBM Corporation 2011
  • 7. 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
  • 8. 8
    What happened to my homepage?What happens when lots of people like portal all at the same time
    Portal Governance could help avoid this issue next 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
  • 9. 9
    Where Did You Get These Stories??
    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
  • 10. 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
    Content Management
    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
  • 11. 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
    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
  • 12. 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
  • 13. 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
  • 14. 14
    Methodology for Methodologies sakeIt doesn’t have to be that complex
    • Portal is a loosely coupled, highly scalable technology
    • 15. Portal has many different pieces and parts
    • 16. It works best with iterations and “baby steps”
    • 17. It works best with frequent reviews and re-prioritizations
    Consider any iterative type methodology
    Do Not:
    • Gate
    • 20. Mix with waterfall
    • 21. Forget about the end goal
  • 15
    Methodology for Methodologies sakeIt doesn’t have to be that complex
    Management and Leadership
  • 22. 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
    $ $ $ $
  • 23. 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
  • 24. 18
    What Could they have done?Formal User Experience Project
  • 25. 19
    I Built It But Now I Can’t Support ItCase 1
    • Who were they
    • 26. Small Company
    • 27. Small IT department
    • 28. Few resources
    • 29. What did they do?
    • 30. Bought WebSphere Portal and declined training
    • 31. Told their DBA to install it
    • 32. Put their business users through IBM WCM Developer training
    • 33. Hired an outside firm with zero Portal experience
    • 34. Results?
    • 35. 6 month and portal still not running
    • 36. Multiple PMR’s that weren’t PMR’s
    • 37. REALLY frustrated business users
  • 20
    I Built It But Now I Can’t Support ItCase 2
    • Who were they
    • 38. Multi-national
    • 39. Over-resourced IT Department
    • 40. Global scope to support
    • 41. What did they do?
    • 42. Bought WebSphere Portal
    • 43. Had an experienced partner install it
    • 44. Primarily content based site
    • 45. Asked for a huge amount of customizations
    • 46. Results?
    • 47. Implemented only ¾ of what they wanted
    • 48. Needed ongoing support but only had ½ a developer
    • 49. REALLY frustrated business users
    • 50. Really frustrated end users
  • 21
    I Built It But Now I Can’t Support ItProper Planning
    • When Scoping ask about:
    • 51. Business Priorities
    • 52. Business’ ability to support new functionality
    • 53. IT should define:
    • 54. Ongoing resource needs
    • 55. What happens post launch
    • 56. Business and IT should:
    • 57. Implement a feedback process
    • 58. Plan deeper support post launch
    • 59. Even if only for a couple months
    Don’t get yourself in too deep
    Create a business and IT Plan
  • 60. 22
    When Developers Can’t DevelopJust how much access do Developer need to your portal environment?
    • Who were they
    • 61. Large Company
    • 62. Multiple releases per day
    • 63. Configuration in the code type of portlets
    • 64. What did they do?
    • 65. Submit portlet WAR to sys admin
    • 66. Wait
    • 67. Test the portlet and get bugs
    • 68. Wait for sys admin to configure correctly
    • 69. Something else goes wrong
    • 70. Wait for access to log files
    • 71. Wait some more
    • 72. Key issues
    • 73. No admin access to Dev
    • 74. No admin access to test
    • 75. No ability to change configurations
    • 76. Result
    • 77. Significant delays to project development
  • 23
    When Developers Can’t DevelopJust how much access do Developer need to your portal environment?
    • Best Practices
    • 78. Establish rules for deployment
    • 79. Establish times to deploy and bounce
    • 80. Delegated admin for developers so they have some control in Dev
    • 81. Best Practices
    • 82. Give developers access to log files
    • 83. Put System Admins in the development loop
    • 84. Troubleshooting
    • 85. Advice
  • 24
    Is Best of Breed Always BestWhen choosing the best gives the worst results
    • Who
    • 86. Very Large Financial Services Firm
    • 87. $2 Million Content Portal
    • 88. Multi-year development cycle
    • 89. What Technologies?
    • 90. WebSphere Portal
    • 91. Stellent / Oracle UCM
    • 92. Verity K2
    • 93. Google Search Appliance
    • 94. Philosophy
    • 95. Get the best tool regardless of how well it works with other tools
    • 96. Then just make it work
  • 25
    Is Best of Breed Always Best When choosing the best gives the worst results
    Google Searches all content
    This is an unsecured search
    For each search result
    Call Stellent/Verity to see if user was authorized
    Paginate with max of 10 results per page
    But only display authorized content
    May only display one or two results per page
    Large delay in getting search results
    Best quote of the project:
    “Remember, I wasn’t here when they made this decision”
  • 97. 26
    When Web 2.0 is 2.MuchAjax is a good thing right?
    Major financial company selected
    portal 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
  • 98. When Web 2.0 is 2.MuchBut I thought Ajax helped performance? What went wrong?
    Request Portal Page
    HTML Page
    Individual Request for Images, CSS, JavaScript
    Images, CSS, JavaScript
    IndividualJavaScript HTTP Request for each Portlet
    AJAX compatible markup, e.g. JSON
  • 99. 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
    • 100. Content retrieved in 500 ms
    • 101. Cached content retrieved in 20 ms
    • 102. Cached AJAX request retrieved in 10 ms
    • 103. 100 ms HTTP response time for AJAX request
    • 104. 10,000 hits formula – With AJAX:
    • 105. 1st request x 10ms + 500ms content retrieval + 100 ms http response = 610 ms
    • 106. 9999 requests x 10ms + 20 ms cached content retrieval + 100 ms http response = 1,299.87 seconds of rendering and wait time
    • 107. Does not include extra client CPU cycles to run JavaScript
    • 108. 10,000 hits formula – No AJAX:
    • 109. 1st request x 500ms + 9,999 requests x 20 ms = 200.48 seconds of rendering and wait time
    • 110. Removed AJAX on most portlets and got page load times to < 4 seconds under load
  • 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
  • 111. 30
    When Not to Use a PortalComplex integration with Portal…………………..
    • Who
    • 112. Actually several companies
    • 113. All had one or more complex systems that worked in conjunction with the portal
    • 114. What:
    • 115. Wanted to surface all functionality in the portal
    • 116. That includes really complex campaigns, checkout, product display, etc.
    • 117. Result:
    • 118. Either delays OR a failed project
    When your system architecture looks like this………
  • 119. 31
    When Not to Use a PortalComplex integration with Portal…………………..
    • Best Practices
    • 120. Portal works best to surface some functionality from complex apps
    • 121. Follow the 80/20 rule
    • 122. Define the easiest approach to meet the requirements. Like the diagram here
    • 123. For really complex apps, don’t put portal in front of the app
    • 124. Use a side by side approach
    • 125. Remember the portal is an aggregation technology. You add complexity when the user experience demands it.
    Follow a decision pattern like this……..
  • 126. 32
    Building My Own MVC ……..Or how to paint yourself into a corner
    • A really bright guy………
    • 127. Doesn’t like the existing MVC’s
    • 128. Convinces the company to create their own MVC to be used by all developers for portal and other developments
    • 129. He leaves
    • 130. The MVC team shrinks
    • 131. Development on the MVC slows to a crawl
    • 132. A couple years pass
    • 133. The portal is one or two major releases ahead
    • 134. Java has been updated
    • 135. WAS supports cool new functionality
    • 136. A JSR portal spec is out
    • 137. The Portal development team
    • 138. Is pulling their hair out
  • 139. 33
    Building My Own MVC ……..Or how to paint yourself into a corner
    • What they should have done
    • 140. Choose a supported MVC
    • 141. JSF
    • 142. Spring MVC
    • 143. Struts
    • 144. Find other development tools and frameworks that will help
    • 145. DOJO, Jquery
    • 146. Spring
    • 147. Hibernate, Ibatis
    • 148. Display tag
    • 149. Etc.
    • 150. When a new need comes up, look outside first
    • 151. Decompiling and repackaging code is never the answer
    • 152. Use the APIs available to you
    • 153. Explain the situation to the business – they will never ask you to build it from the ground up
  • 34
    Infinite Loops on the Homepageand how it will take down your portal………………………….
    • Who:
    • 154. Company in the early days of portal
    • 155. Employee Portal for thousands of people across the United States
    • 156. What:
    • 157. Developer introduced an infinite loop in a portlet
    • 158. Did simple system test
    • 159. Put it on the home page
    • 160. Result:
    • 161. Took the entire portal down as thousands of users hit the portal
  • 35
    Infinite Loops on the Homepageand how it will take down your portal………………………….
    • Best Practices
    • 162. Test Early, test often
    • 163. Do a baseline load and performance test at the beginning of your project
    • 164. Test different scenarios
    • 165. Content heavy
    • 166. App specific
    • 167. Home page and landing pages
    • 168. Options
    • 169. Open source: JMeter, Selenium
    • 170. Commercial: HPLoadrunner, Neotys, webperformance
  • 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.
  • 171. 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.
  • 172. Follow Perficient Online
    Daily unique content about content management, user experience, portals and other enterprise information technology solutions across a variety of industries.
  • 173. 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.
  • 174. PRFT Profile
    • Founded in 1997
    • 175. Public, NASDAQ: PRFT
    • 176. 2010 Revenue of $215 million
    • 177. 20 major market locations throughout North America
    • 178. 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
    • 179. 1,500+ colleagues
    • 180. Dedicated solution practices
    • 181. 500+ enterpriseclients (2010) and 85% repeat business rate
    • 182. Alliance partnerships with major technology vendors
    • 183. Multiple vendor/industry technology and growth awards
  • 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
    Perficient Services
    • End-to-End Solution Delivery
    • 184. IT Strategic Consulting
    • 185. IT Architecture Planning
    • 186. Business Process & Workflow Consulting
    • 187. Usability and UI Consulting
    • 188. Custom Application Development
    • 189. Offshore Development
    • 190. Package Selection, Implementation and Integration
    • 191. Architecture & Application Migrations
    • 192. Education