Business, Academia, Government – do we have the same problems?

Every one of us is dealing in one way or another with high technology. Whether it is by trying to develop a product, trying to deliver a service, or just preparing our slides for a presentation, we all deal with the high-tech world.  This usually means that we must communicate with high-tech people, and typically the results we get are dependent to some extent on how well the high-tech people do their work.

Communicating with high-tech people is a challenge. Not only do they speak their own brand of jargon, they also tend to be very literal.  Like the literalness of the computer itself, high-tech people seem to think that if you ask for a three-pronged left-handed widget (or a thingumbob, if you like), then if they deliver a three-pronged left-handed widget to you, you should be happy.

Unfortunately, it doesn’t work that way. With software, for example, the requirements are never completely known.  Typically, when the first working model of a new software system is shown to the people who asked for it, their reaction is: “Oh.  I see what you have here, but what I really want is something different.”

This can be frustrating for the technologists who worked for a long time on the development.  One of their countermeasures now is using Agile development practices, in which a working prototype is shown to the “customer” early and often.  This allows the developers to correct their course early and gain confidence that they are building something that will actually be useful.

But why is it so hard to specify what we want in advance? Is it because we don’t speak the same language as the techies?  Or is there something inherent in high-tech that obscures the simple outcomes that we know we want and we think we have asked for?

I believe it is both. Not knowing how high-tech stuff is constructed, we don’t know which jobs are hard to do and which are easy.  We also don’t know how elaborate the underlying structure has to be in order to get what looks like a simple result.  So we ask for things that we want and find ourselves puzzled by the groans from the technologists who see years of work ahead of them to satisfy the request.

We also don’t really know what we want when it comes to interactions with a computer-based system, because the possibilities are endless and the examples we’ve seen in the past color our view of what we think the interactions should be.  For example, if you’ve used Word Perfect for years to do your word processing work, you will not find it easy to switch to Microsoft Word, because the interactions and functions are different.

There’s a new discipline in computer systems development called user interaction (UX) design.  It calls on specialized skills ranging from graphical design, human perception and interaction protocol design, to database design and web programming.  But even as this new discipline is helping to make systems easier to interact with, no one can substitute for you, the user or customer, in defining what the system should do.

Sometimes you have to say, “I want it to be easier to use than this,” when you see how a system works, even when you don’t know how to make it easier.  If you challenge the development team to try different ways to make it easier, you will usually get something better.

But this poses a problem. If they are experimenting with various ways to make the system easier to use, how long will it take to get to the finish line?  How much will it cost?  The fact is that doing engineering and design requires creativity and experimentation.  And you can’t schedule a breakthrough.

So you have to settle for setting a limit on how long or how costly the project is to be.  An entrepreneur may run out of money before delivering a satisfactory system. But if you are constrained to actually get a working system, you want the best you can get within the constraints.

This comes back to the Agile approach. If you ask to be shown a working prototype often, you can do course-corrections frequently while you also gain confidence that the developers are meeting the most important criteria for your project, because you make them show you how the system meets those criteria first.

The Agile Management Bottom Line

Give up trying to specify everything at the start.  Begin by prioritizing the key features or results you need, and ask for frequent demonstrations of a working system.  You’ll end up with a lot more confidence in your high-tech developers, and they will be less frustrated with you.

—–

John Levy helps business managers who are frustrated by the lack of results they are getting from IT or Engineering.  He specializes in rapidly getting high-tech teams to align with business strategy and to contribute to business success of the enterprise.

John has been consulting for managers in industry for over 20 years.  John’s book on management for technology executives, Get Out of the Way, was published in May 2010. http://bit.ly/9pX1wS

For more information, please visit his website at http://johnlevyconsulting.com ,

Email him at info@johnlevyconsulting.com , or call 415 663-1818.

What’s the matter with IT?

Information Technology (IT) is a name that covers all the stuff (computers, networks, software) that makes businesses work.  As a key part of every business, IT has become a loved and hated department.  Loved because the capabilities of IT keep things humming in business.  Hated because there is something about IT that keeps it apart from the rest of the business.

Businesses keep IT separate for a number of good reasons.  IT needs technical specialists, and these specialists have to interact with each other.  IT has to maintain the systems and networks that keep things running, and these systems are often far from the home office.  Finally, managing IT people requires some kind of management specialists who know what makes technologists tick.

There are also some bad reasons for separating IT from the rest of the organization.  One is to keep business people at the operating level from having too much influence on what IT does.  After all, if you let a low level business manager ask for everything he or she wants from IT, IT might not have enough time to do the big projects planned by the top executives.  Another is the belief that IT doesn’t speak the language of business.

One of my client companies used to have the head of IT (the CIO) report to the head of Finance (the CFO).  This guaranteed that the CIO had a financial perspective on everything.  While that is the right perspective for a department that belongs under Operations (people who keep the buildings and the commuter buses running), it is not the best perspective for and IT department that is trying to contribute to the business bottom line by developing innovative software packages and better products.

This company had a large call center (people who answer the phone when you call for support) located 750 miles from the home office.  The whole IT operation, except for their offshore contractors, was located in the same building as the call center.  Upstairs from the call center were the software developers and managers who were implementing the latest web site upgrades and support software for their sales agents.

Software development is not Operations, it is Engineering.  If you treat software engineers the same way you treat call center operators, you discourage them, because they need a different working environment and a different set of criteria for their success.  Discouraged software engineers leave to find a better place to work.  The most experienced and most productive ones of them leave first.

IT needs to be integrated with the organization.  Not only does the management of IT have to be aware of and fully behind the strategic initiatives of the company, they should be actively proposing and executing projects that increase the competitiveness of the company.  The more that IT can sit side-by-side with their business-oriented peers in the company, the better the strategies and the results will be.

The Agile Management Bottom Line

Get IT out of its silo and into the main stream of your business.  If you don’t understand what IT does, start asking questions.  But don’t banish IT to the boondocks just because they’ve got a lot of funny-looking machinery in the closet.  You need them and they need you.  Start talking.

John Levy helps business managers who are frustrated because they are not getting what they need from their IT or Engineering organizations.  He helps them get predictable, consistent and innovative results from high-tech people in IT and product development.

John’s clients include companies in insurance and manufacturing, as well as software, computers and storage.

John’s book on management for technology executives, “Get Out of the Way,” was published in May, 2010.  His website is http://johnlevyconsulting.com and he can be reached at 415 663-1818 or info@johnlevyconsulting.com

Published in: on July 27, 2010 at 4:03 pm  Leave a Comment  
Tags: ,

Metrics of success in development – Part 1

How do you find out if your development organization is functioning well? Naturally, if you are getting products out on time, consistently, and the world around you is happy with the results, you have nothing to worry about.

But what if there ARE complaints?
Can you determine whether you’re hearing gripes that have little to do with you? Or whether there really is room for improvement?

I’m working on a self-assessment tool, probably containing about 10 questions, that will help you evaluate whether you are on track. The way to use the tool is to answer the questions and then count the points at the end.

Here are the first three questions in my current working draft:

1. Counting only the past 3 projects and products under your management, how many have been completed on time? For each project/product not completed on time, how much later were they completed?

[4 points] for each project completed on or before the originally scheduled completion date
[3 points] for each project completed within 120% of the originally scheduled duration
[2 points] for each project completed within 150% of the originally scheduled duration
[1 point ] for each project completed after more than 150% of the originally scheduled duration
[0 points] for each project which is never completed

2. During the time that those 3 projects or products were being developed, how much turnover did you experience among your technical staff, including first-level supervisors and managers? Turnover means departed or transferred out from project teams or management without being invited to do so by you or your managers.

[3 points] less than 5%
[2 points] between 5% and 15%
[1 points] between 15% and 30%
[0 points] over 30%

3. In those 3 projects or products, how much of the planned functionality was delivered (at the completion date you used for question 1)?

[add 3 points] for each project in which you delivered all of the planned functionality, plus additional functionality defined after the start of the project.
[add 2 points] for each project in which you delivered all of the planned functionality
[add 1 point] for each project in which you delivered at least half of the planned functionality
[add 0 points] for each project in which you delivered less than half of the planned functionality

If your total points add up to 24,
you have a perfectly-performing development organization and have no need for improvement. For the rest of us, the points are probably in the following ranges:
Excellent: 18 to 24 points
Good: 12 to 17 points
Fair: 6 to 11 points
Poor: 5 points or fewer

Shipping products on time
is the key result that most of your stakeholders want. Shipping the product with the features and functions that they asked for — or expect — is next in line as a measure of your success. But if you are burning out your development crew — and causing turnover as a result — you won’t be able to sustain the results. Therefore, these are the first few measures that tell you whether the organization is successful and sustainable.

Next time we’ll begin looking at other measures that can tell you whether your management practices are helping you build a development organization that is consistent and successful for the long run.

Constant Reinvention = Survival

Nothing lasts forever. Even the best-conceived business strategies eventually become constraints on growth.

Consider Dell. “Dell succumbed to complacency in the belief that its business model would always keep it far ahead of the pack.” But the competitors got better while Dell failed “to invest in new business lines, talent, or innovation that could provide another competitive edge.” * [see Business Week citation below]

As a leader in technology or product development, you may think that your entire job is to execute well on the development plans laid out by Marketing or a strategic planning group. But you can do more. You can help the executive staff recognize that the business has other opportunities.

Consider what the Business Week authors went on to say: “Long-term success demands constant reinvention.” This means that while you’re turning out products that meet the current set of goals for functions, price and quality, the viability of the company may depend on your pointing out where innovative products or services could come from, using the brains you already have on your staff. Reinvention means re-thinking the orthodoxies everyone has accepted as the characteristics of the company. Do you have some independent thinkers on your staff who keep coming up with off-the-wall ideas? Maybe some of those ideas are actually your ticket to survival.

Nurture the next growth platform long before it’s needed.” This means you have to carve out the budget to support the radical ideas from the operating budget you’re supposed to use for mainstream development. If you can’t convince your executive staff to fund a skunkworks operation, then you should look at having some of your key contributors doing some off-the-record investigations. Is this risky in your company? Then maybe the company needs some shaking up.

Most [companies] don’t [nurture the next ideas]. Distracted by the demands of their current success, they re lulled into a false sense of security.” It’s easy to focus only on the tasks that will satisfy the demands of current customers and current ways of doing business. And while it’s not easy to perform on those tasks at extraordinary levels, you can get lost in gunning for the immediate satisfactions of meeting this quarter’s goals. Can you be a VP or Director of Engineering and still make time for thinking about next year’s products and the businesses that you haven’t entered yet? Consider this: who else is better positioned to view what’s possible, who is out there needing better functions or services, and what can be combined to make a new business?

I suggest taking an advocate’s role as part of your commitment to the long term success of your company. You don’t have to be a marketer or business analyst to know what’s exciting and feasible in the next generation of products and services. Carve out a niche as a visionary and a keeper of the wild ideas that can open up new busineses for your company. Do it regularly, and you’ll be twice as valuable as the person who only meets the usual goals of Development. Besides, it may help your company survive.

———-
* “Where Dell Went Wrong” by Nanette Byrnes and Peter Burrows in Business Week, February 19, 2007, pages 62-63.

http://www.businessweek.com/magazine/content/07_08/b4022074.htm?chan=search

Is your software on fire?

The spectacle of Dell laptops on fire in the summer of 2006 due to Sony battery problems has prodded me to think about product failures. There is nothing so attention-getting as a fire in a conference room. Few people who see this sort of failure will forget what they have seen.

Software failures may not be so spectacular
, but they can be just as memorable to the people who witness them.

Examples from large-scale software systems
: if you were waiting for your baggage in the new Denver airport a few years ago, you may have waited until human intervention delivered your bags, because the bag sorting system failed. And what if you dialed 911 and the call did not go through?

Examples from embedded systems: your cell phone drops a call due to a software glitch in the phone; your hard disk loses track of its position and takes an extra several seconds to recover.

Examples from everyday use of an operating system
: Windows gets confused while processing interrupts from the web browser, and the browser hangs until you reboot; Outlook misses a beat and an email doesn’t appear on the screen when you expect it to.

If the computer or phone were to catch fire when any one of these failures occurs, you can bet that the manufacturer would do a massive recall the way Dell has done. But they didn’t. Instead, they let the users keep on running with a piece of software that “catches fire” regularly. If you’re like most users, you have become accustomed to seeing these fires and dealing with them. But do you like them? Of course not.

What are the consequences?
Word of mouth travels quickly, and these failures have created a large population of users who resent having to use devices and software that fail. Resentment leads users to search for a better alternative. This is good for competitors who offer a better, unfailing solution.

But the whole world of software (and digital devices that depend on software) suffers from a bad image because of these failures. From consumer devices to mission-critical industrial control systems, everyone who has to deal with modern digital devices is gun-shy about failures. And rightfully so.

Is your software on fire?

There are known methods to assure that the software-dependent devices you make will not catch fire. If you’re not certain what these methods are, or who can implement them for you, you need to find someone who can help. But before you call in a consultant, be sure that you’re willing to pay the price: It takes time and money to make software reliable, just as it does in batteries and laptops. Are you ready to buy in?

Development Process Stability

After shipping a first product, successful companies face a number of challenging problems in product development, including lack of development process stability as development work scales up. Here are some responses that have worked well in the computer, software, storage and consumer electronics industries.

Why process selection matters now

As Product Development scales up to involve multiple concurrent projects, three things happen to stress the development environment and to threaten its results:
1. The informal processes used at startup no longer work reliably to get quality products produced on time.
2. More managers are needed as the development department becomes too large for one person to manage directly.
3. Supporting customers and manufacturing takes time away from development but offers opportunities for feedback that must not be ignored.

This is an opportunity to choose good processes for the next 5 years. There will never be time to reconsider process selections. The cost of change only goes up.

Managing multiple projects is more complex.
Engineering and Product Marketing must cooperate in new ways to assure that the next generation of products is successful.

Founders and early employees who are technologists have been crucial to success, but they may not be willing or able to make the transition into a development environment that is sustainable for the long run.

Development processes

Development must move out of crisis mode, so that projects can be completed on a predictable schedule.
There may have to be changes clarifying who is responsible for setting project goals.
Project management tools need to be used to manage schedules and feature lists without overloading the development team with overhead tasks.
When a milestone is missed, rapid analysis and decision-making is critical to staying on track for product introductions. Certain metrics are useful here, and project teams need feedback about how they’re doing.

Development tools

Who is responsible for Quality? The Development department must get serious about product quality, even if QA is managed from Operations or elsewhere.
Bring in hardware and software tools for testing, establish disciplined procedures for release, and stay in the issue/correction feedback loop.
In addition, Development can provide useful input to product direction in the next cycle through interaction with customers and field staff.

—–
If you would like more information about how we assist growing companies with managing product development for the long term, please visit http://johnlevyconsulting.com, call 415 663-1818 or email info@johnlevyconsulting.com

Why is Engineering the last to call for help?

Engineering and the product development organization are critical to a company’s survival. In successful companies, they deal daily with a vast array of problems, from technology shifts to people loss. One of the key talents of successful technical managers is to deal with changing priorities and resource availability. They manage these dynamically whether by PERT charts or just seat-of-the-pants intuition.

So why is it that they don’t often ask for help?

I believe it has to do with two aspects of the occupation itself.

(1) When your daily life is filled with adaptation and improvisation, you have trouble imagining that there is anything anyone can do to help. Your talent as a technologist managing others is to be able to evaluate technical directions in an instant, moving people around to cover the top priorities of the day, and communicating to your bosses what is going on. How could a consultant or an internal mentor help this kind of activity?

(2) You are already in the midst of trying to improve the engineering process and the way your people accomplish projects. You have the credibility with them, so you can influence their work to improve a little at a time. It is inconceivable that an outsider, or a non-specialist insider, could have more influence on your staff.

The Marketing Department and even the Finance people know that Engineering is in trouble when products don’t get completed on schedule, turnover is high, or products need extensive tweaking to meet customer needs. But inside Product Development, life is normal: dynamically adapting to the shifting priorities, making quick decisions about fixes, and just getting the next product out the door.

The only way to get the processes to improve significantly is to get perspective. And perspective is the one thing that most Engineering departments don’t have. They’s too busy meeting their commitments. Perspective is what consultants and internal mentors have.

Published in: on January 26, 2008 at 4:34 pm  Leave a Comment  

Managing and listening

What makes management difficult for people who are technical experts? In a way, it’s like the reputation that medical doctors have when they are managing their investments — they are so accustomed to being the ones who “know” they have trouble taking advice from financial advisors. As a result, docs are reputed to be have the worst record as self-managed investors.

I can sympathize. As a technologist, I tried managing my own investments over a long period of time. Eventually, I realized that I “knew too much” about the technology and the companies as technology sources. So I would invest in companies that had great technology, but they would turn out to have poor businesses or inadequate marketing — things I didn’t recognize.

Moving from technical contributor
(engineer, programmer, analyst, etc.) to manager is another difficult transition in which the contributor is accustomed to “knowing.” As a resource for others on technology, we’re used to being the authority. So the first thing we have to learn as managers is humility.

Actually, the first thing we need to learn is that management is an honorable profession with its own set of objectives, methods and styles. Our training is in “hard” sciences and technology, so we’re rarely prepared to deal with the “soft” stuff of people interactions, influencing, leading, and communications. So let’s be clear: there are a lot of new things to learn about.

Since we tend to manage our interactions by intuition and by reference to our upbringing, most of what we do as managers is not conscious: we don’t see it as skills, but temperament. Believe me, however, you CAN change your interactions. The keys? Being interested in becoming effective as a manager. Becoming aware of the effect we are having on people. Being willing to listen to feedback. Being willing to listen.

Being a manager is all about dealing with non-quantitative stuff. Let the MBAs bring out their spreadsheets. When we need to do quantitative measurements, we’ll have plenty of expertise with the methods and the tools. What we need is a willingness to listen, learn and improve.

Improve what? How do we measure ourselves as managers?  We’ll address this question in a future blog post.

Published in: on January 26, 2008 at 4:27 pm  Leave a Comment  
Follow

Get every new post delivered to your Inbox.

Join 41 other followers