Email is NOT work: Why I’m not addicted to my BlackBerry

Posted by Kim on March 31st, 2008 in General, Open Source

 

My new mantra is "Email is not work".  I just got back from OSBC 2008, and saw once again, how tied we all are to our electronic devices.  Now I like my BlackBerry as much as the next person, but I'm afraid that we may be so busy checking email that we are missing out on valuable opportunities to think and learn.  Matt Asay talks about this in his blog Back in the good old days when I had time to think

I only got my BlackBerry about 6 months ago.  My impetus for buying it was a bike trip to Italy last October, where I needed to have some ability to communicate with work.  I didn't want to be forced to spend time tracking down internet cafes when I would rather be on my bike or exploring a Tuscan hill town with my friends.  My fear in getting the BlackBerry was that I would become one of those "crackberry addicts".  As a recovering workaholic, I've (finally) learned to create some boundaries around my work.  It took a cancer diagnosis a couple years ago to make me realize that, as much as I love my work, spending all my time consumed by work was not the way I wanted to spend my life.  I also know that time I spend thinking is way more valuable to my company than time I spend checking email.  Hence my new mantra.

This has been my second year of attending the OSBC conference, and each year I've come back from the conference with new insights and "aha's".  I've been able to learn about how other companies have been successful and think about how OpenLogic needs to evolve as we grow our business.  I'm pretty positive those insights are way more important than an instant response to an email.  I will continue to use my BlackBerry to help me in my work, but I choose not to become addicted. 

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Fueling Customer Happiness in a Multi-Source World?

Posted by Kim on March 31st, 2008 in Business Models, Open Source

 In his summary What I learned from OSBC 2008, Matt Asay commented on how we align open source business models with customer satisfaction (and willingness to pay".   According to Matt:

Enterprises love open source but the business models necessary to fuel both their happiness and that of the vendors still need a lot of work.

Jon Williams of Kaplan Test suggested in his keynote, as Dirk Hohndel captures, that the more happy he is with his commercial open-source software, the less likely he will be to pay for it. Why? Because his developers will acquire the expertise over time to support themselves and because the product will mature to the point that support will be less necessary.

The vendor can respond in two ways: Innovation and proprietization (made up word). By innovation, Jon suggested that continual development of the product keeps it buggy (my word, not his) and out in front of his developers, such that support remains relevant. Vendors can also offer services like the JBoss Operations Network that make maintenance of the software easier.

A combination of both is optimal, but Dirk is right that it's a bit depressing, this prospect of the customer leaving just when you've made them the happiest. 

 I've been thinking about this topic a lot, and especially how we can provide value around support. 

Like many people in the open source world, I spent many years working for proprietary enterprise software companies — mostly startups but also a few large companies like Hyperion and PeopleSoft.  During my time at the larger proprietary software companies, I saw how support teams were very eager to point fingers at other vendors and play the "blame game".  If they could feasibly point at the database or the operating system or the custom code written by the customer, they were very happy to declare it "not our problem".  Part of the reason for this approach was that the support teams didn't really have enough expertise in all of the components and infrastructure that worked around their own product and didn't want to spend the time and effort needed to troubleshoot a problem that could end up being in "someone else's code".

In the open source world, the support problem gets more challenging.  In the area where OpenLogic plays (above the operating system and below the business applications), companies are typically combining many open source packages, custom code and proprietary solutions to create their critical business applications.  Yet in these large companies, the expertise for each of these components is highly distributed.  There's an app server team, a database team, an infrastructure team, a network team (you get the picture) and often there's no one at the company that has the complete picture of how all of the components work together or, more importantly, why they are not working properly

At OpenLogic, We find that our engineers providing support need to have superior troubleshooting skills in order to follow the problems through the whole system to find the root cause.  That also means being willing and able to cross boundaries between products (even when they were not bundled by the vendor) to solve the customer problem – wherever it lies.  In fact, we rarely find that the problem is a bug in the open source package.  Most often we find that is some configuration or integration issue, or a problem with how all of the pieces interoperate.  When we solve these types of issues for customers, they are thrilled, ecstatic and grateful.  They are happy that someone is helping solve their business problem – regardless of its source. 

This wasn't something we fully appreciated two years ago when we first launched our support offering, but I think this lesson is an important one for all open source companies.  Just as open source has brought new, more transparent ways to engage with customers around product development, open source also brings new ways to engage with customers around support.  By breaking through narrow product silos, we can increase our value to customers and fuel customer happiness with open source companies and the services they provide.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

So long, print newspapers…

Posted by Greg on March 28th, 2008 in General, Marketing

Earlier this week Jimmy Guterman blogged about his decision to cancel his subscription to the print edition of The New York Times. He still loves the paper, both from a content standpoint as well as “the serendipity of walking through a print section”, but one day he came to the realization he was reading more of the Times online. “For all the pleasure of holding and print, the Times on paper is just too late. In 2008, today's paper is yesterday's news.” He goes on to lament the fact that the print version probably can’t survive if he and other adoring readers cancel their subscriptions, but that isn’t enough to change his mind.

I can sympathize with Jimmy’s point—I’m a news junkie and a big fan of the printed word—but a few years back I too realized that I was reading most of my news online while the print newspaper went straight to the recycling bin. However, while environmental concerns and the practicality of online news contributed to my decision to stop subscribing to the local paper, I have to admit that my primary motivation was an ever-increasing level of annoyance with the teenage subscription-sales reps that the Denver Newspaper Agency continually sends door-to-door through my neighborhood. Especially in the warmer months, you can find these kids trolling through the neighborhood at least once a week, and they’ll knock on your door whether or not you’re already a subscriber. Even more annoying is the fact that the Denver Newspaper Agency promises to award small “scholarships” to the kids that sell enough subscriptions, so they always deliver emotional pleas about how my subscription could help them get through college. I like to point out that it’s not a scholarship unless it’s awarded for scholastic merit or financial need and that they’d be better off getting a regular job, but the message doesn’t seem to resonate.

I eventually hung a No Soliciting sign near the front door in response to their repeated visits, but it’s had little to no effect. I don't know if they can’t read or don’t care, but either way I’m not going to reward them with my business. I’ll continue to read the local papers as well as the Times and other news sources online, but at this point I don’t really care if print newspapers go the way of the dinosaur.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

REM Joins The Club – Kind Of

Posted by Rod Hilton on March 28th, 2008 in Open Source

Radiohead was one of the first bands to release an album for free over the internet, but they later wound up releasing a regular album and taking their download links down. They also view the effort as something of a failure, and Trent Reznor chalks this up to them being insincere. Reznor points out that the album was poor quality and not released under Creative Commons.

What we have here is a band that dabbled in these kinds of open source concepts, and wound up failing as a result. We also have a band that jumped into the philosophy whole-hog, releasing the album for free in high quality and under a copyleft license, which wound up being extremely successful.

We see this happen quite frequently in the open source world. Sometimes companies will start open projects but still exert a great deal of control over them, preventing outsiders from becoming committers or otherwise stifling the community. Projects that start this way often fail, and they are largely rejected by the community from which they are seeking support. It's no surprise that these album releases, given the open-source-style nature of them, follow a pattern that is often observed in the open source world. Embracing the concepts entirely winds up being better in the long run. Doing it insincerely results in failure.

REM has recently released a new album for free on the internet as well, but in a format even more crippled than the Radiohead release. This album is only available for streaming (not download) in low quality, for a limited time, and only on a specific proprietary web site. If the failure/success of these albums depends on some part on how sincerely they embrace the open philosophy, then we should expect the REM album to be a failure. Of course, only time will tell if that's actually the case.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
1 comment [Trackback URI]

Stormy’s Big Secret: “I don’t work Fridays”

Posted by Stormy on March 28th, 2008 in Open Source

I don't work Fridays. Unless I'm traveling, or there are meetings or something urgent happens. But in general, I don't work Fridays.

But here's the really big secret. I do it for me. Most people assume that I don't work Fridays so that I can spend more time with the kids. Nope. One is in school and the other is in daycare five days a week. (He loves it, honest.) I don't work Fridays – for me. I run an occasional errand and I volunteer at the school a couple of times a month, but mostly I read, learn and catch up with friends.

You should try it. Not working Fridays is good for the soul.  

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Moving toward Agile – 9 Steps to Success

Posted by mmoore on March 27th, 2008 in Agile Methodologies
A team that wants to move from traditional methodologies towards an Agile approach may want to gradually shift toward Agile instead of one day completely changing all practices. An immediate change to Agile may be risky, so a phased approach may help a team avoid the perils around adopting an unfamiliar methodology.

The most important motivation for moving toward Agile should be to gather frequent, if not continuous, customer feedback during development. This more frequent feedback requires a high standard of quality be always maintained during development of the product – making it usable throughout the development lifecycle.

Grabbing frequent snapshots for review will allow the customer to provide the feedback that is coveted by an Agile approach. A snapshot that lacks quality will result in a missed opportunity for the customer to steer the product direction, or worse, the problems will results in a frustrated customer who may become less willing to devote time for future feedback.

At any time, the customer should be able to see the latest features in the product and check for the integration of all features working together. This approach usually differs from a traditional approach which doesn't require quality until final regression testing prior to release. The recommendations here should help move from a traditional waterfall-style methodology toward a customer-centric Agile process.

1. Unit Testing

Moving toward Agile should begin with the development team creating unit tests to prove that new functionality works properly and have reasonable confidence that existing functionality remains intact. A developer should not consider code to be complete until new and all existing unit tests run without error. Creating testable code builds reliability into new functionality and proof that at any point in the future the functionality still works.

A test-driven approach should be considered. Test-driven development usually produces a better software design where smaller components are designed to work (and be tested) separated from other components. Breaking unessential dependencies between components inevitably produces a higher quality product that is easier to maintain.

2. Leverage Version Control

Few shops live without one, but in an Agile environment, version control becomes even more important because of the reliance on build snapshots by development, QA and Product Management. When automated builds or automated testing starts to fail, a version control system will provide a history of recent code changes that will shorten the time needed to find the offending code.

A version control system should also allow for creating branches which will allow a good build to be captured for customer review while a development team continues to check in code that may break the build process or the automated tests.

3. Scripted Builds

Agile places pressure on QA to stay current with the latest snapshots for fast testing of latest completed features. Relying upon a manually built application can lead to bottlenecks and result in inconsistent packagings that may not be usable. A scripted build will provide a mechanism for producing a build on demand and should wrap the cummulative knowledge of builds into a single script. The scripted build should compile code and produce any packagings needed for deployment of the product.

4. Automated Installs or Deployments

Some applications are trivial to setup to run, but others may take a great amount of time to manually deploy and be very error prone. With QA and customers reviewing many snapshots before release, wasting time installing the application can greatly reduce the efficiency of the testing team. Confirming that the product runs can be critical for manual QA testing and having a reviewable product for customers and other employees within the company. Automated installs and deployments also aid during release – when it is necessary to install the product for customer use.

5. Scripted/Automated Testing

QA should start moving manual testing toward automated testing. For some types of applications, this can be more challenging. QA that depends upon lengthy manual testing will not produce the periodic usable product that will be needed for customer feedback. Developer unit tests can provide the first line of automated-test defence, but additional testing manually performed by QA should be pushed towards automation. If automation of a good portion of QA testing will be impossible, then some thought should be given to staying away from a pure Agile methodology.

6. Continuous Integration

Tie together scripted builds, unit testing and automated QA testing into Continuous Integration. Devote a computer to grabbing the latest code from Version Control, building the application, deploying the application, running unit tests and then running automated QA tests. This will catch problems with recent code quickly and make determining the offending code easier when something does break. Continuous integration should provide confidence that the current code snapshot is close to releasable, and at the very least, ready for demonstration to customers and stakeholders.

7. One Feature at a Time

Agile prods developers to work on one testable feature at a time. That feature is accepted and then the developer starts the next feature. Juggling multiple features at a time works against getting customer feedback quickly.

Prioritizing features and transforming them into user stories should be tasks that an organization should master. Poor prioritization could result in untestable features when completed. For instance, working on reporting mechanisms will be difficult to test when the reported data can't be entered into the system.

8. Create Product Benchmarks Goals

Start dividing development effort into shorter benchmarks when certain features are complete. For features, what is the minimum implementation that can be completed to demonstrate where we are at? Try to keep time between benchmarks relatively short, perhaps a couple weeks to a month.

9. Customer Feedback at Benchmark

Once quality benchmarks are achieved, customer feedback can be solicited to make sure the product is heading the correct direction. If a customer can't be found for feedback, then the feedback of the product stakeholders should be gathered. Once the feedback is given, it should be prioritized and tracked as new work on the product leading to the next benchmark review.

Its easy to start worrying that a customer review can end up delaying development, because these reviews will cause changes or more features to be added. This customer feedback can actually be a time saver. Better to know earlier if development is heading the wrong direction – reaching completion of a product to find out it is unusable is the worst outcome. Many times, customer feedback needs some triage. The customer really wants a new feature, but development will require a great deal of time. Once the customer finds out how much time, or money a feature costs they may decide they can live without the feature, and work can stay on track to get a version 1.0 out the door.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Very Nice Presentation on SCRUM

Posted by Nathan on March 25th, 2008 in Open Source

Jeremy Thomas posted a very cool presentation about SCRUM in his Agile Development blog post. We use SCRUM to develop products here at OpenLogic and I don't think that I'll ever use another development methodology. I've worked in waterfall, spiral, and rapid iteration environments, but nothing compares to the ease and efficacy of SCRUM.

As product manager, it's my job to make sure that the efforts of our hard-working & brilliant engineers are channeled correctly.  This means solving the right problems, for the right people, in the right manner.  By recognizing that software development is a complex and unpredictable process, largely relying upon empirical controls, SCRUM makes my job much easier.  SCRUM avoids scope creep, the death march, the blame game, and many other ugly situations that most the software development world have come to accept as part of the job.

As I consider life after OpenLogic (shudder the thought but all good things do come to an end), I've been meaning to put together a SCRUM presentation that I could use to sell a future employer on SCRUM. Jeremy has done an admirable job. Maybe I can talk him into putting it into a portable format and distributing it under an open source license…

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

He’s simply stopped worrying about pirates…

Posted by Bryan Noll on March 25th, 2008 in Open Source

I was reading this blog post the other day, and it tied in to some of the recent discussion on this blog as related to NIN's open approach to making music available.  The notion put forward (and linked to) is that copy protection is pointless.  The blogger goes on to point out that "the fact that the most easily found etexts are those of the bestselling books should suffice to prove that only a very small percentage of ebook pirates were ever potential customers."

 

 So… this open source thing is working for much more than just enterprise software… we see it working for books, games and music.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

OpenLogic survey debunks myths about open source software

Posted by Stormy on March 25th, 2008 in Open Source

After my “Would you do it again for free?” talk people always come up to share their stories. (It's one of my favorite parts of public speaking.) One common comment – one that initially surprised me – is “I try to keep my open source software work and my job separate.” I had assumed that everyone's “dream job” would be getting a paycheck for working on their hobby. So in our recent survey of our expert community, I asked, “If there is a company associated with the project you work on, would you like to work there?” Of those that qualified, only 30% would!

We uncovered some other common myths too.

  • One of the common misconceptions is that most of OpenLogic's Expert Community also works for an open source company associated with the project they support. Only 6% work for an open source company! In fact over half work for a proprietary software company. (So much for the myth that the open source community hates proprietary software!)

  • Not that they don't understand the additional value that the open source software model brings. When asked if there will be a company associated with every open source software project, the response was an overwhelming no (84%) – with one respondent saying "sometimes community driven software is better”.

  • And while 52% joined the OpenLogic Expert Community to make money, 64% stated that one of the major reasons they joined was to support open source software. (Don't worry – we plan to continue to pay!)

You can read or press release or check out the data for yourself below. (Note that most of the questions allowed more than one answer so they don't add up to 100%.)

 

1. Do you work for:

an open source company – primarily provides software and/or services around open source

6%

a proprietary software company

50%

a consulting or system integration firm

18%

some other type of company (non-software)

18%

yourself, doing consulting or work around open source

26%

yourself, doing work that uses open source

18%

yourself, doing something completely unrelated to open source

2%

 

2. Do you keep your open source work and your day job:

completely separate

18%

a little bit of overlap

72%

they are one and the same

12%

hope one day they'll be one and the same

18%

 

3. For the open source projects that you work on, is there a company associated with them:

Yes, for some of them

48%

Yes, for all of them

2%

No

50%

 

4. If there is a commercial company associated with the open source software you work on, would you like to work there?

yes

48%

no

14%

NA

38%

 

5. Do you think every open source software will have a commercial company associated with it as it becomes more widely used?

yes

16%

no

84%

 

6. Why did you join the OpenLogic Expert Community?

To make money

52%

To support open source software

64%

To help more people/companies use open source software

52%

To see what it was all about

60%

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
5 comments [Trackback URI]

Agile Practices in Open Source – Developers are the Customer

Posted by mmoore on March 21st, 2008 in Open Source

Agile methodologies are much more common within the better open source projects than many would think based upon the primary tenets of Agile. Agile covets customer feedback during development of a project which is incorporated in subsequent releases or benchmarks of a project. Some might argue that open source projects lack the frequent customer feedback loops required for a true Agile approach. After all, benchmarks between open source releases are rarely seen by any end users, managers or stake holders in a company.

I would assert that the role of the customer for open source projects is the developers on the project. Most Agile projects, many of them developer libraries, succeed because a group of developers find a common need where they can collaborate to create code that each can use within some larger software project or within some larger IT system configuration. Each developer will be working on the open source project in the context of a larger project satisfying some sort of business needs. The larger project is where the end user feedback is important, more often than not, the open source project is a building block. Developers understand the building blocks; end users/customers understand less abstract, more tactile elements such as GUI's, emails, etc.

We cannot demonstrate Hibernate, Spring or JBoss to most customers or end users; these are tools that developer utilize to build or deploy applications that end users can test. A developer would provide the feedback for these open source projects and it would be rare to find a developer working on any of these projects, who is not also the consumer of the projects. In essence, the developer is the customer or end user for the open source project and will judge the usefulness of the project by its ability to save work, provide intuitive interfaces and other technical criteria.

Given that the open source developer is the customer for open source projects, then perhaps we can conclude that open source projects are truly Agile, perhaps even hyper-Agile; particularly when it comes to the customer feedback aspect of the Agile methodology.  The developers do see the benchmarks regularly on an open source project and can provide one another with feedback quicker than is often gathered from end users.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
1 comment [Trackback URI]