Friday, August 31, 2012

Where has Joel been?

It has been four months since I posted anything to this blog. Admittedly, that is pretty pitiful. I need to do better.

I started the Scrum for SharePoint article series back in March but it is still not complete. The last post on Joel Explains It All was about the sad demise of the Chumby company. Then some life changes occurred--nothing major, just life--and the end result was that the blog fell by the wayside, as these things often do.

That ends now. Thanks to one of my favorite tech bloggers, Dave Zatz, I got a guest spot on his blog Zatz Not Funny. Dave lent me his Logitech Revue box and I had a few things to say about our experience with Google TV: Google TV Two Years Later: Still Not Very Good

The Scrum for SharePoint series is going to be revived as well. I just can't get enough Scrum. :-)

Saturday, April 21, 2012

RIP Chumby

Today I am taking a short break from the Scrum for SharePoint series to cover another topic near and dear to my heart.

Insignia Infocast 3.5"
The Insignia Infocast 3.5 by Best Buy
(similar to the Chumby One).
Way back in the mid-2000s, before we had the iPhone or Android or even webOS, a little company named Chumby appeared on the scene with a neat gadget that was going to replace your clock radio with something much cooler. Prototypes of the Chumby came out in 2006 and 2007, and the first widely-available consumer version was released in 2008. I was very excited to see the Chumby appear on the scene, in part because I was sad that the 3Com (Palm) Audrey had failed so miserably back in 2000.

It's hard to remember, but back in 2008, there was not much out there like the Chumby. The iPhone and Android operating systems were relatively new and still gaining traction. There were zero consumer grade tablets available on the market. Even with the iPhone and Android out there, they were geared towards phone devices. There were definitely no clock radio gadgets to compete with Chumby. So theoretically, the Chumby had a good chance to succeed.

The Chumby is not a tablet and it is not a phone or iPod-like device. It really has no equivalent out there in the world. It is first and foremost an internet clock radio. Think of your old Sony Dream Machine, add in the likes of Pandora and Shoutcast internet music and podcast services, and add the ability to change the clock face to one of hundreds of different options. That is a Chumby.

There are other things a Chumby can do, like display news feeds, Facebook, Twitter, internet web cams, and more. Yet at its core, the Chumby is a clock radio that can get live content from the internet.

Sony Dash
My boys really enjoy the Sony Dash. We have it
in our dining room.
I bought a Chumby One for my dad in 2009. At first, he didn't know what to do with it, but over time he came to appreciate the different clocks faces to choose from and its ability to play Pandora and other internet music services.

I got my first "Chumby" in 2010 when I picked up a Sony Dash for a relatively good price. However, even though I got a "deal" at the time, price was one of Chumby's downfalls: the Dash list price was $200 at the time--I think I got my for a "steep discount" at $150--and the Chumby-branded units were not much cheaper.

The Dash was a step up from the Chumby, as it had internet video as well. You could (and can still) get Netflix, YouTube and Hulu Plus video, among other choices. So it was worth a slight premium over the much smaller Chumby One (3.5" screen vs. 7" screen), but still a bit expensive for what you got.

Bathroom media station
We have installed the Insignia Infocast 3.5 in our master
bathroom media station.
Later in 2010 I picked up Best Buy's Insignia branded version of the Chumby One, the Infocast 3.5. This time I got it for under $45 and had a $25 gift card to boot. Now that was a deal. Under $50 would have been the perfect price point to allow the Chumby to be more successful.

Alas, regular prices didn't get much lower than $100, most people didn't understand why they needed one in addition to their iPhones and iPads, and therefore not many units were sold. In 2011 Sony stopped making the Dash. Around that time Best Buy also stopped making the Infocast line. Later in the year, Chumby itself stopped making hardware as well, leaving the Chumby platform flailing around a little bit without much support. The company said they were going to focus on a connected TV platform, but nothing much came of it.

Just the other day, Chumby announced that the whole team had moved on to new things at Technicolor and that there was no one left at Chumby to turn the lights off.

The Chumby network is still up and running--for now--but much like what happened to services like ReplayTV, it could be shut off at any time. This leads to one of my ongoing concerns with this particular platform: it is 100% dependent on having a network connection to work at all. Without a WiFi or optional Ethernet connection, a Chumby is essentially worthless. There isn't even a way to boot up a Chumby in to a disconnected mode. The thing just stops at the "Connecting to Network" screen and gives up.

(As an aside, there are some ways to run some Chumby devices offline. One example is: Zurk's Chumby One/Infocast 3.5 firmware and Zurk's Infocast/Chumby 8 firmware.)

Another issue was the app platform: all Chumby apps were free and had to be build on the Adobe Flash platform. While that worked well enough for the most part, there are two issues with it: no way for developers to make any money, and somewhat limiting of a platform. The Chumby is based on a modified Linux kernel, but won't run regular Linux or Android apps without major modifications. So it's a relatively closed platform.

I guess even back in 2008 we could see the writing on the wall, but I still had high hopes that a device dedicated to being an internet clock radio could survive. I still think there is a place for a Chumby-like device, with some tweaks to the platform. Using a phone or tablet as a stationary clock or radio is not always practical or economical. Sure, as an individual I can use my Android phone as an alarm or an iPad as a Pandora music player, but what about family or group situations? Sometimes a dedicated device is useful.

Maybe something else will come about to take Chumby's place? Or Chumby will get picked up by another company and the legacy will continue? I can only hope.

UPDATE: Chumby is dead. Long live Chumby!

Sunday, April 08, 2012

Scrum for SharePoint: Sprint 0

Before I get into the rest of the Scrum for SharePoint Article Backlog, I wanted to take a moment to talk about what happens at the beginning. It is always important to start things out right, and a Scrum-based SharePoint project is no different.

This is an example of being Agile, right? I am reordering the Article Backlog based on new priority from the Blog Owner (me) and working on the top priority item first, just like we would do in Scrum.

As with everything, how a projects starts will vary based on the project and your particular environment. "It depends." I want to document some ways of handling Scrum for SharePoint and see what sticks. In fact, I am looking for your experiences, good and bad, for different ways for starting up a Scrum project that is building out a SharePoint site, application, or an entire farm.

Many questions come up at the beginning of an Agile Scrum project. In particular: When are we going to have time to set everything up? Good question. If you start your first Sprint developing against the Product Backlog but don't have a development/test and/or production infrastructure in place yet, what do you do?

Scrum is designed to be iterative, which means you have a Product Backlog of functionality that needs to be built, which may change over time, but there is no set project plan. Each Sprint takes a piece of that Product Backlog and builds it out within a certain time box. I'll explain more in future posts. For now, just know that a Sprint is between 2-4 weeks and is focused on developing a certain set of features. The list of items in the backlog changes as priorities change, but once a Sprint starts the priorities for that Sprint are set.

It is possible to build time in to each Sprint to handle infrastructure changes and additions. Even for environments that already exist, you are going to need time to adjust them to fit the needs of the project and Product Backlog. In fact, much of the infrastructure work may be totally outside the Scrum process. Infrastructure, in my opinion, makes a lot more sense as a waterfall project. That said, the development team may still need to be part of the process and it might be too much to ask them to do a lot of infrastructure and development environment work alongside actual development. Which is why I think it's good to start out with something in place before any development begins at all.

If no infrastructure exists—say you are building a brand new SharePoint farm or planning to migrate content from an older version of SharePoint—then more work needs to be done so the development team can hit the ground running at Sprint 1. Do not assume that the team will have time to set things up once they are working on user stories and committing to a certain amount of velocity for each sprint. While velocity can be adjusted to fit in time for administrative or overhead tasks, or user stories can be created to work on infrastructure things (is this even a good idea?), the team's focus will be on building out functionality and it will required a concerted effort to work on anything outside of development.

For environments that already have a full or partial SharePoint infrastructure, the job is much easier but there is still work to do. You need developer environments, a development/build server, a test infrastructure, and stuff like source control and something to manage the Agile process (SharePoint, maybe?). Things will go much smoother if they already exist or there is time to set these up before tackling the product backlog.

I guess my point is that while Scrum for SharePoint can be Agile, you still need to consider the foundation of the project team's resources before any development work begins.

In addition to infrastructure and development resources, the beginning of a Scrum project may also include an assessment of the initial Product Backlog, some agreement on initial team process, and maybe a cursory attempt at an overall architecture. Yes I said there might be some design before you start. Does that go against Agile? More on these topics in future posts.

So, what do you do before starting your Scrum for SharePoint projects?

Back to [Scrum for SharePoint: Article Backlog]
Next in series [Coming soon]

Resources:

Saturday, March 10, 2012

Scrum for SharePoint: Article Backlog

A few weeks ago I documented my initial thoughts about Scrum for SharePoint. Much like the scrum process, I am going to create a backlog of article topics ("user stories") and then work through them in priority order. Here is the initial set of article topics. This backlog will be updated with links and changes as the article series progresses.

Comments and suggestions are welcome! I am interested in your questions and feedback from your own experiences with Scrum for SharePoint, as well as comparisons to doing waterfall project management.

Topics in priority order (subject to change): [updated 8-April 2012]

Topic Priority 0: Sprint 0

  • What happens at the beginning, before the development Sprints start?

Topic Priority 1: Product Backlog

  • User stories for SharePoint configuration and customization
  • Breaking up SharePoint functionality into one or more user stories
  • But this is not all custom code? What do we do?
  • Spanning build-out of functionality over multiple sprints
  • Technical Debt: Focus on what must be done now but also track what should be done later and making sure it gets done
    • Ideally there is no Technical Debt, but in reality it is hard to avoid

Topic Priority 2: Sprints

  • What is a sprint?
  • How long should a sprint be for a SharePoint project?
  • What happens within a sprint?
  • How do you effectively incorporate requirements, design, development, and testing within the sprint?
  • When do you consider a feature done?

Topic Priority 3: Team & Process

  • Who is the Scrum Master?
  • Integration between the development, requirements & testing teams and the stakeholders & product owner
  • Development process, deployments for SharePoint configuration vs. customization, continuous integration, and testing (aka Application Lifecycle Management)
  • When do you deploy to production?

Topic Priority 4: Overall Design

  • When does overall SharePoint architecture and design fit into the picture?
  • How to address the overarching technical and graphic design
  • What about infrastructure?

Topic Priority 5: Wrap up

  • Where do we go from here?

Next [Scrum for SharePoint: Sprint 0]

Sunday, February 26, 2012

Agile Scrum for SharePoint Projects

I have worked with SharePoint for seven years now, all the way back to 2005 when I started with SharePoint 2003 after moving off of Microsoft Content Management Server. For much of this time the projects I worked on were run either as waterfall or in an operations & maintenance (O&M)/time & materials (T&M) fashion.

Fast forward to 2011. I moved to a new job at Hewlett-Packard Enterprise Services over the summer and in the fall began my first SharePoint project that fully used the Agile Scrum methodology. Most of our project team was new to Scrum as well, so we all dove into it together for the first time.

Agile is a framework that has a few different official methodologies you can choose from. The basic tenant is to focus on making working products in an iterative fashion and adjusting to change without being stifled by rigid process. This is emphasized by the Agile Manifesto. That does not mean we forget about process, planning, and documentation. We still do those things. It is about balance.

Scrum is one of the most popular agile methodologies, if not the most popular, especially for software development. We use the concept of a “time box” to focus on shorter periods of work while keeping an eye on the overall goal. The Scrum Alliance has a nice, quick intro to Scrum that summarizes it quite well: The Scrum Framework in 30 Seconds.

We are now on sprint 5 of our SharePoint custom development project using Scrum and I am totally into it. The methods are working to give us focus, keep us on track with the most important priorities, and provide transparency to everyone involved in the process including the stakeholders and product owner (customer). This makes a lot of sense, and is how I always tried to work on a smaller scale on previous projects. This just formalizes the flexible yet defined process for everyone involved. That statement probably makes more sense if you have already done an Agile project. If not, read the links below and you too may get indoctrinated. Smile

So what does this have to do with SharePoint, besides the fact that I’m working on a SharePoint project? I plan to break down different areas of Scrum for SharePoint over a few blog posts, which will likely include:

  • How the product backlog handles SharePoint configuration and customization
  • Integration between the development, requirements & testing teams and the stakeholders & product owner
  • When does overall SharePoint architecture fit into the picture?
  • What about infrastructure?
  • How to address technical and graphic design
  • Technical Debt: Focus on what must be done now but also track what should be done later
  • Development process, deployments, and continuous integration (aka Application Lifecycle Management)
  • More, more, more!

I need to emphasize that there is not just one way to do Agile Scrum for SharePoint, or any project for that matter. I will talk about how we’ve done it and how I have seen other projects do it. The point is, your process depends on your team and your timeline and your goals. It is just a framework and methodology, not a prescriptive guidebook. Consistency is the key. So no matter what you choose to do, you should follow your process consistently. Agile is not a prescription for anarchy. It is a set of suggestions that can be formed together to create your successful process.

Also, I can’t start a discussion about Scrum for SharePoint without a shout out to Andrew Woodward, 21Apps, and their 21Scrum project.

To find out more about Agile and Scrum check out:

The next article in the series Scrum for SharePoint: Article Backlog is up!

Sunday, January 22, 2012

It's been a while


It is about time to get this blog going again.

Now that I've been at my new job for six months I feel settled in. Lots of ideas have been swirling around in my head, including but not limited to: Agile, Agile for SharePoint, SharePoint deployments, getting back into development, and of course Old School Tech.

The Agile/Scrum stuff is probably what I will start with. We began my current project back in September and the whole team got ramped up on Agile right away. It took a few months and a few sprints--we're on sprint 4 now--but I finally am comfortable with the progress we are making and am satisfied that Agile can be used successfully with a SharePoint configuration and custom development project.

2012 promises to be a big year!