Archive for November, 2007

In Las Vegas

Just a reminder, I’ll be part of two panel discussions in Las Vegas next week, the first at the Gartner Application Architecture, Development, and Integration Summit on Tuesday morning, the second at the Gartner Enterprise Architecture Summit on Wednesday afternoon. If you’re attending and want to chat or simply introduce yourself, stop by or drop me a line at todd at biske dot com.

Dish DVR Upgrade

Last night, my wife asked me how to get to the timers on our DVR from Dish Network. This was somewhat surprising, as we’ve had our DVR for over 6 years now, and I knew that my wife knew where the appropriate menus were. It turns out that Dish Network upgraded the software on their DVRs sometime between Monday night and Tuesday night. While the upgrade added some great features that bring the DVR much closer to technology that Tivo provides, the way it happened was a good case in poor customer service.

Focusing in on the bad news, the fact that this software upgrade was occurring was unknown to us. Dish Network has my email address, and it’s associated with my account, so there’s no reason why I couldn’t have received an email telling me that this upgrade was going to occur. I have no idea if there were any messages about the upgrade on channel 101 or any of the other channels that provide help about the Dish Network hardware, but that would have been a pretty poor way of communicating it because I can’t remember the last time I tuned to those channels. The bigger problem, however, is that the upgrade wiped out all of our timers on one of our two DVRs (the second DVR still had the timer). This meant that the show we normally record on Tuesday nights didn’t get recorded. The fact that the little red recording light wasn’t on when it should have been was what clued us in. Had we not happened to notice it, we probably would have lost Wednesday night programs as well. So, the impact was relatively minor, but still inconvenient.

On the bright side, Dish has finally upgraded their software so that it is more resilient to programming schedule changes, etc. It used to be that recording was strictly time and channel based. While it would capture the name of the show currently scheduled to be on, if that show got moved, you’d miss it. This also meant reseting all timers at the new season for shows that changed their time slot. Now, they properly leverage the program guide so you can select shows by name or by keyword, select whether you want only new episodes or all episodes, and it will automatically create events regardless of when the show is on any particular week. About the only problem that still isn’t resolved is what to do with shows that follow sporting events. I’m a big fan of The Amazing Race, which is scheduled to air at 7 PM Central Time. This past Sunday, it didn’t start until almost 8 PM due to the NFL game that was on CBS that afternoon. Because the program guide never updates to reflect these delays, the timer doesn’t shift accordingly. My solution for the problem is to record for 2 hours rather than 1. I suspect this will still be the case, but I’ll find out the next Sunday that CBS has a late game.

Now if Dish would only allow me to pull the shows off the DVR via USB or other connection for playback on my iPhone or iPod, I’d be really happy. Until then, there’s always the Neuros MPEG4 Recorder.

Disrupted by SOA

In his links post, James McGovern had some comments on my Long Tail of Applications post. He stated:

Todd Biske wants to eliminate the term “application” as it implies a monolith. I would like to point out to Todd that there is another usage of the word that still remains important which primarily indicates a funding model. It is possible and viable to build a great SOA while still letting the finance folks think in terms of applications. Removing the term from architects is a great thing but very disruptive for other parts of the enterprise.

I’m glad James brought up the whole funding model aspect of it. As he rightly calls out, the removal of the term “application” is probably not terribly disruptive for architects, it’s very disruptive for the rest of the organization. How many IT departments have organizations with application development in the title? How many project charters contain the words “…deliver an application…” in their text? If you agree with the premise that, in general, IT is not delivering at the level it could be, then something needs to change. We need a disruption. If that disruption ripples all the way up to the way projects are defined and funded, then so be it. This type of change doesn’t happen overnight, and is not going to be without many bumps in the road.

Does everyone need this type of disruption? Perhaps not, but I think that it’s a very difficult thing to determine. If you’ve read The Innovator’s Dilemma or The Innovator’s Solution, you know what I’m talking about. While I can envision what an organization that has truly embraced SOA and BPM technologies might look like, it’s far more challenging to determine what the path to that state is, which can also leave you wondering whether it’s even necessary. Ultimately, it only becomes necessary when some unknown competitor embraces it and starts beating the pants off of you. Finding that first example that justifies trying a new way of doing things is hard enough, finding the second and the third to justifying sustaining it is even tougher. I’m up for the challenge, though!

Test Driven Model Development

I had a great conversation with a colleague (thanks Andy) recently regarding BPM technology and the software development lifecycle. We were lamenting the fact that whenever a new development paradigm comes along, we run the risk of taking one (or more likely many) steps backward in our SDLC technologies.

Take, for example, test driven development (TDD). (Aside: I enjoyed the latest ARCast on TDD from Ron Jacobs.) How do you unit test when doing model driven development as is the case in most BPM tools? What are the appropriate “units” to test? For that matter, how does a continuous integration model work? Can the models be stored in a source code management system like Java or C# code? Can I run automated builds? Does the concept of a “build” even apply anymore? I have a hard time believing that the use of these new model-driven tools somehow negates the need for testing and continuous integration. It would be great to hear more on how the best practices we’ve learned in writing large systems in Java and C# now apply when programming through pictures from some of the vendors in the space. I don’t know whether any of the vendors have given any thought to this, but I have seen organizations that have run into some of these questions as they adopted BPM technologies. Anyone have some answers?

Update: InfoQ posted some similar thoughts under the heading, “Why do Java developers hate BPM?”

The importance of continual learning

James McGovern responded to my Certified Architect

post with one of his own. He made a great point at the end of his entry which was something I wanted to discuss in my original post but didn’t find a way to work it in. He stated:

I guess the point that I am attempting to make is that certifications are neither good nor bad, and it is important to look at each within the context of the role you expect this individual to play. It is my belief that certifications don’t prove hands on skills at all, but having multiple at least says that there is evidence as an Enterprise Architect that you have the ability to learn as well as the desire…

Personally, I think the ability to learn, and learn quickly, is a critical skill for an architect. While some may think that architects spend all of their time up in clouds working on strategies and reference architectures, many of the architects I know are the go-to people when projects are struggling with decisions and direction. An architect needs to be able to quickly understand what it is that project is trying to do, determine what the most critical factors are, and provide appropriate guidance. At other times, it may not be the tactical project, but rather the senior executive asking the question, “should we be paying attention to any of this Web 2.0 and Social Networking hype?” The architect must quickly develop enough knowledge to make good decisions. Probably all architects will get stung at some point by some lower-level detail, but the good architects probably also take it in stride because they’re always learning.

When I interview people, I always ask a question about how the individual stays current, and it’s amazing how many people struggle with that question. If you’re not taking the time to learn, you’ll get left behind. I hope the readers of this blog learn things, and that’s a big reason why I do it. It’s even better when I get comments, links, or trackbacks, because I’m able to learn as well.

Certified Architect?

I received a press release from The Open Group a couple of weeks ago regarding their IT Architecture Certification (ITAC) program. This is a subject that I haven’t discussed on my blog until now.

Personally, I’ve never been a huge fan of certifications. Back when I was assisting in the interviewing process for Java developers, I saw quite a few developers who were best described as “book smart.” That is, they had memorized sufficients amounts of the certification guides from Sun, but taken outside of that certification context, their ability to contribute value was questionable. It seemed to me that these certifications were really only of value to consulting/contracting firms, because it gave them some kind of a stamp to indicate that the people they were providing had some level of qualification. Of course, the organizations doing the certification gained value as well, as people paid for the training/testing/etc.

When people discuss a need for certification, it ultimately comes back to a need to make the process of finding suitable candidates easier. In my experience in corporate IT, there’s always been at least one group that does pre-screening of candidates before they ever show up on the desk of the team performing the interviews. It’s likely that this includes HR, and also likely that it includes a number of contracting/placement firms. After all, the value proposition of these placement firms is that they provide “qualified” candidates, versus just opening the flood gates to resumes from the Internet. The real problem in all of this is that certifications are disconnected from how people work on a day-to-day basis.

Take the P.E. (Professional Engineer) designation as an example. In the context of a civil engineer, there are certain things that only a P.E. is allowed to do regarding designs, otherwise the company producing that design puts themselves at significant legal risk should that design fail. No respectable civil engineering firm is going to have designs that haven’t been signed off by a P.E. The same thing does not exist in the world of IT. Not only is there no standardized “sign-off” process, but there also isn’t any kind of liability (other than potentially losing your job) if you deliver an IT solution that fails.

If there is no standardization in the way that we perform the work, how can any of the potential value in certifications be realized? Where I see organizations and individuals struggle is where there’s a mismatch between the culture of the organization and the desired culture of the individual. I’ve seen people that are viewed as industry experts struggle mightily because the way that they like to operate simply doesn’t match with the way that the company operates. I’ve also seen teams that may not have had the strongest technical people be far more successful because they simply work better as a team.

At the architect level, my experience has shown that the successful architects tend to be the ones that excel at leadership, influence, and communication. They have to be strong technically, but technical knowledge alone does not make a successful architect. From a technical perspective, it’s probably even more critical that the architect can learn quickly and focus in on the critical aspects of the solution, rather than simply having significant technical depth and experience. How do we assess this? While technical knowledge can be tested, the interpersonal skills are very subjective. On top of that, not only may two people judge interpersonal skills differently, the aspects of what an organization finds important in interpersonal skills will vary. This factor makes it very difficult to come up with a certification process that will really add the value that the proponents claim is possible.

I won’t go so far as to say that certifications have no value, but in terms of IT solution development, they’re simply another tool. A blanket rule that sifts out any resume that doesn’t include certification Foo is probably going to result in you missing out on many good candidates. Because of the lack of standardization in job descriptions and processes, certifications are simply another data point to be factored into the equation. James McGovern has commented on how he likes when potential candidates have blogs. The lack of a blog shouldn’t rule out a good candidate any more than the lack of a certification does. The existence of a blog, certifications, speaking experience, etc. all must be examined.

More on Music eReader

With the added attention on eReader’s with Amazon’s Kindle announcement, I thought I’d actually do a little bit of research and see if an eReader for sheet music actually exists. It turns out there is one, the MusicPad Pro Plus from Freehand Systems. Unfortunately, it costs $899, which seems horribly overpriced to me, especially for a device with only 192MB of memory. You could buy a cheap laptop for less than this. While it has a touch screen and some features that are specific to reading sheet music, it still doesn’t justify it costing 2-3 times that of the book eReaders from Amazon and Sony. While some professional musicians could afford this as shown in their case studies, it doesn’t work for the Sunday singer like me. I’ll at least keep an eye on it and hope the price comes down.

Great TechNation Podcast

I found this podcast fascinating. Dr. Moira Gunn speaks with Sandra Blakeslee about the body maps our brain creates and gives some very interesting anecdotes regarding virtual reality, out of body experiences, phantom limbs, and even treatment for anorexia. I plan on getting Sandra’s book after this fascinating interview.

SOA and Communications

Nortel and IBM recently announced joint technology for integrating business applicaitons with communication services (InfoWorld article, SearchSOA article). Personally, I’m glad to see this announcement. I first had conversations around communications services with a colleague back in early 2006. He was looking at the future state communications infrastructure and came to me wanting to know how to make sure it would fit in with SOA. I had never thought about this before, but it made perfect sense. Communications, clearly, is a capability, so why shouldn’t those technical capabilities be exposed as services? Kudos to Nortel for having a press release about this and really emphasizing how this can play in a company’s SOA is a win in my book. While I’m sure other vendors in the communications space also have these capabilities, they’re not emphasized. As a result, it creates an atmosphere for more silo-based thinking around point-to-point integrations, rather on how this capability fits into the broader collection of enterprise capabilities.

The field of communications would also probably make a great case study or research project. If someone were to try to define communications services 10 years ago versus today, you’d have a very different collection. Would a presence service even be mentioned? Would it have been voice only, or would it have involved text/instant messaging, email, and/or video as well? It certainly makes the case for active service lifecycle management versus defining the services once and then moving on to the next project. As you define your service domains, you have to recognize that the definitions of those domains and even the collection of domains themselves will change.

The Long Tail of Applications

I recently had a conversation with Ron Schmelzer of ZapThink and we started talking about how the nature of the entry point for enterprise users to interact with the information technology will change in the future. You’ll notice that I didn’t use the term “application” in that sentence and there’s a reason for that. Personally, I want to get rid of it. To me, it implies a monolith. It’s a collection of functionality that by its very nature goes against the notion of agility. When I look at a future state where we’re leveraging BPM, SOA, and Workflow technology, I see very small, lightweight entry points that are short and to the point. I’ve mentioned this before in connection with Vista Gadgets or MacOS X Dashboard Widgets.

Ron brought up a ZapFlash that came out over a year ago that he wrote called “SOA: Enabling the Long Tail of IT.” I didn’t make the connection at the time, but it makes perfect sense now. In the ZapFlash, Ron describes the “Long Tail” this way:

The Long Tail, a term first coined and popularized by Chris Anderson, refers to the economic phenomenon where products that are of interest to only small communities, and thus result in low demand and low sales volume, can collectively result in a large aggregate market. This large collection of small markets can significantly exceed the more traditional market that the most popular and high volume sales items can generate. For example, Amazon.com generates more business in aggregate from its millions of books that each only sell a few copies than they do from the top 100 best sellers that might each sell tens of thousands of units.
One quick way of summing up the Long Tail is by saying that thereís more opportunity in catering to a mass of niche markets than a niche of mass markets. Large enterprises in particular are composed of masses of such niches, operating in different geographies and business units, catering to specific demographics with tailored solutions to meet the needs of all constituents. And yet, the centralized IT organization that serves the needs of the entire organization is typically woefully unprepared to serve these masses of niches: large numbers of users with widely varying IT needs. How, then, can IT support the needs shared in common with all the business groups without overextending its centralized resource to meet the specific needs of each of the individual groups?

Fundamentally, we’re both talking about the same thing. What I describe as very lightweight user-facing entry points are the “long tail” of applications. They’re small, niche solutions that get the job done. Underlying all of this is a robust SOA that are the enablers of these solutions which is loosely-coupled from the user-facing needs. If you think about it, the long tail of application development today is the business user using Excel because they could get done what they needed quickly. I’ve even done this myself, and even progressed up to getting a simple database setup to do a bit more. We shouldn’t be on a quest to squash these out, but rather to figure out how to enable it in a manageable way. The problem is not that somebody’s Excel macro pulling data out of Oracle exists, the problem is that we’re not aware that it exists. Clearly, someone had a need to put it together, and if we can find a way to enable this to where we’re aware of it and our systems support it easily, even better. Personally, I think the technologies we have at our disposal today are on track for making this a reality.

Followup on VP of SOA

I received two comments already on the Driving SOA post, one from Jason at ZapThink and one from Mike Kavis via his blog. Mike picked up that I suggested many of the responsibilities belong with the Chief Architect and correctly called out that this can be a lot of work to juggle. That being said, there’s absolutely no reason that the Chief Architect can’t delegate responsibilities to people on his or her team. Of course, if there is no architecture team, or if the architects are matrixed in from other organizations to where they have less-than-enterprise oversight, then this won’t work. This is where it gets back to a point I made at the end of my blog which asks whether the organization is biting off more than it can chew. This question needs to be asked before another body is brought in.

Jason specifically had some comments on the separation of responsibilities between the Chief Architect and the COO. He stated:

But a key point I’m making is that this person should be responsible for both the business process and architecture leadership. By separating the process responsibilities and assigning them to the COO, many organizations maintain the IT-centricity of their architecture efforts, which I see as a problem. That’s what I’m trying to address by combining the roles.

This is a good point, and if this is occurring in your organization, I think it indicates that the business/IT relationship is not where it needs to be. If the business and IT are simply all operating as “the business,” where they are seen as colleagues, peers, and partners, rather than IT being an order taker, I think the separation of responsibilities makes sense. If this partnership does not exist, an organizational change is one way of addressing it, but again, it is debatable (as we’re doing!) as to whether this approach will be successful or not. I’ve always said that organizations can both hinder or help large scale initiatives. What I’ve also found is that organizational changes take a long time to make up for a lack of trust in a company. The people have to be committed to working as partners, and if they aren’t, putting someone above them doesn’t always fix the problem unless there’s a big stick involved.

More on Oslo

In the latest BriefingsDirect SOA Insights Edition, Dana Gardner, Jim Kobielus, Neil Macehiter, and Joe McKendrick discussed, among other things, Microsoft’s recent announcements. The conversation started very similar to some of my own comments on the subject with this sense of deja vu. Neil Macehiter made a great point, however, that shows that this isn’t simply a rehash of model-driven architecture. He stated:

…they are actually encompassing management into this modeling framework, and they’re planning to support some standards around things like the service modeling language (SML), which will allow the transition from development through to operations. So, this is actually about the model driven life cycle.

This reminded me of my trip to Redmond in 2005 for the Microsoft Technology Summit. At the summit, we were shown an internal tool, I think from the Patterns & Practices group, that presented a deployment model of a solution. I recall a number of us going, “we want that.” If Microsoft has taken steps to integrate these models into the development and run-time management tooling, this is an excellent step, and certainly something beyond the typical model-driven development of the BPM suites. At a minimum, these capabilities should be enough for people to at least track the ongoing progress of the Oslo effort.

The second thing that came up, which again was consistent with some recent blogs of mine (see Registries, Repositories, and Bears, oh my! and Is Metadata the center of the SOA technology universe?), was the discussion around the metadata repository at the heart of Microsoft’s strategy. Dana pointed out that “there really aren’t any standards for unifying modeling or repository for various models” with some comments from Neil that this is very ambitious. First, I’d have to say that Microsoft trumped IBM on this one. Remember when IBM announced WebSphere Registry Repository and stated that they’d be coming out with their own standards for communication with it? They were slammed by many analysts. Microsoft, rather than trying to operate in the narrow space of the SOA registry/repository, are talking about the importance of metadata in general. The breadth of models and associated metadata when talking about full IT product lifecycle (development and management), is far broader than what is typically discussed in the SOA space. AS a result, there are no standards that cover this completely, so the lack of standards-based integration is a non-issue, and Neil nails it by saying Microsoft is trying to get out in front of the metadata federation problem and drive others to comply with what they do.

Give the entire podcast a listen here, or read the transcript here.

Driving SOA

Jason Bloomberg of ZapThink, in their latest ZapFlash, put a new spin on their old concept of the SOA champion and put forth a job description for VP of SOA. While he certainly suggested a good base salary for the position, I question whether a permanent, executive position around SOA makes sense?

If you look at the job responsibilities listed, the question I ask is not whether these tasks are needed, but rather, whether a dedicated person is needed for all of them. Let’s look at a few of them:

Provide executive-level management leadership to all architecture efforts across the enterprise. The directors of Business Architecture, Enterprise Architecture, Technical Architecture, Data Architecture, and Network Architecture will all be your direct reports.
Don’t we already have this? It sounds like a Chief Architect to me.

Drive all Business Process Management (BPM) initiatives enterprisewide. Coordinate with process specialists across all lines of business, and drive architectural approaches to business process.
Again, to me, this sounds like the responsibility of the COO.

Establish and drive a SOA governance board that incorporates the existing IT governance board.
This is the only one that I simply disagree with. If we’re speaking in terms of IT governance as defined in Peter Weill’s book, I think the IT Governance Board should be factoring SOA strategy and governance into their decisions. That is, IT Governance subsumes SOA governance, not vice versa. Of course, there are also aspects of SOA governance that are implemented at a much lower level within projects to ensure consistency of service definitions, etc. Once again, however, this should be handled by the existing technology governance processes. We’re merely adding some additional criteria for them to be applying to projects.

Establish and lead the SOA Center of Excellence across the enterprise to pull together and establish core architectural best practices for the entire organization. Develop and enforce a mandate for conformance to such best practices.
This gets into the technical governance I just mentioned. I certainly agree that a SOA COE can be a good thing, but you certainly don’t need a new position just to manage in it. Why wouldn’t the Chief Architect or a delegate lead the COE as part of their day to day responsibilities?

Manage a budget that is not tied to individual line-of-business projects, but is rather earmarked for cross-departmental SOA/BPM initiatives that drive business value for the enterprise as a whole.
The question here is whether or not the current organizational structure prevents cross-departmental initiatives from being funded and managed properly. It implies that the individual LOBs will be more concerned about their own needs, and not that of the broader enterprise. If the corporate governance principles and goals have stated that the use of more shared, cross-cutting tehcnologies are needed, then it’s really a governance problem. While an organizational change can assist, you still need to ensure that LOB managers are making decisions in line with the corporate goals, rather than that of their individual LOBs.

Work closely with the VP of Project Management to insure close cooperation between architecture and project management teams, and to improve project management policies.
Once again, why can’t this be done by the existing architectural leadership?

There were additional items, but my thoughts kept coming back to “shouldn’t someone already be doing this?” If the answer to this is “no,” then you must ask yourself whether or not you’re really committed to SOA adoption. If you feel that you are, but don’t have anyone assigned to these responsibilities, does the creation of a new position make sense? For example, if the organization struggles with getting LOB managers to produce cross-departmental solutions, will throwing one more person into the mix fix the problem, or just add another point of view?

As with many of the ZapThink ZapFlashes, there’s always a bit of controvery but lots of goodness. In this case, the articulation of the responsibilites associated with managing SOA adoption are excellent. Do you need a new position to do it? As with any organizational decision, it depends. If you are committed to SOA, but can’t make it happen simply because all of the possible candidates are simply to busy to take on these new responsibilities, then it might make sense (although you’ll probably need to add staff elsewhere, too, if people really are that busy). If you’re trying to use the position to resolve competiting priorities where there isn’t universal agreement on what the right thing to do for the enterprise is, a new position may not resolve it.

Music eReader

I was just reading a review of the new Sony Reader, and it reminded me of what I’d really like to see: an eReader for sheet music. I sing in a church choir every Sunday, and lug two large choral books, plus a paperback choral book with me. It never fails, however, that my father-in-law will pick out a song that morning for which I have an octavo with parts, but that octavo is sitting in a file cabinet back home. Personally, I would love to be able to simply download octavos/sheet music, stick in the memory of an eReader, and just carry that to church every Sunday. It should be able to store far more songs that the typical hymnal, and always allow me to have the music I need.

There are two challenges with this given what I read about the Sony technology. First, the two+ second delay to turn a page would be unacceptable. When you’re singing, you can’t pause for two seconds. Second, the device is not music aware. That is, if I’m singing from an octavo, the refrain may be on the second or third page, and there may be a repeat symbol that sends me back to it from page 6 or 7. While I’ve never used one, I’m guessing that the Sony Reader primarily supports single page turns. I would need something where I could simply tap on the repeat symbol and have it automatically jump back to the page where it needs to go. Of course, the more likely solution would be to simply store music without repeats (i.e. cut and paste the refrain to everywhere it appears), because there’s really no way for the eReader to know what verse you happen to be singing. Without knowing that, it wouldn’t know when to take first or second endings, for example. I’m sure I could work around this as the technology evolves, though.

So, I’m giving up my idea in the hopes that someone may read this and actually try to build such a device. It would certainly be worth it to me, and I’m guessing there a lot of Sunday church singers that could find it valuable as well!

Gift idea: Neuros MPEG 4 Recorder

It’s holiday shopping season, so I thought I would give some kudos to a product I picked up earlier this year, the Neuros MPEG 4 recorder. It’s a small device that accepts composite video (sorry, no hi def) via the included cable and encodes it to a MPEG-4 file on a CF or SD card. I then simply drag it into iTunes for playback on my iPhone or iPod. While I was initially using it for video on plane trips, now I use it for video while I churn away on the elliptical machine in the fitness center. My DVR doesn’t allow access to the files, so this fills the gap. I considered getting an EyeTV, but in my house, the satellite DVRs are the “master video source.” The only glitch I had is that UltraII CF cards don’t work well. Once I switched to a Kingston CF card, it has worked like a charm. Check it out at Amazon or at Neuros Technology.

Ads

Disclaimer
This blog represents my own personal views, and not those of my employer or any third party. Any use of the material in articles, whitepapers, blogs, etc. must be attributed to me alone without any reference to my employer. Use of my employers name is NOT authorized.