When I first graduated from college I worked on embedded systems where the process was a formal, military grade process.  When developing software I typically thought about what document I had to write next and what document(s) I may be missing.  In general, the MIL standards turned me off a bit to process, and for awhile left me thinking that process is an obstruction to true development.  As a 21 year old, you think code = development.  That was/is an immature point of view, but it was not a viewpoint that I was easily dissuaded from.  Further it's a point of view that many out there still hold dear, and not all who hold that view are recent college graduates.

Recently a small group of us decided to give Scrum a try and are using it to drive our current project.  Other than this effort, there is no formal process methodology in place.  My goal is to help change that in my new position.  Over the past several years many high value projects have never been worked on because there was no common backlog of all of the things that need to be done.

In my last job at Geonetric we adopted Scrum after the absence of a formal methodology and it provided a much needed framework around which to develop.  Many CEO's are not this up front with their deficiencies, but Eric is pretty awesome and very honest in his evaluation of Geonetric:

As we were in the middle of developing the newest version of our VitalSite product last fall, we weren’t making the progress we wanted-even though the whole team was running full tilt and putting in its best efforts. We had always been a bit informal about how we developed software-somewhere between draconian rigid requirements and completely freeform cowboy (and cowgirl!) coding practices. The problem was that being in the middle wasn’t working. So, we looked at some of the newest practices in the industry.

Eric goes on to list the benefits he's seen since adopting Scrum:

  • Since adopting Scrum, the first two releases of VitalSite 5 have been on-target, meeting both scope and deadline requirements (5.0 in January and 5.1 in May).
  • Software development is accelerating each sprint - we’re approaching twice the speed we had last year.
  • There’s much more collaboration between disciplines
  • The morale of the software team is higher
  • Quality of the software we’re delivering is better

With results like that I can see why a CEO would like scrum.  As developer though, I like scrum in that it doesn't get in my way.  There is administrative overhead to Scrum to be sure.  However it's very "XP" in that there aren't scads of documentation to write.  Generally as a software professional I like to write code and solve problems and for the most part Scrum allows me to do that.  My development does not feel slowed down by Scrum, which I believe for most developers, is a must in order to be adopted willingly.

One side effect of scrum is that is causes me to think about the process in a pleasant way.  This morning at our standup meeting, a fellow developer and I got into a discussion about how his extra exploratory work in the evenings should be factored into our sprint.  Should we could his work towards our sprint commitment?  Will his work negatively/positively affect our velocity for future sprints?  From my experience, developers typically don't worry about this stuff however with Scrum the sprint commitment is something that should be taken seriously.  As such it was good to see developers, of which I was one, having talks about other things that just the code.

I'm sure many other processes out there could achieve the same thing.  Scrum for us, both in this job and the previous, provided a nice framework that was palatable to developers. In that respect I'm perfectly happy using Scrum.  I will keep my ears open for new ideas and processes, but I think for any development methodology to be successful in an organization, it has to be readily and whole-heartedly adopted.  We've enjoyed Scrum so far and as such, it's a not-so-bad development methodology.  If you aren't using a methodology or your current process isn't working, you should give Scrum a try.


 
Tuesday, August 19, 2008 9:02:41 AM (Central Standard Time, UTC-06:00)
Curious who all is involved in your scrum efforts. From conversations I've had with others working with Agile, it sounds like the methods often come in via engineering and often doesn't include enough roles throughout the organization.

Do you have QA, designers, technical writers, etc. within the team? Are there UX people working with your product owner/customer role?

The question about extracurricular "exploratory" work is also interesting. One of the principles of Agile is a humane workload. However one of the personality traits of developers is solving interesting problems for fun. If it the outcome of the exploration is essential to the deliverable/committment I'd say it goes into the sprint as a story or spike; if it's purely out of curiosity I think it's fine as is (but watch out that it doesn't become a distraction/impediment).
Tuesday, August 19, 2008 12:13:34 PM (Central Standard Time, UTC-06:00)
@David,

Right now since we're in a "prove that it works" phase, I'm acting as product owner, scrum master, and developer all at the same time. While I realize this breaks many rules, I cannot convince people to take part and take roles when the process is still being introduced. I'd like to bring our designers into the process and the other developers but right now there just 2 1/2 of us. Very small team but we're showing real progress.

Think it can work this way?
Comments are closed.