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 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

No notes for slide

12 Things Not to Do on a Portal Project

  1. 1. 12 Things Not to Do on a Portal Project<br />
  2. 2. Our Speaker<br />Michael Porter <br />Principal for Portal and Collaboration<br />Perficient<br />13 years' experience with portals and content management<br />Many multi-million dollar portal implementations for some of the world’s largest companies. <br />Michael supports Perficient’s sales and marketing organizations through the creation of industry-leading services that help clients understand their enterprise portal <br />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. <br />Prominent blogger at blogs.perficient.com/portals<br />Follow Mike on Twitter @PorterOnPortal<br />2<br />An audio/video recording of this webinar is available at Perficient.com/Webinars<br />
  3. 3. But the Business Asked for It!How to avoid using the great capabilities portal has out of the box<br />Well known company needed to revamp intranet<br />Corporate Communications driven portal<br />Had requirement that business could change everything without IT input<br />They had purchased TeamSite (Not everybody is perfect!)<br />Had several other common requirements such as<br />Clicking the logo takes you to the home page<br />If you are on the home page the logo is not clickable<br />
  4. 4. 4<br />But the Business Asked for It!How in the world do I make that darn logo non-linkable?<br />To make the logo non linkable, the implementer….<br />Wrote ½ a page of JavaScript code<br />It dynamically inspected the URL to see if “Home” was in the path<br />Somehow it had an AJAX call in there<br />After looking at it for 5 minutes, I had no idea how it really worked<br />Portal has this great thing called an API<br />
  5. 5. 5<br />But the Business Asked for It!How do I let them change the names of the top level navigation?<br />Created top level pages in portal and assigned custom unique names<br />Hardcoded <portalNavigation:urlGeneration contentNode=“<unique name”> tags in theme to generate links<br />For each of those unique names<br />Made a service call to retrieve content from Interwoven TeamSite for the label<br />Replaced the page name defined in portal with the name returned from TeamSite<br />So now…<br />Changing the order of the tabs requires a code change in the theme<br />Adding a new tab is a code change<br />The out of box localization capabilities are useless<br />
  6. 6. 6<br />But the Business Asked for It!And now the easy way to do it.<br />And now the navigation is re-ordered with the Spanish Human Resources title.<br />Use Profile Management to change my language to Spanish.<br />Great thing called the Manage Pages Portlet – Create pages and reorder them.<br />Use Page Properties to set title, unique name, and friendly URL<br />Use it to easily re-order.<br />Could even use advanced properties to set names in other languages.<br />© IBM Corporation 2011<br />
  7. 7. 7<br />What happened to my homepage?What happens when lots of people like portal all at the same time<br />Large Insurance company<br />Multiple ongoing projects managed by Perficient<br />New project in a new geographic location<br />Within two weeks our home page was no longer visible<br />New project in Alabama had created a new level 0 page and took over the entire taxonomy<br />© IBM Corporation 2011<br />
  8. 8. 8<br />What happened to my homepage?What happens when lots of people like portal all at the same time<br />Portal Governance could help avoid this issue next time.<br />Create a Portal Center of Competence<br />Make foundational artifacts available<br />Login, standards, code samples, training, etc.<br />Create an Information Architect role<br />Cut across all portal projects<br />Train the PMO to work with the Portal CoC<br />
  9. 9. 9<br />Where Did You Get These Stories??<br />Experience<br />From over 500 Portal projects<br />We have some key strategic Portal Offerings<br />Been doing it for a while<br />Health Check offering<br />Take three weeks to review<br />Includes a technical review<br />Includes a Project and PMO review<br />Give recommendations<br />Some of our own mistakes<br />Yes we made a few over the past 11 years<br />
  10. 10. 10<br />A Portal Strategy is a Good Thing, Right?But what if it never ends???<br />Major Insurance implemented a 2 year portal strategy<br />Spent 3 months developing a strategy focused <br /> primarily on the technical aspects<br />Spent next 8 months implementing strategy<br />Architecture<br />Content Management<br />Development<br />Release Management<br />Delivered a moderately complex content based extranet portal<br />Portal was production ready<br />Problem was it was tied to a more important project which was 1 year behind<br />Next took on higher complexity intranet<br />IT focused intranet<br />HR Intranet consolidating dozens of departmental intranet sites to WCM<br />3 weeks from production, portal program was suspended due to announced merger<br />
  11. 11. 11<br />A Portal Strategy is a Good Thing, Right?It doesn’t have to be that complex<br />Spend 2-3 weeks on a Roadmap instead<br />Architecture<br />Search<br />Content<br />Development<br />Integration<br />Governance<br />etc<br />A major mission critical portal can be delivered in months<br />Obtain the technical experience if you don’t have it<br />Buy in from the business<br />Manage your dependencies<br />IBM has a Portal NOW offering that can deliver capabilities in just a few weeks<br />
  12. 12. 12<br />Methodology for Methodologies sakeWhen adherence to a set of processes gets in the way of actually completing the project<br />Large portal project with<br />Multiple phases<br />Over a couple years<br />We were signed and ready to go<br />Client said“You need to adhere to our Gating process.”<br />This is how it was described<br />
  13. 13. 13<br />Methodology for Methodologies sakeIt doesn’t have to be that complex<br />30% increase in project time<br />Missed deadlines<br />Lack of flexibility<br />Increased business frustration<br />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”<br />From layoutsparks.com<br />This is the actual process<br />
  14. 14. 14<br />Methodology for Methodologies sakeIt doesn’t have to be that complex<br /><ul><li>Portal is a loosely coupled, highly scalable technology
  15. 15. Portal has many different pieces and parts
  16. 16. It works best with iterations and “baby steps”
  17. 17. It works best with frequent reviews and re-prioritizations</li></ul>Consider any iterative type methodology<br /><ul><li>RUP
  18. 18. UML
  19. 19. SCRUM</li></ul>Do Not:<br /><ul><li>Gate
  20. 20. Mix with waterfall
  21. 21. Forget about the end goal</li></li></ul><li>15<br />Methodology for Methodologies sakeIt doesn’t have to be that complex<br />Management and Leadership<br />
  22. 22. 16<br />We Can Get a Big ROI from PortalHow a major hotel chain showed huge ROI… in the negative direction!<br />Major hotel chain wanted to rebuild reservation app<br />Each second in call handle time translates to $108,000 per year<br />Existing reservation app was an X Windows desktop app<br />Chose to rebuild the X Windows app in portal<br />Call handle time went up 22 seconds when app went live<br />ROI of -2.3 million per year<br />Does not include cost of hardware, software, or labor<br />$ $ $ $<br />
  23. 23. 17<br />What Went Wrong?<br />Chose to migrate the UI almost as is<br />No User Experience refactoring<br />No user testing<br />Did not have an experienced portal architect<br />Nobody lead the development team with best practices and portal capabilities<br />Junior to mid level Java developers did not know how to develop in portal<br />Code was very inefficient and complex<br />One Java class had 13 levels of nesting and was 2000 lines long<br />McCabe Cyclomatic Complexity<br />Counts number of execution paths<br />Several classes had complexity counts of over 20,000<br />
  24. 24. 18<br />What Could they have done?Formal User Experience Project<br />
  25. 25. 19<br />I Built It But Now I Can’t Support ItCase 1<br /><ul><li>Who were they
  26. 26. Small Company
  27. 27. Small IT department
  28. 28. Few resources
  29. 29. What did they do?
  30. 30. Bought WebSphere Portal and declined training
  31. 31. Told their DBA to install it
  32. 32. Put their business users through IBM WCM Developer training
  33. 33. Hired an outside firm with zero Portal experience
  34. 34. Results?
  35. 35. 6 month and portal still not running
  36. 36. Multiple PMR’s that weren’t PMR’s
  37. 37. REALLY frustrated business users</li></li></ul><li>20<br />I Built It But Now I Can’t Support ItCase 2<br /><ul><li>Who were they
  38. 38. Multi-national
  39. 39. Over-resourced IT Department
  40. 40. Global scope to support
  41. 41. What did they do?
  42. 42. Bought WebSphere Portal
  43. 43. Had an experienced partner install it
  44. 44. Primarily content based site
  45. 45. Asked for a huge amount of customizations
  46. 46. Results?
  47. 47. Implemented only ¾ of what they wanted
  48. 48. Needed ongoing support but only had ½ a developer
  49. 49. REALLY frustrated business users
  50. 50. Really frustrated end users</li></li></ul><li>21<br />I Built It But Now I Can’t Support ItProper Planning<br /><ul><li>When Scoping ask about:
  51. 51. Business Priorities
  52. 52. Business’ ability to support new functionality
  53. 53. IT should define:
  54. 54. Ongoing resource needs
  55. 55. What happens post launch
  56. 56. Business and IT should:
  57. 57. Implement a feedback process
  58. 58. Plan deeper support post launch
  59. 59. Even if only for a couple months</li></ul>Don’t get yourself in too deep<br />Create a business and IT Plan<br />
  60. 60. 22<br />When Developers Can’t DevelopJust how much access do Developer need to your portal environment?<br /><ul><li>Who were they
  61. 61. Large Company
  62. 62. Multiple releases per day
  63. 63. Configuration in the code type of portlets
  64. 64. What did they do?
  65. 65. Submit portlet WAR to sys admin
  66. 66. Wait
  67. 67. Test the portlet and get bugs
  68. 68. Wait for sys admin to configure correctly
  69. 69. Something else goes wrong
  70. 70. Wait for access to log files
  71. 71. Wait some more
  72. 72. Key issues
  73. 73. No admin access to Dev
  74. 74. No admin access to test
  75. 75. No ability to change configurations
  76. 76. Result
  77. 77. Significant delays to project development</li></li></ul><li>23<br />When Developers Can’t DevelopJust how much access do Developer need to your portal environment?<br /><ul><li>Best Practices
  78. 78. Establish rules for deployment
  79. 79. Establish times to deploy and bounce
  80. 80. Delegated admin for developers so they have some control in Dev
  81. 81. Best Practices
  82. 82. Give developers access to log files
  83. 83. Put System Admins in the development loop
  84. 84. Troubleshooting
  85. 85. Advice </li></li></ul><li>24<br />Is Best of Breed Always BestWhen choosing the best gives the worst results<br /><ul><li>Who
  86. 86. Very Large Financial Services Firm
  87. 87. $2 Million Content Portal
  88. 88. Multi-year development cycle
  89. 89. What Technologies?
  90. 90. WebSphere Portal
  91. 91. Stellent / Oracle UCM
  92. 92. Verity K2
  93. 93. Google Search Appliance
  94. 94. Philosophy
  95. 95. Get the best tool regardless of how well it works with other tools
  96. 96. Then just make it work</li></li></ul><li>25<br />Is Best of Breed Always Best When choosing the best gives the worst results<br />Process?<br />Google Searches all content<br />This is an unsecured search<br />For each search result<br />Call Stellent/Verity to see if user was authorized<br />Paginate with max of 10 results per page<br />But only display authorized content<br />May only display one or two results per page<br />Large delay in getting search results<br />Best quote of the project:<br />“Remember, I wasn’t here when they made this decision”<br />
  97. 97. 26<br />When Web 2.0 is 2.MuchAjax is a good thing right?<br />Major financial company selected<br /> portal as their intranet platform <br />Home page primarily content<br />Some content personalized<br />Most content shared and changes hourly at best<br />Implemented every single portlet using AJAX<br />Previous intranet home page loaded in 2 seconds<br />New AJAX implementation<br />15 second page loads in single user scenario<br />30+ seconds under load<br />
  98. 98. When Web 2.0 is 2.MuchBut I thought Ajax helped performance? What went wrong?<br /> Request Portal Page<br />HTML Page<br /> Individual Request for Images, CSS, JavaScript<br /> Images, CSS, JavaScript<br />IndividualJavaScript HTTP Request for each Portlet <br /> AJAX compatible markup, e.g. JSON<br />27<br />
  99. 99. When Web 2.0 is 2.MuchBut why was what I just saw so bad?<br /><ul><li>Assume 1 portlet, cacheable for 1 hour, 10,000 hits per hour
  100. 100. Content retrieved in 500 ms
  101. 101. Cached content retrieved in 20 ms
  102. 102. Cached AJAX request retrieved in 10 ms
  103. 103. 100 ms HTTP response time for AJAX request
  104. 104. 10,000 hits formula – With AJAX:
  105. 105. 1st request x 10ms + 500ms content retrieval + 100 ms http response = 610 ms
  106. 106. 9999 requests x 10ms + 20 ms cached content retrieval + 100 ms http response = 1,299.87 seconds of rendering and wait time
  107. 107. Does not include extra client CPU cycles to run JavaScript
  108. 108. 10,000 hits formula – No AJAX:
  109. 109. 1st request x 500ms + 9,999 requests x 20 ms = 200.48 seconds of rendering and wait time
  110. 110. Removed AJAX on most portlets and got page load times to < 4 seconds under load</li></li></ul><li>29<br />AJAX is a Good Idea When…<br />A portlet will take longer than a second to render<br />The content of the portlet is not common between users<br />Portlet takes longer than a second to render<br />Content may change often and is minimally cacheable<br />A portlet will likely be interacted with<br />Likely in place refreshes save entire page refreshes<br />Better user experience<br />Better performance<br />When a portlet connects to a system which may be unreliable<br />Prevents portal from hanging if system fails<br />Lets user interact with remainder of portal<br />
  111. 111. 30<br />When Not to Use a PortalComplex integration with Portal…………………..<br /><ul><li>Who
  112. 112. Actually several companies
  113. 113. All had one or more complex systems that worked in conjunction with the portal
  114. 114. What:
  115. 115. Wanted to surface all functionality in the portal
  116. 116. That includes really complex campaigns, checkout, product display, etc.
  117. 117. Result:
  118. 118. Either delays OR a failed project</li></ul>When your system architecture looks like this………<br />
  119. 119. 31<br />When Not to Use a PortalComplex integration with Portal…………………..<br /><ul><li>Best Practices
  120. 120. Portal works best to surface some functionality from complex apps
  121. 121. Follow the 80/20 rule
  122. 122. Define the easiest approach to meet the requirements. Like the diagram here
  123. 123. For really complex apps, don’t put portal in front of the app
  124. 124. Use a side by side approach
  125. 125. Remember the portal is an aggregation technology. You add complexity when the user experience demands it.</li></ul>Follow a decision pattern like this……..<br />http://blogs.perficient.com/portals/?p=740<br />
  126. 126. 32<br />Building My Own MVC ……..Or how to paint yourself into a corner<br /><ul><li>A really bright guy………
  127. 127. Doesn’t like the existing MVC’s
  128. 128. Convinces the company to create their own MVC to be used by all developers for portal and other developments
  129. 129. He leaves
  130. 130. The MVC team shrinks
  131. 131. Development on the MVC slows to a crawl
  132. 132. A couple years pass
  133. 133. The portal is one or two major releases ahead
  134. 134. Java has been updated
  135. 135. WAS supports cool new functionality
  136. 136. A JSR portal spec is out
  137. 137. The Portal development team
  138. 138. Is pulling their hair out</li></ul>http://www.flickr.com/photos/wiseacre/322964859/<br />
  139. 139. 33<br />Building My Own MVC ……..Or how to paint yourself into a corner<br /><ul><li>What they should have done
  140. 140. Choose a supported MVC
  141. 141. JSF
  142. 142. Spring MVC
  143. 143. Struts
  144. 144. Find other development tools and frameworks that will help
  145. 145. DOJO, Jquery
  146. 146. Spring
  147. 147. Hibernate, Ibatis
  148. 148. Display tag
  149. 149. Etc.
  150. 150. When a new need comes up, look outside first
  151. 151. Decompiling and repackaging code is never the answer
  152. 152. Use the APIs available to you
  153. 153. Explain the situation to the business – they will never ask you to build it from the ground up</li></li></ul><li>34<br />Infinite Loops on the Homepageand how it will take down your portal………………………….<br /><ul><li>Who:
  154. 154. Company in the early days of portal
  155. 155. Employee Portal for thousands of people across the United States
  156. 156. What:
  157. 157. Developer introduced an infinite loop in a portlet
  158. 158. Did simple system test
  159. 159. Put it on the home page
  160. 160. Result:
  161. 161. Took the entire portal down as thousands of users hit the portal</li></li></ul><li>35<br />Infinite Loops on the Homepageand how it will take down your portal………………………….<br /><ul><li>Best Practices
  162. 162. Test Early, test often
  163. 163. Do a baseline load and performance test at the beginning of your project
  164. 164. Test different scenarios
  165. 165. Content heavy
  166. 166. App specific
  167. 167. Home page and landing pages
  168. 168. Options
  169. 169. Open source: JMeter, Selenium
  170. 170. Commercial: HPLoadrunner, Neotys, webperformance</li></li></ul><li>36<br />Late Night with WebSphere Portal! You will probably be working instead of watching David Letterman’s top 10 list on Late Night if…<br />10 We have really smart people, I’m sure they can figure out this portal thing without any help at all.<br />9 The project team decides to use Agile and the PMO wraps their ‘gating’ process around it.<br />8 The integration team says, “We’ve almost decided on a Services layer.” It’s three months into the project.<br />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.<br />6 It’s month three of a 5 month project and you finally received sign off on requirements.<br />
  171. 171. 37<br />Late Night with WebSphere Portal! You will probably be working instead of watching David Letterman’s top 10 list on Late Night if…<br />5 WCM isn’t absolutely perfect for us, let’s develop our own content solution.<br />4 The security team doesn’t need to be involved in the decision, I’m sure they will be on board.<br />3 You do a technical review and you hear the phrase, “I wasn’t here when they made this decision.” At least 5 times.<br />2 We don’t need to install the environments until the week before we really need them.<br />1 We are only 2 weeks from production and performance seems a bit slow. Maybe we should run a performance test.<br />
  172. 172. Follow Perficient Online<br />Perficient.com/SocialMedia<br />Daily unique content about content management, user experience, portals and other enterprise information technology solutions across a variety of industries.<br />Twitter.com/Perficient<br />Facebook.com/Perficient<br />
  173. 173. About Perficient<br />Perficient is a leading information technology consulting firm serving clients throughout North America. <br />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. <br />
  174. 174. PRFT Profile<br /><ul><li>Founded in 1997
  175. 175. Public, NASDAQ: PRFT
  176. 176. 2010 Revenue of $215 million
  177. 177. 20 major market locations throughout North America
  178. 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. 179. 1,500+ colleagues
  180. 180. Dedicated solution practices
  181. 181. 500+ enterpriseclients (2010) and 85% repeat business rate
  182. 182. Alliance partnerships with major technology vendors
  183. 183. Multiple vendor/industry technology and growth awards</li></li></ul><li>Perficient brings deep solutions expertise and offers a complete set of flexible services to help clients implement business-driven IT solutions<br />Our Solutions Expertise & Services<br />Business-Driven Solutions<br />Enterprise Portals<br />SOA and Business Process Management<br />Business Intelligence<br />User-Centered Custom Applications<br />CRM Solutions<br />Enterprise Performance Management<br />Customer Self-Service<br />eCommerce & Product Information Management<br />Enterprise Content Management<br />Industry-Specific Solutions<br />Mobile Technology<br />Security Assessments<br />41<br />Perficient Services<br /><ul><li>End-to-End Solution Delivery
  184. 184. IT Strategic Consulting
  185. 185. IT Architecture Planning
  186. 186. Business Process & Workflow Consulting
  187. 187. Usability and UI Consulting
  188. 188. Custom Application Development
  189. 189. Offshore Development
  190. 190. Package Selection, Implementation and Integration
  191. 191. Architecture & Application Migrations
  192. 192. Education</li>