The Artima Developer Community
Sponsored Link

Java Buzz Forum
Notes on "Enterprise Agile"

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Michael Cote

Posts: 10306
Nickname: bushwald
Registered: May, 2003

Cote is a programmer in Austin, Texas.
Notes on "Enterprise Agile" Posted: Mar 6, 2006 8:12 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Michael Cote.
Original Post: Notes on "Enterprise Agile"
Feed Title: Cote's Weblog: Coding, Austin, etc.
Feed URL: https://cote.io/feed/
Feed Description: Using Java to get to the ideal state.
Latest Java Buzz Posts
Latest Java Buzz Posts by Michael Cote
Latest Posts From Cote's Weblog: Coding, Austin, etc.

Advertisement

As mentioned previously, my pet project is to start outlining the idea of "Enterprise Agile." I should be talking with James sometime very soon about it, so I wanted to collect some starter items. And there's plenty of other people I'll be chatting with -- I'll be taking you up on your offer Chris, it'll be great to compare BMC notes ;>.

I've done a poor job of tagging myself as interested in the topic: well, on this blog at least. As Bill alluded to, I've spent a mad amount of time talking about Agile in public.

Products

I spent much of time as an Agilist building a product that's sold to other companies, not an in-house system. Many of the early Agile stories ( XP's C3, for example) are about consulting gigs: one customer hires a group of coders to program a custom application, or extend it out. The point is: there's one customer.

Developing enterprise software means you have many different customers, each with lots of money, who want very different things. Balancing those requests is challenging, and many of the platforms available don't cater well to delivering highly end-use customizable applications/platforms.

So, the issue comes: how does Agile look when there 100's or 1,000's of customers?

The Scrum-of-Scrums Needs Work

Large shops make it possible to have many different teams, each with competing priorities. Even those priorities aside, getting 5-8 teams to work together on the same 2 week iterations is difficult. Part of the motivation for doing waterfall is to address this coordination problem.

Now, if you're a super-cool project management shop, this won't be a problem. But if you're super-cool, whether you do Agile or not is irrelevant. To make a sub-point: methodology discussion only really matters for "the rest of us" those who aren't already geniuses at project management. Successful Agile practices focus on people and context rather than process and cant. Cockburn is always incredibly relevant to Agile discussion because he addresses people's involvement in developing software again and again.

So, how do you make Agile work across multiple groups who're normal, not rock stars? How do participate in a baton race when you have no idea where you're supposed to be waiting on the track for your teammate? ...or if they'll be passing you a baton at all, or something other than a baton?

Sales and Marketing

In a large part, much of Enterprise Agile has to do with Sales and Marketing in large companies. Most of Agile theory as it exists applies to development, QA, and product management. The flaw in Agile-think (as it exists in the collective mind of the software world) is that it hasn't taken hold in the rest of the organization.

For example: how the hell do you sell software to enterprise clients when you have no idea what the software will be in 6 months? Software as it's currently sold is largely sold by feature lists and sold into the future: "we need an identity system that does this, that, and this. Do you have that? And we need that to integrate with our 2 year plan for complete identity management."

Thanks to some thinking from some former BMC colleagues (who can feel free to chime in and identify themselves if they wish), one starting theory of Enterprise Agile is that sales people can only sell what's currently available. They can allude to what might be available in 3 months, and they can only discuss features available beyond that when they're getting the client really trashed at the bar so that no one remembers. Think of Dell's JIT manufacturing.

The point is: if you're doing Agile, selling beyond what you have in the "warehouse" is dangerous. Sure, we do that now, but to use a smirky page from the Agile playbook, "yeah, how's that workin' for you?"

Support

Support and maintenance are pillars of enterprise software. I haven't come across much in the area of Agile on the topic of support and maintenance at the low nut-and-bolts level. Sure, you can take the same basic premisses, and try to apply them to a help desk and 3rd level support, but I'd like to see something at least as "with it" as ITIL when it comes to Agile support. When I read ITIL on help desk, I get that same "Good, God! That's so right!" reaction that I get when I read about Agile methodologies in development. Sadly, I haven't come across something about Agile support that gives me that same reaction.

Support is incredibly important in enterprise software, and we'd do well to address the question "can Agile make it better?" Of course it can. And if harnessed correctly, it can even make the development side of the software better.

Enterprise Installs Every Two Weeks?

If you're one of the Agile chest-beaters out there, you probably run 2 week iterations no matter what the features being delivered are. You and I would get into a long discussion after a few drinks, but at 11:25AM on a Saturday morning, my response is just, "fine, good luck with that."

Iteration debating aside, one of the results of an Agile methodlogy (more specifically Scrum) is a fully deliverable and ready system at the end of each iteration. This is difficult if you're building a large system up from scratch and even harder if you're a product instead of a hosted service. Nonetheless, software that could be used by your customers is the goal of every iteration.

The question, though, becomes: how often does your customer want to upgrade? Enterprise customers tend to fear upgrades because, to be blunt, they don't work. So, part of the solution is simply making them work often enough. In my mind, delivering type of software takes huge mental, project management, and architectural shifts. Working upgrades are probably the #1 feature for any long lived project. How many projects operate accordingly?

Another part of the solution is to figure out other ways to upgrade the software: Windows and OS X auto-update come to mind. The best example is the seamless updating that Growl does: Growl auto-update itself with just a click of the OK button. There's no need to download something, run an installer, reboot your machine, or even Growl: just click OK. But even more impressive and user friendly, applications that use Growl can auto-update Growl as needed. That kind of dependency upgrade is the stuff of wet dreams and big sales deals...and those lucky linux command liners.

The question is: how do you help your customers upgrade when they want to and need to, and be happy about it? How can you make continuous upgrading a much desired feature rather than not a too often encountered fear?

More...

These are just some items to start the ball rolling. My hope is that these will be enough to start a longer conversation with those of you, dear readers, who're interested. I've already got a few people lined up to talk with, but please consider this an open invitation to start up a conversation with me (yourself, or whoever else ;>) about these topics: via email, IM, blog posts, comments, phone, or whatever (see the side bar on the blog for all the contact details).

I haven't posted much about Agile on this blog since my attention has been split on the fascinating stream of topics that RedMonk chews on day-to-day -- such is my shiny objects syndrome. I assure you, I am an Agile nut-bag. I would live my life based on stories and iterations if I could get everyone else to play along ;>

Disclaimer: BMC and Microsoft are clients.

Read: Notes on "Enterprise Agile"

Topic: Private Label RSS Previous Topic   Next Topic Topic: Google GMail Continues To Ignore India and Europe

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use