ESME Blog

enterprise microsharing in a process context
October 29, 2008

A Vote of Thanks

Author: darren - Categories: Background - Tags: , , , , , , ,

The ESME Project has come a long way in only five months, from its genesis in a conversation between people who had never met, to a demo-grade prototype which has been shown on a live stage to a crowds of thousands in Las Vegas and Berlin. This has been achieved in the spare time of a fantastic team of people, but what I want to talk about here is the support we have had along the way. The people and companies mentioned here deserve our thanks for being there when we needed them on our journey. In alphabetical order, they are as follows:

Adobe

An early, though temporary, member of the ESME team was Matthias Zeller of Adobe. Matthias was instrumental in introducing the team to Scrum, a project management technique which revolves around multi-week implementation “sprints” and daily quickfire team status meetings. Matthias’ great gift to the team, via Adobe, was the use of an Adobe Connect Pro room and a daily slot on a conference call number. Adobe Connect Pro allows us to gather as a team in a shared space where we can share live desktops, make notes and draw on a whiteboard together – key tools in the early phases of design. Adobe’s help has enabled us to use Scrum to function as a globally-distributed agile team, able to resolve in minutes issues which might have taken days to resolve via email exchange.

Assembla

While Adobe provided us with real-time collaboration tools, the good folks at Assembla provided us with all the asycnhronous collaboration tools that are essential to running a software project: source control, bug tracking, project documentation wiki and file upload/download. On top of this, they providing their own functionality to help with Scrum-based projects, and they even do this for free for modestly-sized projects such as our own. In our case, we just checked the box labelled “Trac with Subversion” and off we went. In their own words:

Trac is a popular open source ticketing system, with the mission to “help developers write great software while staying out of the way.”, if you are familiar with Trac, this package is perfect for you. In this configuration, you will get a Subversion repository you can easily manage and other enhancements like a simplified team management, HTML alerts (called “notifications” in trac), and hourly and weekly alert summaries. You can upload your existing Trac directory and import your existing Subversion repository.

Subversion is the most popular centralized source code repository and version control system. Our subversion tool includes email alerts on commit, code browsing, linking of comments to tickets, and a post-commit hook to trigger your own actions. We know that reliability is important for subversion users, so we backup to failover servers.

If Trac and/or Subversion are not your particular tools of choice, they also offer source control using Git & Mercurial, and their own Wiki and ticketing system. In their latest offering there is a Mylyn connector for Eclipse (Eclipse-integrated source & ticket control with Mylyn is awesome) and even a Twitter tool so you can feed your project activity into Twitter. Hmmm… must talk to them about ESME integration. :-)

Families & Friends

Everyone in the ESME team has worked on the project in their own time. As we have approached our various internal deadlines, this has meant spending significant amounts of time away from our loved ones, who have supported us amazingly well in our endeavour and complained only when we have been truly overdoing it. One strength of our team is that we are always able to carry on if individual team members need time and space, ready to pick up again when they come back to the project, but even so we are fortunate to have got this far with personal relationships still intact.

Google

Our primary means of team communication in between daily Scrum calls has been a private Google group for the core team. We are slowly moving most of the traffic from this group to the public esme-dev* Google group, but we still use the private group for organisational discussions, as well as plotting how to win the next Demo Jam away from the eyes of our competitors. :-)   In addition, since we took the project open source in September, we now use Google Code* to host the project source code, issue log & documentation. I don’t think Google have made much (if any) money from us in this way – there aren’t too many advertisers who want to be associated with an open-source enterprise micro-messaging platform just yet – and so Google deserve our thanks for providing these services.

Joyent

Joyent provide cloud-based hosting on heavy-duty Sun servers running OpenSolaris. In our earlier days, they generously offered to host an ESME instance for us, running on SAP’s NetWeaver platform. We would really have loved to take them up on the offer, but we couldn’t figure out any way of getting a NetWeaver license from SAP to do this. We’re still enaging with SAP on this issue via the SAP Mentor programme (several of the ESME team are SAP Mentors), but right now SAP just don’t have a licensing or operational model for working with community-based teams. They are definitely thinking about it – in some quarters at least – but we are not there yet, which is a shame. There is a lot to be gained from showing how SAP can work in the cloud, and Joyent provide the kind of heavy-duty infrastructure that SAP installations can often require.

Plurk

Plurk was the service that really started us thinking about the potential for micromessaging in the enterprise. During a Twitter outage, a bunch of us congregated their for a while. The differences between Twitter and Plurk got us talking about what we in the enterprise software world would want from such a service, and that conversation led directly to where we are now.

RedMonk

Open-source analyst firm RedMonk is made up of the smartest quartet of people this side of MIT, and they have been enaging with us in small but important ways ever since we started. Among many other contributions from them, this article was prompted by James Governor quite rightly pointing out that we’d been using a lot of free help and not thanking anyone publicly for it. James tell it like it is, and that is a highly valuable attribute. Michael Coté did a great video interview with some of the team, Stephen O’Grady has helped us with some thinking about open source business models, and Tom Raftery has us thinking about how to make software green – in our case, designing a messaging system with awesome performance and scalability, meaning fewer servers generating heat in datacentres.

SAP

Most of the people on the ESME team are involved in the SAP ecosystem in one way or another – working for SAP partners, SAP customers, even for SAP itself, but also passionate and dedicated to what SAP is about. Many of us are SAP Mentors, and of course our public demonstrations of ESME to date have been at the SAP Tech Ed conferences. SAP has paid for our entry to these conferences, and has even loaned us a server hosted at the SAP Co-Innovation Lab so that we can run ESME on the SAP NetWeaver platform. Most of the enterprise-oriented thinking around ESME is based on our experience working in the SAP arena. We hope that SAP sees the value in this, and is able to come up with some kind of community licensing scheme that will make projects like ours viable.

Siemens SIS

One of our team works for Siemens SIS, and the Siemens name is one of the factors that got us an entry into Demo Jam – there’s nothing like having a big-name customer reference on the entry. More recently, Siemens SIS have been a really useful sounding board for discussing such things as cloud-hosted SAP NetWeaver and some of the large-enterprise-scale business scenarios for ESME.

Twitter

Last on the list, but reallt the first: Twitter is really where this all began. The core team behind ESME started off as a Twitter-based network of people from the SAP community, and we still regularly use Twitter alongside ESME. We do not compete with Twitter at all – in fact we are completely complementary. Twitter is the PSTN, we are the PBX – or to translate that from telecomms acronyms, Twitter runs a public, accessible-to-all communications service, whereas we focus on running within and between the boundaries of companies. There are overlaps in functionality, but a completely different emphasis on features.

September 6, 2008

Going large in microsharing

Author: dennis - Categories: Design - Tags: , , , , ,

Many of the people and companies where ESME could be useful may not be familiar with the notion of microsharing. They’ll maybe have heard about some of the cool things happening on the web like Twitter, Plurk, Pownce and Jaiku but may not be sure what they mean. Microsharing is about making connections between people you already know and discovering those you don’t in an environment that allows you to easily find the information you need that helps you get things done.That’s the start. There is much, much more but that’s a good use case to be mulling over.

Even those that have will be concerned about security issues. As we make ready for showing ESME to the world, the security issue has been something that we have been noodling around. This article from ReadWriteWeb puts it into perspective and this extract makes clear the nature of the problem.

Enabling secure, fine-grained communication across the firewall. This is the big issue for enterprises. Not many vendors do this right yet. Today we see too much binary “you are either inside or outside”. The winners will enable security in a much more fine-grained way.

Unfortunately, there is one section where the author misses the mark by a country mile:

The vendors who really get it, who are driving this include Wordpress, Google and 37 Signals. The losers in this game will be Oracle, SAP and lots of other traditional enterprise software vendors. The incumbents understand the problem and have plenty of smart developers and they have the capital to buy any of the start-ups. But they face the classic “innovator’s dilemma”. Any serious move in this direction will hurt their current cash cow, validate the start-ups and alienate their allies in the internal IT departments.

I find these kind of sweeping statements disingenuous. I don’t care how much the writer thinks they ‘know.’ There is no substitute for a reality check. In a previous article, I referenced Thomas Vander Wal’s view on the UI side of things and in yet another, Mike Gotta  talks about Oracle and SAP as dark horses. I’m not going to say too much but I do know SAP gets this far better than people give it credit for. The business model issue is real but some of us on the ESME team think we know how that can be solved. Oh yes – and one thing the big players understand very well: building robust applications at scale. That’s a huge challenge for any other player, especially when it comes to integrating the solutions. That’s where ESME is going to score a slam dunk. From day one, we made it clear that having hooks to NetWeaver and an ABAP client would be high on our agenda. We’ve done one and we’re hot on the other.

Image credit: ReadWriteWeb

Reblog this post [with Zemanta]

September 5, 2008

Purpose and context

Author: dennis - Categories: Design - Tags: , , ,

This from Thomas Vander Wal , the person who coined the term ‘folksonomies’ gives credence to the general ideas behind ESME:

As has always been the case large enterprise systems are worked around through the use of smaller and more nimble solutions that augment the existing tools. Even in Dan’s [Rosenberg, SAP] incredible demo I saw gaps for these tools. The quick tools that can fill these gaps are blogs, wikis, social bookmarking, tagging, Twitter type sharing, Veodia type video sharing, instant messaging, etc. There are many avenues to quickly capture information and understanding and share it. These tools get out of the way and allow what is in someone’s head to get digitized and later structured by the individual themselves or other people whom have had the information shared with them in a community space. This turns into flows through streams that can be put into many contexts and needs as well as reused as needed.

The key to making these tools truly useful comes in the integrations that can be offered. It’s not enough that such tools have a purpose, they need embedding into the processes people are engaged in so that the all important traceability and auditability can be applied.

Reblog this post [with Zemanta]

September 4, 2008

CapGemini’s assessment

Author: dennis - Categories: Vision - Tags: , ,

Flattering commentary from no less than CapGemini’s Andy Mulholland. I first met Andy way back when, maybe 10 years ago in London. He’s always been a great thinker, leader and conversationalist. Talk about how time flies:

First up is SAP, who deservedly, or not, are often thought of as being pretty staid, but are right out there in the forefront of Micro Blogging with Twitter. Actually, SAP are doing pretty well in the use of ‘interactive’ technologies to support their customers, partners and their own staff, and have brought into their in-house team some hot expertise from some well known Web 2.0 leaders. My SAP colleagues are active in this for the simple reason that they tell me it works for them in making ‘sharing’ of information, expertise, etc easier. However Twitter is a long way further on from the now fairly mature use of the basic capabilities that ‘Wiki’ and ‘Blog’ based collaboration provides so to find ESME, Enterprise Social Messaging Experiment, a behind the Firewall version of Twitter running on Netweaver was pretty interesting.

Reblog this post [with Zemanta]

Anatomy of a community based project

Author: dennis - Categories: Background - Tags: , , ,

I posted this at SDN. It is worth reproducing here: This is an edited version where the comments from some team members have been moved to their respective inidividual pages

Introduction

Describing the mechanics of any project is tough, especially if you’re an insider. Detailing what’s happened with ESME is particularly challenging because it is unlike any other project in which I have participated. At this stage (and remember we haven’t yet gotten to the first TechEd), anything I say is preliminary and tinged with the sort of caution that any ‘beta’ release’ brings.

Regardless of anything else, of one thing I am 100% certain. ESME is a case study in the power of community, the dynamics that can emerge, the value of active cooperation between ’suits’ and ‘geeks’ and the results that are possible. Put another way, how else might the germ of an idea emerge to become a functional application in less than three months without the benefit of community?

The backdrop

Roughly three months ago, I received a Tweet from Anne Petteroe (@yojibee.) Unfortunately, Twitter doesn’t provide enough history to quote exactly but it went something like this: “Do you know about ESME, we need your help.” I had no clue what was going on. Darren Hague and Richard Hirsch describe a casual conversaton that occurred on Plurk that was the genesis on what we now call ESME -or the Enterprise Social Media Experiment.

The idea was simple. Take the concepts behind Twitter and apply them to business process problems that occur inside the enterprise. But why me? Somehow or other, the people who were mulling this problem thought I might be able to add some business value. This is highly unusual because it is often the ‘make people,’ the geeks who declare they know what’s best for end users. ESME is proof positive that no longer applies as a design principle.

Within days, a team of people from within the SAP community had either been approached or expressed a willingness to get involved. A few more days, some frantic Twittering and the casual conversation had become a project with a clear goal: Get something ready for TechEd and attempt to get it into DemoJam.

By anyone’s standards that’s ambitious. How can you go from zero to product in less than 90 days with a ragbag of people and an idea? This is where I digress and explain the actors and the relationships that either existed or were formed.

The players

The initial team included Darren Hague, Richard Hirsch, Abesh Bhattacharjee, Oliver Kohl, Anne Petteroe, Mrinal Wadhwa and myself. I personally knew Richard and Oliver from meeting in the Blogger’s Corner at SAPPHIRE Berlin. The rest were only known to me by name. It was quickly suggested that we add more people into the mix in order to get a broad set of suggestions and input from different perspectives. Marilyn Pratt for instance came in as someone who could help us if we were successful in achieving a place at DemoJam. Eddie Herrmann, a past DemoJam alumni could help us shape our ‘pitch.’ I know both these people. Given the short time frame, we needed to use Scrum methodology and for that Adobe’s Matthias Zeller was our early Scrum Master and mentor. The full ‘cast’ of interested parties can be found here.

Since then, the team has changed. Oliver and Abesh withdrew for various reasons (though there is no reason why they cannot rejoin) and we were subsequently joined by Jen Robinson and Kirsten Gay. Jen and Kirsten are key to the design principles needed for the UI. The final key player is David Pollak, the driving force behind lift, the Scala web framework.

Why this group?

Each person who has joined the team has been connected to another, either directly or indirectly through the SAP Developer/BPX networks, many of whom have mentor status. There has therefore been in implicit level of trust from the get go. There has never been a question of: “Why is this person coming in?” It has always been assumed that each could contribute something – mostly by way of code – but with the common goal of developing for TechEd and possibly DemoJam.

In other words there has been an affinity from day one to the project and to each other. This is a dynamic that is well understood – affinity groups may have loose ties but they can act as one where there is a clear, common goal. If I look at the Wikipedia definition of Affinity Groups, ESME displays most of the attributes Wikipedia describes:

Affinity groups are organized in a non-hierarchical manner, usually using consensus decision making, and are often made up of trusted friends of a common ideology. They provide a method of organization that is flexible and decentralized.

Affinity groups can be based on a common ideology (eg. anarchism), a shared concern for a given issue (eg. anti-nuclear) or a common activity, role or skill (eg. Black Blocks). Affinity groups may have either open or closed membership, although the latter is far more common.

Group operations

However, this is not enough to sustain any sort of group. There have to be some boundaries and while these have not been formalized, ESME people know that once we get past TechEd, then decisions of that kind need to be taken. Even so, early on it was decided to move the main group activities outside of SDN.

We were faced with one of those delicious dlimmas that are afforded to a very few. The moment we went public with the DemoJam entry video, we found people coming at us from all sides, clamoring to know more or wanting a piece of the action. This was in part due to the fact that I am connected to a number of high profile bloggers who, once they got a sniff of this, started writing interesting stories. What I didn’t realize was just how much interest there would be, albeit the blogosphere is raging with Twitteresque stories. It is also in part due to the fact the ESME YouTube video was watched some 200 times over a couple of days. The current view count is 369.

As a team, we knew that if we were to stand any chance of making it to TechEd, we needed to control group membership as far as possible and ensure the core team players could be left to get on with what they do best. Therefore, we moved the team to an Assembla environment and established a closed GoogleGroup.

That gave us a lot of advantages. We could for instance control who had access to whom for the purpose of any public statements. We could contain development reports and questions within an environment that allows people to remain focused.

In any project of this kind, early feedback is essential to keep disparate teams both in touch with the main goings on of the project while ensuring we’re all working towards something with which we can collectively agree. That has been especially important from a design perspective where we know that visual impact and usability are crucial.

In order to meet this need – and bear in mind we’re talking people in at least six countries and 15 time zones – we set up nightly Scrum calls. This has been challenging because everyone is working on this project in their own time and at weekends. Sometimes people can’t make the calls.

That’s OK because Assembla and GoogleGroups keep us up to speed anyway. However, the nightly calls serve a vital touchpoint for encouraging team members, ironing out operational problems and allocating tasks in what is unquestionably a dynamic and high speed environment.

For myself, I made an early decision to keep out of most calls because I’m not a code person and so would have little to add and might become a distracting influence. However, when business decisions have been necessary, that’s where I speak up.

Challenges
This is a motley self-selecting crew, some of whom are SAPpers, some of whom work for other large companies and still others who are wholly independent. Traversing each person’s personal circumstances has not been easy in what is after all a loose collective rather than a commercial entity. That has left us with a couple of knotty problems but we have found solutions. the BIG one being that the first iteration will be open source. We will in other words be turning over to the community, what we have done in such a way that others can follow on.
The different time zones have been a struggle for all of us but that hasn’t prevented us getting things done. It’s just been inconvenient. But people are remarkably adaptable when there is a clear and common goal

What about leadership?

Leaders emerge, they don’t acquire their position by title or position. Each team member brings a specific skill to the table. There is no point in assuming that one person knows best. We had a design in place, a problem to solve and a time limit in which to get it done. Each person knows what they need to do and when people need to collaborate, it is on the basis of ‘who wants it?’ It is my experience that those most interested in collaboration are the right ones to form sub groups. That’s born out here. Should the project become commercial in nature, then that will change but for the purposes of community based projects operating over short time spans, this ad hoc set of arrangements has worked extremely well.

The community angle

All of this is designed to get readers to understand that community or affinity groups can produce remarkable results. This project would not have been possible without three things: SDN and the informal Twitter networks that have emerged among the various group members on the one hand and a hard floor deadline for a project in which we could collectively believe.

The challenge set by the group would not have been executable if it wasn’t for the fact this community can draw upon a broad range of technical and business skills. In his post, Mark Finnern alludes to some of them.

You can argue that this self selecting groupwould have emerged anyway. I disagree. The fact for example that Richard Hirsch is one of the best detailers of business processs scenarios I know is only one element. We needed someone who absolutely understands end user needs and Kirsten is that person. We need a framework that will be highly scalable. David and Darren are the go to guys. We also need Flex and SAP people who understand how it all comes together at the back end. Where else would you find that except in SDN?

So what is the secret sauce? I sense that if the community is large enough, you’ll always find groups who are willing to push the boundaries of innovation and invention. The fact SDN and Twitter have brought this group together in a discoverable context is more than serendipitous, more than coincidental. It is more than vaguely knowing, learning to trust and having a deeply felt mutual respect for one another. It is because the community exists for EVERYONE’s common good and provides the environment for EVERYONE to get something positive out of their involvement.

Final words

If you look at Mark Finnern’s post, you’ll see some of us will be presenting at various times during TechEd. We believe it is important to share experiences because ESME is a proxy for the good things that wil come out of communities that are tended, nurtured and contributed to. It’s your choice but I’d encourage anyone who has an interest in these things to come along to the sessions. There is much, much more to share.

Reblog this post [with Zemanta]

September 3, 2008

Choosing the right team

Author: dennis - Categories: Background - Tags: , , , ,

Any project leader will tell you that team selection is vital to success. Mixing the right skills, motivation and personalities requires a careful assessment of the people to include and the roles they might take. Not on ESME.

This is a self-selecting group of people, loosely tied by the SAP Community. Each person who has contributed chose to get involved and commit time to a project that presents special challenges. A recipe for disaster, especially when some members didn’t know each other before ESME kicked off. In my case I’ve only met one of the team in the real world. But no.

As this story explains, in the right circumstances and conditions, it is perfectly possible to assemble a working unit that is able to deliver. Key ingredients:

I sense that if the community is large enough, you’ll always find groups who are willing to push the boundaries of innovation and invention. The fact SDN and Twitter have brought this group together in a discoverable context is more than serendipitous, more than coincidental. It is more than vaguely knowing, learning to trust and having a deeply felt mutual respect for one another. It is because the community exists for EVERYONE’s common good and provides the environment for EVERYONE to get something positive out of their involvement.

Reblog this post [with Zemanta]