New GroupSwim Release – Fast and Smooth

June 5, 2009 by mikemicucci

We rolled out a significant upgrade to GroupSwim this week that will really increase its utility.

Performance: Most notably, we achieved a sweet  performance boost with most pages loading up to 50% faster.  We have been growing rapidly this year and the team did great work to improve capacity and throughput.  We appreciate everyone’s patience as we completed this upgrade.  We also have much more coming in the performance area so stay tuned.

Moderation: A new moderation feature is now available allowing site owners to moderate different content types (discussions, replies, files, wiki pages).  This feature, if turned on, requires any submission to be approved by a manager before it is posted.  The need for the feature has become more acute as GroupSwim has grown and is being used in different scenarios.    One popular use case is to create a developer style community like an Application Exchange where code and application submissions need to be vetted before becoming available to the whole community.    We are very excited about this feature as it expands the breadth of communities GroupSwim can address and will work great with our soon-to-be released Q&A capability.

Watchlist is now Following: From Day One, GroupSwim users could follow people, discussions, files and wiki pages via their watchlist.  We felt the feature was under-utilized and did some research to figure out why.  In short, it was too buried and a bit misunderstood.  Easily fixed.  We did three things to make this feature more prominent.  First we renamed it to the more popular “Following” (thank-you Twitter).   Second, we added a “Following”  feed to the home page  to improve visibility.  Third, we exposed more data on followers to provide another measure of popularity.  For example, users can now see how many followers they have.

Search: One of the most killer aspects of GroupSwim is our search.  However, in the past, the search box was only on the home page and group home pages.  Not anymore.  We’ve put search boxes everywhere so our customers can search where ever they want, when ever they want.  And, the search is contextual based on where they are in the application.  This change is going to be a big time saver for our customers.

Internet Explorer 8 Support: We added official support for Microsoft’s latest browser.  It is just taking hold out in the world, but we wanted to get ahead of the curve and certify on it anyway.

Of course we made a number of other tweaks and addressed a few nagging bugs.  The team definitely cleared out some cobwebs and the extra effort on the home page and performance has made a big difference.  Kick the tires a bit and let us know what you think.   You can also read the more detailed release notes, here, on the GroupSwim Pool.

GroupSwim Release Preview

May 18, 2009 by Jason

Starting tomorrow, we begin testing the next release of GroupSwim.  It is filled with great new features and improvements.  In addition to new stuff, we are changing our application infrastructure to be 100% cloud-based.  This will not only improve performance but also ensure the highest possible up-time; it also allows us to scale indefinitely as we continue to grow.  Here is a list of some of the new features:

  • Content moderation – this is a new way to interact with content.  Group owners can determine whether or not to moderate discussions, files and/or wiki edits.  Once a user contributes something that is moderated, it goes into a group queue where a group manager can approve the content or not.
  • Search everywhere – by popular request, we are adding more search boxes so users can search from almost anywhere in GroupSwim.
  • Home page refresh - we are adding additional feeds to the home page including the “Following” list and “Your” stuff, which lists anything where you have contributed.
  • Improve watchlist – we are rebranding the watchlist to “Following” and making it more prominent on the home page.
  • File uploader - upgrading software for uploading files and making it more intuitive.
  • Internet Explore 8.0 – adding support for IE 8.0.
  • Performance – we are taking additional steps to improve performance.  We are tackling this in multiple stages and this is the first one.

We look forward to rolling out this release in about two weeks.  Stay tuned.

Use Wiki Pages for Project Management

May 13, 2009 by Jason

Most project managers have horror stories about trying to manage projects using some combination of spreadsheets and Microsoft Project.  The vast majority of the time they are totally overkill.  Most projects have a workable number of tasks that get the majority of a project manager’s focus.  The previously mentioned tools are good when the number of tasks is large, but fall on their face in terms of ability to update quickly and disseminate information.  Using these tools creates a morass of file versions, software compatibility issues, etc.. I personally have experienced problems many times where I put together a project plan and then find out the client doesn’t have project or the right version of excel to see my plan.  THERE IS A BETTER WAY.

Use wiki pages (GroupSwim of course) to manage your projects.  There are good reasons:

  1. It is the ultimate shared platform – all you need is a browser
  2. Wiki pages are always up-to-date by their very nature
  3. All versions are captured and available in case of an audit or mistake
  4. No training or software required

Here is an example of a wiki page we used to manage a release of GroupSwim:

Tasklist

  • The schedule is at the top of the page and available for everyone to see
  • Each row represents a feature we built (or could be a task or phase of a project)
  • The narrow columns represent the different engineers participating in the release and how many hours of work they have (all zero since the release is complete).  At the end of each day, they updated their work with the remaining time
  • The final column was for status or issues
  • The links in the table connected to actual designs or other relevant documents that could be other wiki pages, documents, or discussions
  • The list below the tags shows every person who contributed to the wiki page or updated it
  • The list below this shows other related wiki pages, discussions or documents associated with this project
  • After updating the wiki page, you can blast out an email to all contributors letting them know there is an update for review

This one page represents an excellent snapshot of the project at any given time and does not require a complicated symphony of document updates and email exchanges.  Furthermore, if there is a question about the project or any specific line item, the user can launch a separate discussion that is linked back to this wiki page for context.

Using wiki pages to manage projects is clearly a better way provided you don’t need the feature of something like project that include automatic dependencies, critical path calculations, etc.  In my experience, few projects require these feature and even fewer project managers know project well enough to justify the effort of creating and updating the plans.  What’s your experience?

Using Spreadsheets to Collaborate can be a Mistake

May 1, 2009 by Jason

Most of us use spreadsheets to track information that involves no math or calculations.  The spreadsheet becomes a glorified table to hold and update information.  There are several reasons why this is a bad idea:

  1. Spread sheets are good for making calculations, they aren’t good and tracking who made what change and when
  2. Spread sheets are files and are not built to make version tracking easy
  3. Spread sheets need to be sent back and forth using email or downloaded changed and then uploaded

I’m not bagging on all spreadsheets because I use them all the time.  However, I use them when I’m doing math or require sorting, not tracking information.

The alternative is using wiki pages instead.  Here are the reasons why this is a good idea:

  1. There is only one version and no file to worry about
  2. All changes are tracked and can be backed out with one click
  3. No software required – all you need is a browser
  4. Updates and notifications are automatic

Issue logs, status reports, customer records, lists, text based documents are all ideal candidates for a wiki page versus a spreadsheet. I’m not suggesting that all spreadsheets are bad and never use Excel. I am suggesting the next time you automatically assume you need a spreadsheet to track or list things, you should consider using a wiki page instead.

GroupSwim interviewed by Stowe Boyd for Enterprise 2.0

April 28, 2009 by Jason

I spent 10 minutes chatting with Stowe Boyd about GroupSwim, Enterprise 2.0, and other fun stuff on the Enterprise 2.0 Blog.  Let me know what you think.

Collaboration Software Examples

April 28, 2009 by Jason

Collaboration software like GroupSwim addresses one or more issues organizations face today. They could include:

  • Losing information in a morass of email and disconnected documents
  • Wasting customer time as they struggle to find information they need to solve their problems
  • Getting work done and communicating across distributed teams and systems

If you are wondering how, you are in luck. Here are some examples of how collaboration software looks when it is deployed and in action.

SmartCompany is an example of a company that is using GroupSwim to collaborate internally. This site is one of our demo sites; it is configured so you can access it, but most internal sites are private. You can see there are a variety of groups that are a mix of organizations and functions. Try a couple of things to see the power of GroupSwim:

  1. Once you are in SmartCompany, search on “GroupSwim” in the search bar at the top right of the home page. You will see we provide a list of all discussions, emails, files or wiki pages that have anything to do with GroupSwim (this is a demo site so the content may not always make sense). Our search engine is extremely powerful and even searches the contents of documents like PDFs, PowerPoints, etc..
  2. Click on this link to see one of our wiki pages. This particular wiki page is an example of how you can combine images and text into a really easy to use “Frequently Asked Question”; your site comes with this same page. Wiki pages can be used to track issues, competitive profiles, request for proposals, and other dynamic documents that change frequently and multiple people work on them.

The Pool is an example of a customer community site. It is an excellent way to build a relationship with your customers. Try a couple of things to see how a vibrant customer community works:

  1. Check out the group we use to gather feature suggestions from our customers. They provide valuable input for us as we plan future releases.
  2. Click on this customer’s profile (he is awesome). He shares best practices about GroupSwim and provides great suggestions for us.

I hope these two examples provide a good vision of how collaboration software like GroupSwim might function.

3 Ways to Make Your Company Extinct

April 22, 2009 by Jason

The current economic climate is challenging companies like no other.  The advent of new technology and financial upheaval is only accelerating change.  The internet and changing workforce demographics present both opportunity and challenge, but few companies are really addressing them.  Industries like automobiles, newspapers, financial institutions and entertainment are prime examples.  No company is immune will eventually need to take steps to address this shifting landscape or will go extinct.  Here are a few mistakes that are easy to identify and cheap to avoid.

1. Rely on Email (Inboxychus)

The vast majority of companies continue to utilize traditional tools to communicate and collaborate.  Do you know of many companies that don’t rely on email and sending documents back and forth?  It is no secret that relying on email is both archaic and wholly inefficient.  It is foolish to think that maintaining this reliance is anything but a drag on a company’s efficiency.  The amount of information that workers in a dynamic environment need to function continues to grow, but the tools they have to access and manage it stay the same.

How to avoid extinction? Companies MUST invest in technology to help their employees better collaborate and communicate with one another if they really expect to get more from less.  There are plenty of technologies to try including wikis, instant messaging, internal forums, etc.  You best start establishing priorities and get busy, or your employees will continue to trod around in the mud.

2. Bore Your Customers (Stagnasaurus)

Many companies communicate with customers and partners through emails and static websites.  Consumers and business customers are accustomed to having information on-demand using Google, Wikipedia, Twitter and a host of other sources that have changed the way people find what they need.  Companies not upping their game furnishing better information for their customers will soon be left behind.

How to avoid extinction? Invest in building a customer community or other web presence that is dynamic, searchable and easy-to-use.  Some companies are even changing the way they market themselves.  They offer products, services and community as the core of their offering, not just a “product”.  When you buy a product or service from a company, you are forming a relationship with the company.  The better experience the company provides aside from the core offering, the more likely they are to keep that customer and sell them more stuff.

3. Install Software (Technologicus Wrex)

It never ceases to amaze me how many companies are still out there insisting on purchasing software that “must” be behind the firewall.  Like anything else, there are exceptions and I’m sure readers will pile on that this is crazy, but is it?  The only two legitimate reasons to install software in a data center are security and performance.  Well, I’ve got news for you.  Both issues can be addressed without getting into the business of maintaining software.

How to avoid extinction? Invest in solutions that don’t require hardware, software, training, customization, etc..  Most business applications are now available through SaaS or the cloud and they are awesome. They are out there if you look hard enough, and meet 80% of your business needs.  I’m willing to bet most of them are more secure than your data center.

Evolve and Thrive

These three areas are critically important for companies to improve in this environment.  All are often ignored and difficult to pin down with a measurable business case, hence why they don’t get funding.  In economic times like these, companies put off investments of this nature because the benefits are difficult to measure with precision; this is true.  You could make the same case for management training.  Companies invest millions of dollars training managers, but how can you measure if someone is a better manager?  Finanical results, employee retention, and other kinds of metrics are used, but can they be linked back to particular training class or skill; I don’t think so.  Most companies make a leap of faith that investing in their people and training will yield benefits in other areas.  I submit the same logic holds to investing in the three areas listed above.

Where do you think companies should be investing to stave off extinction?

Agile Approach to Secure Collaboration Software

April 21, 2009 by Jari Koister

As a business software company, we need to take security very seriously. As an Internet services company, we also must be agile to survive. Agility in software development and security often conflicts with one and the other. Agility involves rapid iterative development of new functionality. Securing a system involves being rigorous about securing functions and data through detailed designs and reviews, which normally slows down an agile process. Agile methods come with several weaknesses from a security point of view:

  1. Lack of sufficient documentation for proper security reviews.
  2. Iterative life-cycle that makes is hard to determine when to conduct reviews.
  3. Re-factoring which means code can change radically in the middle of a development cycle.

In order to meet our objectives, we have defined our process based on Agile methodology (we use scrum), but with some augmentations to ensure we consider security throughout the process. This makes security part of our DNA, but also enables us to work in an agile and efficient way. We base our augmented process on an analysis by Beznosov & Kruchten[1], who analyzed the mismatch between Agile processes on one hand and processes for delivering secure software on the other.

Even though we strive to work according to an agile process, we do produce some specifications as part of the process. We normally create interaction designs and product requirements as a starting point for a sprint. Product requirements are short stories and if necessary a more comprehensive description of the functionality.

If the functionality is complex, we further create a engineering requirements document (ERD), which spells out the different trade-offs from an implementation and architecture point of view. An ERD may become obsolete as we continue iterating, but since ERDs are documented as wikis and discussions related to wikis, they tend to stay fairly updated. In particular, we keep the security aspects of the ERD updated. The important role of the ERD is to ensure that certain aspects such as security and scalability are considered closely as part of our iterative development process. It is also something that can be reviewed and be used as a basis for security reviews.

We have identified a few points in our process where we conduct reviews from a security perspective. We try to do things multiple times and our experience have shown that we get best results if we conduct the review after initial PRD (during ERD, if it is needed) and at the end of the sprint. Philosophically, I compare this to the end-to-end argument in distributed systems design, which argues that certain checks are best done high in the communication stack.

Finally, we have a security gate keeper in the project. The gate keeper has the role of continuously challenging designs and implementations from a security perspective. This role has been particularly useful for us.

The following table summarize our augmentation of agile processes to ensure we develop secure enterprise software:

Aspect Problem Our Approach
Documentation Lack of appropriate documentation to understand security problem and approach. We scope requirements before a sprint to identify security requirements. If complex functionality, we create a living (wiki) document called ERD that is the central point for all important design and architecture decisions, in particular security. It is central point in the sense that some aspects are described in related discussions and files, rather than the wiki itself.
Life-cycle In agile processes it is difficult to find the right time to inject security reviews etc. We have a role in the project called the security gate keeper. (The Scrum Wizard)
Re-factoring Code can change radically several times during the course of a sprint. We apply the end-to-end argument in software engineering context. We review when first version of ERD is produces, and at the end of a sprint. In between we allow re-factoring.

I am sure other software companies deal with this in other ways and would be interested in hearing more about how you approach it?

[1] Beznosov, Konstantin & Kruchten, Phillipe. “Towards Agile Security Assurance,” 47–54. Proceedings of the 2004 Workshop on New Security Paradigms. White Point Beach Resort, Nova Scotia, Canada, September 20-23, 2004. New York, NY: Association for Computing Machinery, 2005.

GroupSwim Reading List – 04/15/2009

April 15, 2009 by Jason

Collaboration Software Return on Investement (ROI)

April 13, 2009 by Jason

As you can imagine, we think about return-on-investment (ROI) all the time when talking about or selling our collaboration software.  Most of us inherently know lots of goodness comes from collaborating more effectively with our colleagues, partners or customers, but the really important thing to focus on for ROI is not collaboration by itself.  Collaborating more effectively yields other goodies that generate ROI like time saved, expenses reduced, increased sales, etc.. To really calculate ROI, you need metrics, a baseline, and measured improvement.  This sounds obvious but people don’t often take it one step further. I’m finding they rarely have a business case or even have access to metrics to prove it out.

I’ll give you a very simplistic example I used with a customer the other day who was asking about ROI for a consulting organization:

  1. Average employee cost is $50/hour (if this is a large consulting organization, this is probably too low but let’s go with it to be conservative)
  2. GroupSwim through faster answering of questions, creating content through wiki pages, sharing files, on-boarding new employees, and searching information quickly can save the average employee two hours per month
  3. 2 hours * $50/hour * 1,000 employees * 12 months = $120,000
  4. ROI for this investment = 108%

My guess is these assumptions are very low and the ROI is probably higher.  The high growth, decentralized, new employee characteristics lead me to believe we can probably save more time for people than 2 hours per month, especially when they are new and learning how to consult.

We are going to talk more about ROI in future posts.  In fact, we are going to discuss how there is a whole range of ways to think about and measure ROI.  Certain things like reduced call volume to a support organization are easy to quantify.  Other benefits like increased sales are not as easy to pin down, but we have some ideas.  What do you think?