The Enterprise Architect and the Org Chart

Posted in Eric Bruno on January 27th, 2011 by Eric Bruno

Eric Bruno originally posted this on Smart Architect.

 

 

Recently, I’ve been following some discussions in the Enterprise Architecture community that revolve around the issue of where the function of the Enterprise Architect sits within the business — and indeed, how the role distinguishes itself from the work for which the CIO or CTO is responsible. 


These discussions can become very intense, which I think points primarily to the passion and commitment of those in the field about how they know they can help their businesses, and perhaps also to some frustrations about whether that’s as well-understood by those outside the profession. For example, from what I’ve seen, it looks to be the case that enterprise architecture typically emerges as a group within IT, often as more of a technical architecture program in its early stages, and so enterprise architects generally find themselves living within that reporting structure. But more than one has complained that such a structure actually can present some obstacles to fulfilling goals — that without having reporting responsibility directly to the CEO, their EA efforts wind up isolated and their ability to actually improve the implementation and execution of business strategy is seriously at risk.


But even if that’s the case, it’s not likely that there will be any immediate, large-scale change in what appears to be the reporting status quo. So, perhaps the bigger question is how to leverage working within the IT organization without letting organizational structures imperil objectives. Here, some advice I got from Debra Wilcox, Senior Analyst at Info-Tech Research, may come in handy. It is very true, she says, that one needs support from senior management — including the CEO — for enterprise architecture programs and their goals, so that their value is recognized and that straying off the path (without very good cause for exception) is discouraged. Enterprise architects can help the CIOs to whom they report increase their knowledge of what enterprise architecture efforts – viewed holistically beyond technical architectures per se – can bring to the table.


Such efforts contribute to what is really needed for enterprise architecture to succeed, and that is fully implementing its governance aspect through architecture review boards (ARB). “An ARB is a body [that will] look at every project to be done in the organization, significant business or technical projects, and examine the artifacts and goals of those projects to make sure they maintain the integrity of the architecture,” Wilcox explains. There’s regular interaction via this mechanism with organizational strategy and the senior management that defines it, with project objectives and the project and portfolio managers directing them, and of course with the CIO, CTO and representatives from the other reference architectures to ensure that things stay in line. (BTW, also worth checking out this Info-Tech research paper here for developing Enterprise Architecture to drive competitive advantage).


But wait, some say — isn’t the chief architect the new CIO (or perhaps CTO) if everything is working as planned — that is, laying out the rules and foundation within which IT will have to execute? That’s an intriguing thought, but is it a practical one? IT organizations have developed distinct structures over the years, the same as any other group (marketing, finance, etc.), and structures don’t come unglued very easily. In some other industries, like telecom, the CTO might actually be charged with delivering technical services to customers rather than managing the telco’s infrastructure itself, Wilcox says. And in organizations that are large enough, as is often the case in the finance sector, CIOs and CTOs usually have equal footing, with the former responsible for applications and the latter for infrastructure, she says.


And besides, whatever the breakdown, it seems as if there’s enough work for everyone to do as is. “The CIO and CTO set the strategy for their parts of the IT organization, whereas for the operational functioning of those areas, the enterprise architect ensures the fit of these strategies within the architectural framework,” she says. “The enterprise architect is responsible for more than ensuring that just the technical architecture is maintained or that the integrity of it is kept pure. We are also talking about systems, applications, data and security, and business processes.”


How does the role of enterprise architect play out in your organization? Let us know what’s working and what isn’t in your own reporting structure and its impact on fulfilling initiatives.


 


 


 


 

 

See FoneMonkey at iPhone DevCon!

Posted in Stu Stern on January 18th, 2011 by Stu Stern

Stu Stern originally posted this on Big Gorilla - Stu Stern's Blog.


I'll be presenting Automating iOS User Interface Testing with FoneMonkey at iPhone/iPad DevCon East in April. FoneMonkey is a free and open source, record/playback functional testing tool for native iPhone and iPad apps. If you're going to DevCon, come on by and check out the monkey!



Creating Healthy Craftsmen

Posted in Jerry Andrews on January 18th, 2011 by admin

There’s been a healthy debate over on the software craftsmanship mailing list about what craftsmanship means in the context of software development. I’ve been a proponent of, among other things, some set of standards by which a practitioner’s capabilities can be measured. That’s been unpopular, as you might imagine.

George Dinwiddie (http://blog.gdinwiddie.com) has written a bit about what he believes. I respect and agree with most of his conclusions, but I do disagree with his attitude on measuring developer’s capabilities. I don’t want to pick on George, but his are the most recent articles I’ve read on this topic (http://blog.gdinwiddie.com/2011/01/15/software-craftsmanship/http://blog.gdinwiddie.com/2011/01/17/trades-crafts-and-certification/), and they make the same mistakes I see everywhere when discussing performance tests.  To wit:

G—- is a certified tradesman.  G—- did horrible work.  G—–’s work was certified acceptable by a third party, also certified.  Therefore certification doesn’t guarantee excellent (or “craftsmanlike”) work.

Now here’s the fallacies in that argument:

  1. Certification, by itself, only guarantees that, at least at one point in time, the practitioner knew how to do excellent work (or at least, work up to the level of the certification standard).  It doesn’t mean (s)he will always do it.
  2. One (or two, or ten) examples where certification doesn’t do what it was intended to do doesn’t mean that certification never works, or even that it seldom works.
  3. The certification in question when this sort of argument is made seldom, if ever, covers the issues of craftsmanship under discussion.
  4. A certified individual, like most people, may not do the same level of work every day.  Even master craftsmen have bad days or weeks or even years. In trade work, unfortunately, you can’t always throw it out and fix it; there are schedules to meet.

So that particular argument is terminally flawed, and shouldn’t be made at all.  To amplify a bit:

I have contended and continue to contend that one key enabler of good craftsmanship is the ability to measure a practitioner’s skill.  I contend that what you can’t measure, you don’t understand.  I support both objective and subjective measurement tools–because in complex situations, it’s generally not practical to make measurements purely objective. I don’t believe we, as programmers, have such a measure. There are some certifications.  I’ve looked at the requirements for some of them–and they’re often quite good.  Sadly, they tend to be product-specific.

I’d be the last to contend that certification is the only ingredient of a healthy craftsmanship movement or in developing excellent programmers.  It’s simply one tool–a way to measure oneself both for one’s own edification, and to help others gauge your breadth of knowledge. I think it’s a particularly important tool–a pillar, if you will, along with other pillars, such as the community of like-minded individuals against whom you measure yourself, and who can comment on your work.

I think it’s important to review what certification means. It usually means “at some point in time, this individual knew and could put into practice certain tools, rules, and practices which, by this certification, we have verified”.  Usually the certification standard is generated by people who really know the subject, and are qualified to determine what parts of the subject are key to being effective. Certification doesn’t say anything about a practitioner’s willingness to apply what (s)he knows–that’s a different problem, solved in different ways (e.g. establishing and maintaining a reputation, publishing your work for review, etc.).

What I’d really like to see is some kind of actual data comparing the performance of programmers (or plumbers, or electricians) who are certified in some way to those who aren’t certified, on tasks related to the certification. I see a lot of opinions (mine included) bandied about without actual, real, verifiable data. One of the things that makes DeMarco and Lister (Peopleware) compelling reading is that they provide actual data. Real studies with results that aren’t anecdotal. They’re not just voicing “opinions developed over years of practice”–they (and we) should be conducting actual experiments to verify our theories.

Craftsmanship, in my mind, requires:

  • an attitude that it’s worthwhile to create excellent work, to provide the necessary stimulus,
  • access to people who can teach and/or materials from which a practitioner can learn what that means and how to accomplish it, to provide the necessary knowledge and experience,
  • some standard ways to measure a practitioner’s progress from neophyte to mastery, to provide a mechanism for the practitioner to understand where (s)he is and where (s)he needs to go, and
  • some mechanism for displaying the practitioner’s achievements, so that mastery carries real benefits in the working world, thereby incenting mastery in others, and helping people outside the craft or trade to select workers appropriate for their tasks.

Documentation in the wild

Posted in Jerry Andrews on January 12th, 2011 by admin

I just started a new project.  I has no documentation except the code.

In this particular project, this is generally a Good Thing–the code in question is clear, well written, and (ahem) completely without comments.  I’m not having a lot of trouble understanding it, overall, because it really is very good code.  But… I’ve spent 2 days trying to figure out how one important feature works.

http://thedailywtf.com/Articles/Documentation-Done-Right.aspx

‘Nuff said.

Help Your Business Move Fast: Five Principles to Embrace Now!

Posted in Eric Bruno on January 12th, 2011 by Eric Bruno

Eric Bruno originally posted this on Smart Architect.

How are enterprise architects going to enable the business agility that is so critical to enterprises today, as they seek to stare down growing global competition, and harness opportunities to prevail in new markets? The way forward is to tighten up adherence to five critical principles that always have guided — or at least, should have guided — enterprise architecture (EA) efforts. Slackening the reins may seem to be the way to get moving faster, but trust me — that’s only a temporary speed burst. It won’t set you up for the long haul.


So, let’s look with a fresh eye at some of the key steps to help you soundly respond to growing pressures.


Improve the Business Case

Often the best, and quickest, way to meet business needs is to more clearly define those needs in the first place. Spending a little more time up front to better define and communicate the business requirements behind the architecture will result in a more concise solution, and even greater time savings at each step along the way.


Here, the principles to follow are not unlike those your CIO must adopt to build a business case for any tech investment. A good primer to read is featured here in Smart Enterprise Exchange. Joe Peppard, Professor of Information Systems at the Cranfield University School of Management, explains the importance of improving the process used to build a business case — and doing so makes as much sense for the enterprise architect as it does for the CIO. After all, if the business case is weak or lacking, the architecture may be incomplete.


An effective process is one that involves a number of factors. For example, a complete cost/benefit analysis outlines all of the benefits to each business goal or need, remembering that these often can be more than monetary returns.


Another “must” is thoroughly examining the costs and risks associated with each business goal. Also, remember to involve parties ranging from business analysts to key development managers, as their feedback can result in a more refined business-needs analysis. At the same time, make sure to leave room for contrarian views that can be a spur to innovation and better ROI.


Improve Communication

IT architecture has little value if it cannot be thoroughly and clearly communicated to business and IT partners.


So you’ll need to:

  • Document the architecture clearly using standard methodologies and guidelines for the areas you’re architecting. Use Unified Modeling Language (UML), the Open Group’s service-oriented architecture (SOA) ontology, or other methods such as Martin Fowler’s patterns for enterprise architecture (EA) (see Patterns of Enterprise Application Architecture, Addison-Wesley, 2002). It’s fine to combine methodologies, but you should strive for consistency.
  • Allow for two-way communication. Avoid dictating to others what needs to be done, and how. Instead, create a culture and process that’s open to all opinions.
  • Create working groups for key areas, involving all stakeholders in these groups, led by experts.
  • Iterate the architecture through open discussion with the business on one side, and development on the other.  


Following these guidelines will result in a living, evolving architecture strategy that moves quickly to meet the ever-changing business and technology landscapes.


Ensure End-to-End Accountability

An enterprise architect and his/her vision can quickly become irrelevant if he or she is not involved in the end product. Accountability is key for success at all levels and has the following benefits:

  • It ensures that the architectural vision is carried through from definition to implementation.
  • It ensures buy-in along the participant chain, through to development and quality assurance.
  • It creates architecture advocates throughout the organization, increasing the number of people who believe in and communicate the overall vision.
  • It helps the enterprise architect and CTO put their foot down on silos and “out-of-band” development (otherwise known as skunk works).


Being involved in the development and deployment of the software the architecture defines is the way to ensure that the solution evolves rapidly, and remains relevant to the business. 


Improve Process Measurement

The architecture process should be constantly improved via a feedback loop. Past business technology investments should directly indicate the effectiveness of your architecture vision. To ensure this from the beginning, create key quality parameters to measure and analyze the effectiveness of your architecture each step of the way The Open Group's Architecture Review Checklist, for instance, can be a starting point. It covers questions about general architecture issues, as well as specific items, such as application server technology.


Gauge success of your architecture’s implementation by reviewing :

  • Reliability and availability: Did the resulting system have failover and redundancy designed-in?
  • Security: Were there any security issues in production that can be traced back to the architecture?
  • Modifiability/extensibility/portability: Over time, were development teams able to easily and cheaply extend the system without overhauling or abandoning the original architecture principles?
  • Interoperability: Did you design for the integration with future technologies, systems, and data?


 

If there were deficiencies in your enterprise applications that can be traced back to flaws or holes in the architecture, defining processes to ensure that future architecture work doesn't repeat the same mistakes will help to optimize those areas in the future.


Improve Your Digital Literacy

No one can be expected to know or remember the details of every discipline in a growing world of technology. You should, however, be able to locate, organize and communicate relevant pieces of information quickly and concisely using technology itself as a medium. This involves using hardware (i.e., desktop and mobile devices), as well as software to gather and index the appropriate information. 


Do this correctly, and you can expect to: 

  • Stay in front of emerging technology, not just the hot topics of the day.
  • Understand what has and hasn’t worked for other companies.
  • Remain a thought leader within the organization. 
  • Have up-to-date knowledge of costs related to hardware and software deployment as part of an architecture (i.e., basic hardware costs, consulting rates, hosting fees, average ROI for investment in particular areas such as integration, SOA, cloud and so on.)   


I’m going to say it: When it comes to enterprise architecture, be the turtle, not the hare. Take the time to do things right from the start, and the race is yours to win.


I’d love to hear your thoughts about whether such principles have guided and continue to guide your own efforts. Please feel free to share your comments, ideas and experiences with me and your fellow enterprise architects here. See you next week!


Eric Bruno is founder and Principal, Allure Technology Inc., which provides enterprises with online business solutions that leverage Internet technologies and approaches that combine simplicity, rich user interfaces, and service-oriented architectures. Eric also is an expert in full lifecycle, large-scale software architecture, design and development for client/server, highly distributed, multitiered Web, real-time and transactional software development environments. He has worked on large-scale systems, and served as technical advisor, chief architect and development team lead on numerous projects in industries including financial services.

Welcome to Smart Architect

Posted in Eric Bruno on January 6th, 2011 by Eric Bruno

Eric Bruno originally posted this on Smart Architect.

A few weeks ago, Editor and Community Manager Paula Klein wrote here that you could expect to see some new interest groups surface on Smart Enterprise Exchange this year. Making good on that promise, this week I’m happy to be part of the debut of new, exclusive resources for the enterprise architect community. Smart Architect is a group we have created to enumerate, explore and engage with you on the many issues enterprise architects face as they strive to bring greater agility to the business.


Those issues can be pretty monumental, I know. Enterprises have accumulated innumerable legacy business processes and stand-alone services in silo applications that often are linked only by point-to-point integrations. On top of that, the frameworks, reference models and other forms of documentation that have been the traditional outcomes of enterprise architecture (EA) were likely to be treated tactically instead of strategically.


The result of such past portfolio practices? IT organizations’ budgets now stagger under the weight of operational expenses that result from maintaining stove-piped systems, even as IT leaders face new pressures to embrace modern design paradigms — like the cloud — that promise to accelerate business opportunities.


The good news, I think, is that there’s never been a better time for enterprise architects to demonstrate that their discipline can — and should — have strong application to a dynamic business strategy. Today, EA skills are firmly focused on building organic plans to deliver adaptable business capabilities for the organization. This work should prepare the enterprise to reduce IT complexity so that the business can function with efficiency and agility. Those two features are critical today when business-adoption cycles are fast-paced; when the cost-lowering proposition of reusable business services is increasingly critical; and when a consistent and logical view of exploding enterprise data sets matter — as it undeniably does — to help inform corporate next-steps.


All of this sets the stage for your new Smart Enterprise Exchange group. In the coming months, you’ll find informative articles featuring real-world insight from your peers about how they’re forming their EA strategies and preparing for new challenges. You’ll find slide-casts to help you lead your EA modernization efforts. We’ll also feature blogs by expert architects on timely topics, from making way for cloud services to maximizing service-oriented architecture (SOA) returns.


Above all, we hope you’ll join this group, offer comments and actively participate in its content. I’m looking forward to making your voice a part of our vision. Please feel free to contact me with your ideas, comment on my blog, or maybe even start a discussion thread of your own. Thanks!

2011: Year of the iPad

Posted in Dave Rodenbaugh on January 5th, 2011 by admin

admin originally posted this on Lessons of Failure.

Happy New Year to everyone, first of all.  And second, I hope you managed to get your hands on an iPad in the past 6 months because if you haven’t, you’re going to want one.

Why?  Because 2011 is definitely going to be the Year of the iPad.  Not by an inch, more like a mile.  Let me explain why…

Now that I own an iPad, I finally get the hoopla over these devices.  I wasn’t impressed when they came out and wasn’t really planning on getting one for the holidays.  Thanks to a generous visit from Santa, who despite my best efforts to the contrary with acerbic blog posts considered me worthy of one under the tree, I now own one along with my wife.  And I’m impressed.  Very impressed.

iPad:  The Must-Have Intermediate Computing Device

iPad is King, at least in 2011I’ll coin a new term for tablets: intermediate computing devices, although I’m hoping someone comes up with a better one in the future.  To me, the tablet represents a new class of device that isn’t quite in the same class as netbooks and mobile PCs, although categorically they tend to be lumped together.  These devices fill a gap where a PC is too cumbersome, but a smartphone isn’t powerful enough, or even large enough.  The iPad is clearly king of the tablets right now. I say that, not as an Apple Fanboi, but as a solid convert to the notion this device does actually have a place in your house when you already own a desktop, laptop, media computer (e.g. AppleTV), and smartphone.

Each platform has tremendous utility within its own domain (smartphones are great for keeping in touch on the go, but lousy for typing blog posts, and the laptop is strong where the smartphone is weak, etc).  It wasn’t until I actually owned the iPad that I suddenly found places where I really wanted more than my smartphone but much less than my laptop.

Let’s look at a specific example: my wife and I both love Rummy Tile.  Getting the boxed game out after the kids are in bed is a bit of a hassle, and we can’t play on anything except a very flat and hard surface.  Enter the iPad:  each of us downloaded an iPad version and can play against each other sitting in bed via Bluetooth.  Comfort and convenience, meet marital competition (For the record, my wife continues to beat me overall, even at the electronic version).

Not satisfied with that?  How about this:  I leave my email open on my laptop downstairs all the time.  Doing so prevents my iPhone from getting email, so I find myself having to run down 2 levels at night to shut down Outlook so I can see email in the morning when I get up.  Not with my iPad!  I installed Team Viewer and can now remotely login to my laptop, shut it down, or do anything I need on the computer (like grab an attachment from an old email, which I frequently need as well).

Of course, don’t forget the real estate improvement over the smartphone genre:  web browsing is a treat by comparison.  My wife and I need to lookup things all the time, and the iPad is the perfect device for on-demand, quick-and-easy web surfing.  No waiting for boot time of the laptop, no struggle to read the data displayed on the smartphone.

And…The Competition Sucks

After I got the iPad, I thought I’d check out the competition and see how the lay of the land was looking by comparison.  It’s not good for the Android folks Android Tablets are lacking...right now:

  • The Dell Streak requires a data plan from, yep, you guessed it, AT&T.  It’s cheap if you get the two year data-only plan at $30/month, but as pricey as the iPad otherwise.
  • The Google Android tablet has very mediocre reviews to date on Amazon.  When the “best helpful review” for it says, “For the price it’s not bad…”, you know you’re in trouble.
  • Two of the most promising contenders that generated huge buzz (Notion Ink and the Kno (aimed at college students)) just made the Wired Vaporware 2010 list.  Oops.
  • The Maylong $99 tablet sold at Walgreens got scathing reviews earlier this year, and continues to hold the distinction of “worst gadget ever“.
  • Viewsonic’s G-tablet isn’t exactly burning up sales with comments like “With some sweat equity, you can get it to work…”, and “Next gen hardware, but software needs improvement”.  At it’s current price, you can get a 3G iPad, and save on your Advil bills to offset the pain.
  • And other low-end competitors are getting smacked around too, like the Augen NBA7800ATP.
  • EDIT:  For those wondering why I omitted the Samsung Galaxy, see the comments.

Out of the box, the iPad just works, which isn’t something you can say of most tablets mentioned above.  At the current prices and capabilities, the Android tablets aren’t a clear win as a lower-end device.  The experience is often so poor as to be unusable, and the higher end models are not significantly better than the iPad for nearly the same cash outlay.  Never mind that engineers looking at the Android have discovered major issues with the compositing and view system which are primarily software-based, giving extremely poor responsiveness in the touch interface and the animation rates.  Android has a ways to go here–either due to hubris or lack of experience.

And while Windows 7 mobile at least got that part right, they are still lagging heavily in this market and will likely remain so for the balance of the year.  The market trends clearly favor Apple’s iPad as the hottest “mobile PC device” available, for 3 quarters running.

In short, no one else has a good handle on the market and user experience aside from Apple.

The Golden Last Frontier of Mobile App Development

Apple App Store, the Place We Love to HateLastly, what about the developer community?  Well, you can complain about the App Store all you want, but the Android Marketplace still isn’t a whole lot better than when I last wrote about it.  Furthermore, the app selection for Android is still considerably worse than than for iPad.

But the real reason you want to get in on the action is that iPad apps aren’t cheap, and therefore command higher revenues from the App Store.  The iPad versions of apps are often selling for several multiples (sometimes deserved, sometimes not) over their iPhone counterparts.  Even though the average across all apps is only $1 higher for iPad apps, my experience looking at the top-selling apps is somewhat different.  Here are a few examples that clearly show a difference if you get in the good graces of the world:

App Name
iPhone Price iPad Price
Angry Birds: $0.99 $4.99
Plants vs. Zombies $2.99 $9.99
Fruit Ninja $0.99 $2.99
Cut the Rope $0.99 $1.99
UNO $0.99 $4.99

Some are the same in both (SlingPlayer, LogMeIn) but clearly the experience is vastly different.

In addition to the gaming possibilities of the device, the iPad opens up a whole new world for application development where the increased screen real estate makes a big difference (Netflix avoided the iPhone app for a long time and rightly so until the iPad came along…now it’s one of the top rated iPad apps in the store, and for good reason).  And there are precious few decent iPad utility applications out there, making a rich market for those who have the know-how and willingness to surf the treacherous waters of Jobs & Co.

Unless a miracle happens, it looks like Apple has the tablet world by the tail for at least this year.  In 2012, assuming the Mayan gods don’t come to punish all of us for bad John Cusack movies, the landscape may change dramatically but for now it’s Steve’s world and we’re just computing in it.

Related posts:

  1. iPad still kicking Android Butt, No End in Sight
  2. Android App Store: The Cure Is Worse Than The Disease
  3. Top Ten Reasons Babies are better than iPads