Schwarzenegger will not declare an emergency until early next month, when the Legislature is scheduled to return from its annual fall recess that began in September.
Sunday, December 16, 2007
Government concept of emergency
Sunday, December 09, 2007
Software Engineering Institute and Software Product Lines
A Product Line is not about ad-hoc re-use, which is what most of us do. It is about strategically putting the pieces in places so that a set of core assets are developed that will be re-used by virtue of the decisions made along the way. The core assets are more than re-usable components, and include things such as documents. But the key is that they are defined such that they are usable by all members of the product line. The trick is to choose the scope to make that viable, and do a good job predicting the future of technology.
In 2001, I was leading an effort to try to create an architecture that would be usable across multiple products in a product line; it would have been helpful to have these tools. I have also worked with clients who desperately need to architect their products so that they focus their development efforts on adding value. I am cautiously hopeful that these tools will add significant value.
Sunday, November 18, 2007
Innovation Management modeled like the Internet
Sounds promising, and I like the thinking. My only caveat so far is that if you don't have your efficiencies under control, eventually you won't have any resources or assets to spend on innovation. So don't lose sight of the blocking and tackling.
Friday, November 16, 2007
Requirements and Capabilities
- Document well
- Follow the process exactly
- Manufacturing team has ultimate veto on readiness
- Company level approval policies
After hearing the crowd banter, it became clear to me that this is an inexact science. Nobody at this venue deferred to an authority on the subject.
I'm going to spend some time on this, but it seems to me that what we need is a best practice of identifying inviolate requirements (like no lead in the paint) and assumptive requirements (like we assume this component will consume less than 40W), and then somehow mapping these onto the inherent and acquirable capabilities of the offshore manufacturing group, before agreement is reached. Inherent capabilities are those that are constrained by resources including capital equipment and labor, and acquirable capabilities are things like skills that can be learned. The idea is to be able to understand the fit and risk of the product being properly delivered by the manufacturing team.
This is really a half baked concept at this point, but I would be very interested in what practices you may have used to deal with this. If you have an interesting methodology that you can articulate, or better yet one you have used with good results, there may be a speaking opportunity for you here in San Diego.
Sunday, November 04, 2007
Information hiding
It also states that communication gaps occur when employees feel their views are not valued or taken seriously. That's really the point of my post today. Trust develops when we genuinely listen to views of others, and demonstrate that we understand. Understanding doesn't mean agreement. What it means is that you can use your own words to express their view, and if you disagree, you are able to articulate why. Ultimately both parties express and listen until they agree or agree to disagree, but both have the same information. Trust is necessary to be able to express potential failures and risks in a completely open and truthful manner. It doesn't have to be an offshore team or a team with a different culture, but with those factors, you will have to work that much harder to develop trust.
Without trust, your team may not tell you what is going wrong until it is too late.
Sunday, October 28, 2007
Exit Strategies
However, there really is a difference, and I don't think it's a good one. We're being blinded by the success of "easy money" stories like YouTube, where with the right secret sauce, there might be a lot of money to be made. Business is hard, and to focus on getting things right for the long term takes a totally different mindset. Seriously, do you think YouTube will be here in 20 years? 10 years? 2? It is not a long term value add to the world or society. It doesn't make my life better. It does contribute to the flow of information at near zero cost, but that isn't anything unique to YouTube. Yet YouTube is a VC's model of success.
This week, an insert in the San Diego Business Journal included an article by Robert K Weiler, CEO of Phase Forward. Weiler did a $41M IPO in 2004 and a $90M secondary public offering in May this year. Weiler writes:
Many times I've seen management teams focus on the IPO event, so they're making short term decisions. They're taking contracts and business to bring in revenue without building a service organization to support the business.This supports my concern. We should be building businesses that provide long term sustainable value to customers. If we don't, we risk losing a lot, if the rest of the world finds us irrelevant.
Sunday, October 21, 2007
Open source practices even if you aren't using open source
SVN, or subversion, is a version control system. It runs on Mac, Windows and Linux. There are different ways to configure the server, but the way we chose to do it is using SSH. All of our developers generate an RSA public/private key pair, and email us the public key. Once they can login successfully to the mac server using SSH, they can download the source code using SVN's ability to tunnel through SSH. Therefore we end up with a very easy and secure distributed version control system. We don't have to run a VPN into our servers, nor do we have to maintain a web server with access to the code.
Maven is a build infrastructure. It is a higher level tool than Ant, it does not replace Ant. To really appreciate it, you have to try it. Without Maven, we were getting third party libraries by downloading them and checking them into our repository. Because we are using NetBeans, we then were declaring libraries differently in every developer's workspace. Each developer had to declare the installation path to these JAR files, making the onboarding process tedious and error prone. We tried some hacks around this with limited success. With Maven, we simply declare these dependencies including version numbers, and the Maven gets them for the developer and installs in their workspace. But the larger benefit is that once we are converted over to Maven, we are IDE independent in a couple of dimensions. Prior to Maven, the only way to build and deploy an instance of our product was to fire up and properly configure NetBeans. Once our conversion is done, the entire product can be built, deployed and run from the command line; the only reason to fire up Netbeans is if you need to make a change or debug the product. Moreover, if we bring someone on who prefers Eclipse, they can load the projects into Eclipse. This is because both Eclipse and Netbeans have Maven plug-ins, meaning they can read and write the Maven configuration files. I haven't used Eclipse, but in Netbeans you simply create a project as a new Maven project; some of the operations (like the Library Manager) are no longer relevant when you do this, so there is a learning curve.
These two tools are helping reduce the startup time of new engineers. If your team is doing Java development, I'm sure they can help your team too.
Sunday, October 14, 2007
Software Development and the Environment
- Work remotely.
- Encourage alternative transit.
- Turn off the servers.
- Run virtual machines instead of deploying more servers.
Work Remotely: reduce trips to and from the office. To do this, your organization will probably require the development of new skills for you and your department. Don't bet on videoconferencing - it's not the same. Make sure your entire team has quality headsets so you can conference call and everyone can hear and be heard. Don't try to mix remote meetings and in person meetings - you want equality in the handicap - otherwise the local meeting takes precedence and you'll lose the remote attendees because they can't hear as well and don't have the benefit of the non verbal in person communication. Get a good conference calling service that has mute capability both for the organizer and for individual lines. Your team will probably need to prepare better for meetings - which is a side benefit. They'll need to prepare and distribute relevant material in advance. You will benefit by acquiring a remote collaboration tool; I haven't found one that is perfect yet, suggestions solicited. If you are going to try to draw, get a tablet.
Encourage Alternative transit: increase efficiency of per passenger commute. Don't get me wrong, I'm not saying this works for everyone, but when it makes sense, promote it -- people won't generally think of it on their own. Most places I've worked implicitly discourage anything but driving - they would rather know the person can stay the extra 15 minutes when necessary rather than catch the shuttle/train/bus. This is really counterproductive, because what it is doing is causing more people to use a system that has horrible scaling properties, so you end up wasting your employee's private time - thinking that this doesn't come out of your time is naive. The federal government has a program that enables you to get a tax benefit for sponsoring your employee's use of public transit or vanpools. It's a tax free bonus to the employees, and a tax benefit to you. Think about alternative transit when you lease that new building (I interviewed once with a company who was located one block from a METRO station near LAX, and the leaders didn't even know that). Make it easy for employees to get to and from the transit location.
Turn off the servers: lower electricity use. Those servers at 200W or more each, really add up. I've worked in environments where each developer's office has a row of servers on the floor, and for the most part they are powered up. Assume an average of 3 such servers per developer, and that is
3 x 250 x 24 x 365.25 = 6,500 KWH
per developer per year. If you have 100 developers, that's 600MWH. At 1,100 pounds of CO2 per MWH, this is 330 tons of CO2 annually. Staggering. Turn them off. This should be easy to make happen.
Use virtualized servers: lower electricity use. This will be easy to sell to your CFO, your safety officer, and the IT department. Those many configurations of developer test machines you need - convince your developers that they need to help the environment and your IT and energy budget by virtualizing (e.g. VMware or Parallells). You'll can probably sell this by telling your developers that this way they can always have the highest performing servers instead of the old and dusty ones that are often relegated to test. By hosting multiple configurations in one machine, you don't have the capital risk nor the energy consumption of a large number of test machines. The challenge will be that developers often don't want to deal with the extra layer of software; maybe IT will provide some help to do installs for the developers in exchange for the lower maintenance provided with fewer machines.
Wednesday, October 10, 2007
You can't "make it up later"
The good news is, it sounds like they came up with a new plan to try to adjust to the risk - but it wasn't enough. So it wasn't simply that "we'll make it up later", they did change the plan. But they failed to factor reality into the equation. What you'll often see is an abundance of optimism and wishful thinking. "We'll make it up".
No. You very likely won't. What will probably happen at a minimum is that some corners will be cut. Often, as in the Boeing case, the customer pays. It's a great way to lose customers, ironically, by trying to make them happy.
Monday, October 08, 2007
Focus
Sometimes your employees may get emotional about past behaviors and decisions. Focus on the present, and commit to a better future with your actions, showing that you will never compromise the integrity of that future.
Sunday, September 30, 2007
Teaching engineers
Thursday, September 27, 2007
Moral Hazard
Wednesday, September 26, 2007
Another negotiating tool: WIFM
Monday, September 24, 2007
Negotiating
Monday, September 17, 2007
Measurement Constructs
The relevant terms are:
Attribute: a property or characteristic
Base Measure: a single independent measure of an attribute
Derived Measure: a function of two or more base or derived measures
Indicator: a measure for presentation which enables evaluation of an attribute
It's kind of a dry read but I think most software and system organizations I have worked with would benefit from some of its discipline.
Wednesday, September 12, 2007
Geeking out
The NetBeans environment is impressive and occasionally oppressive. One thing that is amazing is that this is all free, and you can find help on all these components, although it can take you a while to sort it out sometimes. I had a lot of trouble trying to test J2EE services on my Mac - the behavior was very inconsistent. Eventually I gave up and am using Ubuntu.
The use case the NetBeans team really missed big time is the use of third party libraries. If you do this the natural way, it ends up being part of the user's environment instead of what gets put back with your source code to your repository. There is this nice hack which works, assuming you don't have erroneous dependencies in your hierarchy (if you do, it totally tanks NetBeans and the working copy - you have to start over! Total disaster).
Anyway it's been fun and I made a lot of progress. We now have a prototype of a voice client to our service, built using some of the patterns I learned about a few weeks ago (notably the command pattern - I used it to structure the menu system). Now I can get back to more management stuff.
Monday, August 27, 2007
Confused about Open Source?
Blog Action Day: the environment
Sunday, August 19, 2007
"Buying Back" risk
I've worked in environments where we had a buffer, but not quite the way he describes. Most places I've worked felt that the buffer would be spent because with lack of pressure, people will work less hard; therefore you will still miss your dates and you will produce less output. However, Mr. Armour talks about a way to consciously manage the buffer which I think alleviates such concerns.
When the initial plan is built, the team puts together a "Management Risk Reserve". If you have metrics from your history, you might be able to do this in a way that scales with the complexity of the project in a very meaningful way. In exchange for regular attention to this reserve by management, the team agrees to try to work to the "work-to" plan, which contains all the things that the team knows they need to do. As work progresses, some risk is reduced, and other risk is realized. It's a short article and not particularly operational, but you can imagine doing this quantitatively on the risk reduction as well as the realization of new work that must be done.
I contend that this is totally doable within an iterative/agile environment. Most organizations still have a long term commitment they want to manage to. Agile development helps you quantify the risk better.
Wednesday, August 08, 2007
Harmony and Apathy
They note a number of attributes that executive teams with good conflict management skills have; first and foremost is management with data. In the absence of good data, they point out, executives waste time in pointless debate over opinions. I have personally seen such a spiral; it is difficult to break free from that, especially when the opinions are strongly held, because then gathering data is perceived as a waste of time.
They also point out that humor is strikingly absent from teams which demonstrated high interpersonal conflict. The natural question here is whether this is cause or effect. I am a large fan of humor, it tends to defuse tension, even if contrived. People appreciate it. However, once your environment is plagued with high interpersonal conflict, it might just be that it is no longer fun, and therefore not funny either.
The factor that led me to the article, is what they refer to as balanced power structures. To minimize interpersonal conflict, they say, the CEO has to wield ultimate power, but the executives all participate in strategic decisions, and each has power over their functional areas. The opposite of this is a "power vacuum".
I really like their advice on how to build a team that deals with conflict well. It seems like it could be almost as effective with management of peers in the case of a power vacuum, or from above. Their last line: "often, what passes for consensus is really disengagement".
Don't let your reports or peers off too early or easily, and work to remove the emotion.
Monday, July 30, 2007
Metrics: avoiding pitfalls
The one I'm not quite sure I'm on board with is Trap #7: Using Metrics to Motivate, Rather than to Understand. Since an objective of measurement is to make data driven decisions, this is indeed, providing motivation to act. If the metrics show you spend a lot on rework, or it is trending up, then you and your team will be motivated to do something to improve. Conversely, if the metrics are trending down at a rate that is acceptable to you, you won't be motivated to do more. Maybe I am being picky here, in that you clearly don't want to punish with metrics (c.f. trap #6), and maybe "motivation" is along this same line. I'd be more in line with the trap if the word "Manipulate" replaced "Motivate", but maybe that's just plain obvious.
If we must have ten traps, I would replace #7 with "Automate everything" - a bold statement but once automated there is little to no long term cost, and the metric can be gathered even once it stops being useful - in case a change causes it to me meaningful once again.
Monday, July 23, 2007
There is no magic.
http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=491
We think of SOA as being a paradigm shift; it's actually an improvement which provides greater flexibility than CORBA and others, but the old rules still apply. Distributed computing is still hard, in general.
Sunday, July 15, 2007
Deliberate Practice`
It is only human nature to practice what you can already do well, since it's a hell of a lots less work and a hell of a lot more fun.He says that practicing what you do well doesn't lead to extraordinary performance; this makes sense intuitively. He must be a golfer since he gives lots of golf analogies, and these do work for me. Apparently I might be a better golfer if, instead of trying a single shot for each opportunity, that I was able to try multiple shots and compare the results.
My problem with his advice, is that in business, as in golf, there are very few "do-overs". In particular if you are leader and you mess up, not only do you forgo an opportunity to fix that opportunity, but you may give up other opportunities as a consequence. That is often true with your customers, your board of directors, your boss, and your employees.
It's great to know that research indicates that you can learn to become great with deliberate practice, but it's disturbing to note that in so doing, you may not be able to practice any longer. His recent article in HBR talks about simulations, such as reviewing past histories of medical information with proven outcomes, and attempting to reach the correct conclusion based on the evidence. Unfortunately I can't think of an analogy for business decisions.
Monday, July 09, 2007
Disruptive Change
They show a simple 2x2 table which indicates various ways of separating innovative work so that it is most likely to succeed, with value and process change as the axes. Where there is little change to either, go ahead and keep the formal team together. All other changes they recommend factoring the team out for success, so that it can break free from the constraint.
Sunday, July 01, 2007
Another dimension in innovation measurement
- Create means to generate ideas.
- Convert means to focus on the right subset of ideas to convert into practical products/services.
- Diffuse means to line up the rest of the organization and customers to adopt the new product or service.
They have a fairly simple tool to gauge an enterprise in the three blocks of the chain, and give some reasonable examples and remedies for what to do for your "weak link" in the chain. They make a compelling case that a company will tend to under invest in the weak link, but continue to invest in areas where they are strong, and how that might ironically crush the innovative spirit.
Sunday, June 17, 2007
Great Reading: Patterns
Head First Design Patterns
by Eric and Elizabeth Freeman. The style is credited to Kathy Sierra and Bert Bates, creators of the Head First series. Good stuff.
Arrogance
Peter Drucker wrote, in an article entitled "Managing Oneself":
Far too many people—especially people with great expertise in one area—are contemptuous of knowledge in other areas or believe that being bright is a substitute for knowledge. First-rate engineers, for instance, tend to take pride in not knowing anything about people. Human beings, they believe, are much too disorderly for the good engineering mind.For some reason I assumed Arrogance was on the list of "seven deadly sins"; Wikipedia says it is not. Generally, Arrogance is something you lose with maturity; in particular with a successful management career comes an understanding that you need the views and analysis of others to be successful. But I have observed in others that the reverse is true - they have developed Arrogance as a consequence of their success.
This to me is the ultimate failure of management; if you enable or tolerate the increase of Arrogance in your employee, you have failed. It is our job to teach, by example and by coaching, that others have something to offer and it is the employee's job to seek out and discover that offering. I believe this can be taught without damage to the ego. Humor works - and is a good teaching tool.
My assumption is that many potential teachers overlook this sin if the sinner is a high performer. I suggest you never do that. We don't have that luxury if we are to stay competitive. The world is different, incredibly complex, and changing; we must respect and learn from others. Creating leaders who don't have this property can only lead to failure.
Tuesday, June 05, 2007
Problems and Solutions
I have a philosophy -- I invite criticism. But don't ever come to me with a complaint without saying, here is what we might do to make it better. I am happy to hear Part A if I hear Part B.
I have tremendous respect for the man; he's built a successful business in an industry he describes as the "biggest money losing industry of call time". But I think that the philosophy he describes is one that will lead to trouble, and in any case is not my philosophy.
First off, let's distinguish between problems and complaints. A problem is a situation deemed potentially harmful. A complaint is a statement about dissatisfaction with a situation.
I contend that all leaders want to hear about problems in their business; complaints are one way a leader will hear about them. If a leader requires that a person bring a solution to any problem, that means team members will be working on solutions that individuals perceive as problems. The leader wants to be able to distinguish between real problems that are worthy of finding solutions, perceived problems that are not problems at all but perception and communication issues, and problems that are real but not worth working on. If you adopt a policy like Dr. Levinson's, you don't get to make that distinction. Moreover if it becomes part of your culture, it gets pushed down to the next level and now management in general doesn't get to understand and make that decision.
I certainly understand where Dr. Levinson is trying to go with this; it might be a necessary policy in a company where people don't step up to find solutions. Given what he says about Genentech, though, I find it hard to believe that is the case. I can see adopting the policy on an individual basis when you have an employee who wants to put monkeys on other's backs instead of solving problems; but as a general policy, I don't get it.
Monday, May 28, 2007
Measurement of Innovation
Is innovation easier to measure than quality? Typically we measure what quality is not, and we assume that in the absence of proof of low quality, we have quality. This is apparent in software's measurement of defects: rate, density, resolution time, severity: these are measures of non-quality. I'm sure you've worked at places where that assumption turns out to be false. Perhaps quality itself is not measurable. Or perhaps it is simply that we can't definitely state what quality is, but only what it is not.
Can we make the same claim for innovation? If we measured a failure to innovate, would a low rating indicate a good innovation environment? It hurts my head to think about that. But it shares with quality the property that it is easier to measure what is not innovative. Whether something is innovative is subjective; there is no quantitative measure for whether it is or not. The reference above measures some things that are pretty concrete, such as the number of innovative ideas that become successful products. And I definitely agree that if you do not have enough resources, the right capability and leadership (culture) for innovation, it won't happen. At it's core though, how you decide whether something is innovative or not will have a huge effect on that metric, so I don't think the benchmarks they provide in the paper are really useful. But what you can use this for is trending over time in your organization as long as you can find some consistent way to evaluate the "innovativeness" of an idea.
Sunday, May 20, 2007
Emotions
I was chatting and joking with the Costco employee most of the time. She said to me "you sure are patient", and that is the inspiration for this post. I asked her, what would be the upside of me getting impatient? If anything that would result in people less likely to help. Moreover, that would simply hurt me; nobody else will care. She understood; the surprising thing was that she expected something else. My behavior was not the norm.
So I thought about emotional intelligence, and looked up some old articles. It turns out that the behavior I demonstrated is just one of many emotional competencies which make up "Emotional Intelligence": self awareness, understanding emotional influence on objectives, staying cool under stress. I found this reference at the "Consortium for research on Emotional Intelligence in Organizations". I'm not making this up. You'd think they'd call themselves the CREIO or something. In any case it lists a variety of competencies which is significantly larger than might be intuitive. It's worth taking a look at the list and then doing a self audit to decide where you might improve.
Sunday, May 13, 2007
Speaking Up
I'm not sure exactly why people confide in me; perhaps it is because people learn that if they ask me something I will tell them what I think. I won't be offensive or suicidal, but if it is relevant, I'll answer honestly. If it is different than the party line, I'll explain the party line and it's rationale, and I'll support it and commit to it, but I won't express a point of view as my own that isn't.
James Detert at Penn State writes in the May HBR that employee's failure to speak up is a result of their risk/reward perception. Perhaps this is obvious but it means that they have to believe that saying something might result in a positive change, and that they won't be harmed by it. You can reinforce their confidence by being a change agent on their behalf -- step out, take the arrows for them, and stir things up - make something happen, even if you burn some political capital along the way. If you are successful and you shield them from any consequences, they'll use you for their sounding board. As an employee in some organizations, you might get shot for doing this. But if the change is worth making, and it's good for the organization, how can you not do it? If your organization can't do the right thing, is it where you want to stay anyway?
The other thing Professor Detert writes is that organizations develop implicit untested assumptions. I have seen this as well and it is the leader's job to seek these out and be the "myth buster". I had a management coach, Alan Perey, who was particularly good at demonstrating how to do this. It kind of goes just like a behavioral interview - for each statement made by the person you are working with, you have to decide if it is fact/experience based or the output of a model or theory. In short, is it fact, or is it opinion? And ask additional clarifying questions to hone in on that: "What evidence do you have....".
Sunday, May 06, 2007
Leading the seriously talented
The challenge with really smart people is they do not really want to be led. I have seen this. According to an article in the March 2007 HBR, they want their leader to be smart enough to appreciate and understand their contribution, but not to outshine them. This I agree with. The article also says that they feel they are part of an external community that transcends the current organization. In my experience I have not seen this (this may be because I have spent my career with engineers). Many really smart people unfortunately focus on what they are good at and don't network enough or desire to get better at what they aren't good at. In fact the article talks about rewarding clever people with perks such as getting out of assignments categorized as "organizational rain": those things which clever people view as non-value add but are necessary to support the organization. I'll go out on a limb here and say that I think that is really bad for teamwork, and coddles rather than develops the superstar. The article goes on to say that the leader should minimize the rain; but that is obvious irrespective of the organization's talent.
I'll add that I've met a couple of basic types of clever people: those for whom recognition is a reward and gives them energy, and those who really don't care about recognition. I think the former is more prevalent but have no data to support the claim. Both types, when functioning well, want to do well. It's just a matter of whether you can add energy with recognition. Recognition doesn't have to be sappy or public, it's far more important that the leader knows what they've accomplished and lets them know it. For those for whom that doesn't work... you are on your own. You may have to ferret out those who pretend they don't want recognition -- a defense mechanism against being manipulated. Overall, in such environments, you'll do a lot more damage failing to recognize accomplishments than the other way around.
Sunday, April 29, 2007
Measurement is hard
One of our challenges is convincing people that they should expend the effort to measure something. One of the books on this subject I like is entitled "Practical Software Metrics for Project Management and Process Improvement", by Robert B Grady. In the book he describes how you use the "Goal, Question, Metric" paradigm to choose what to measure. Using this method you first state what it is you are trying to accomplish, then what questions you would ask to see if you are accomplishing that goal, and then decide how you would measure the answers. Very simple, in fact, practical. The book is full of lots of examples too, and it's dense, and to the point.
Fast forward to this week. I had the pleasure of listening to Rick Hefner, PhD, Director of Process Management at Northrup Grumman, talk about measurement and CMMI. He referred me to http://www.psmsc.com, which I'm still trying to wade through. It seems based on similar principles. PSM is a web site for Practical Software Metrics. The book by a similar title was written in 1992, and this organization has been meeting on a large scale since 1996; yet I had never heard of it; hopefully that's just me and this is old news to you guys. The book was written based on experience at Hewlett Packard. The PSM web site and group was sponsored from DOD and the Army (this may be why I haven't heard of it). But ... bear with me, it looks flexible, not DOD-ish.
I'm sure a number of you will react that we just need to use agile practices, work hard, and hire good people and forget measurement. I'm sorry, but I won't ever agree. You can't improve strategically without measurement, because you don't know what to improve, or if you actually did improve. If your product and work life is perfect, your customers are always happy, you never miss deadlines, you have more revenue and earnings than you can count, and you have fantastic work/life balance.. then fine, maybe you don't need measurement. If you have that environment, call me - I'll work for you. Otherwise I think you should check this out, just to know what it is and see if there are tools here for you. And by the way, eXtreme Programming advocates metrics - you have to measure the number of stories built in an iteration. So please don't tell me I don't get it.
There are a number of extensive white papers on the site, dealing with subjects such as how to measure your process improvement efforts, and measurement of security properties of systems.
They have a piece of free software (PSM Insight) that will help you with measurement that conforms to iso15939. I haven't run it yet, but was viewing their online demo and it looks useful. One could argue it's simply a graphical tool for your data, but it seems to also get you to conform your data in a way that uses industry standard metrics and indicators, so that others can understand you better. I would be interested in any comments from people who've used this tool.
Bottom line: check out http://www.psmsc.com
Saturday, April 21, 2007
Praise is getting harder
The article claims that popular self-esteem-building parenting and coaching techniques have created a generation for whom a lack of continuous feedback feels like rebuke. The abundance of praise may have led to the formation of a cadre of narcissists. Moreover, in the race to provide such praise, praise words get inflated - "nice" and "smart" are no longer complements. What you think may be praise might not have the desired effect.
The article mentions communication that many of us are probably more familiar with - if nobody is yelling at you, that's a proxy for communication of satisfaction with your performance. That strategy will fail with many 20-somethings and you will be burdened with filling a vacancy. On the other hand, inflated praise may seem disingenuous, even to the receiver. Bottom line, praise is getting harder.
The article talks about how to give feedback in such cases; a lot of younger people may completely ignore candid feedback, because they are used to being told they can do anything if they believe they can. Steve Smolinsky advocated using language like "It's not as good as you can do", a compromise with some lack of directness.
All of this language is counter to a lot of how I have been coached and treated in my career. I'm certainly not advocating being mean, but if you are disappointed, the discussion has to happen; you may not understand all the factors, and very likely your employee doesn't. Clouding this discussion with praise may fail to get the point across. With practice, you can give someone feedback and show that you want them to be successful at the same time, without confusing it with ego-boosting messages. What this article says though, is that may not be enough. Perhaps you can use another technique they mention for relationships - give five times as much positive as negative feedback (but do it at different times).
Bottom line, this probably isn't new - you should already be thinking about how different people react to different forms of praise and feedback. What is new, to me at least, is thinking about it as a assumption based on age; it will require observation to see if the theory matches your reality.
Sunday, April 15, 2007
Develop, Support or Punt?
I don't think this situation has a general answer. The only sound bite I have is that if the lack of skill could demotivate the team, then unless it can be remedied quickly, the person lacking needs to be removed. For example, if a person simply can't tolerate their design being reviewed, maybe they shouldn't be doing design; that in turn might have significant consequences for the individual, but the leader must consider the health of the team first. This is hard to do if the person has some other skill that is very helpful to the team; but it's not enough if it could take the team down.
Another class of skills are those that are required to perform the minimum requirement for the job. In such cases, supporting the person rather than developing the skill will be demotivating for the team. So for example, if the person cannot write clear documentation on their interfaces, but that is a requirement for the job, then allowing the person to be weak in this area by assigning it to someone else is not supporting them - it's enabling them to evade responsibility. The person may be a superstar in some limited ways, but if they can't do all the required steps in the job, they need to be fixed or removed.
After that it gets a little fuzzy. What if your superstar designer and implementer just can't negotiate? She gets nervous and clams up when she should be discussing who should do what... and she really hates negotiating. Should you overlook the shortcoming, try to fix it, or let her go? (Assume that this is not an essential part of her job, so letting her go isn't the right solution). She might quit if you push her too hard, but you know she could be so much more if she had this skill. I advocate you tell her that; your opinion on how much more capable she could be might be enough to overcome the fear. If she's really not interested in fixing it, it isn't likely that she will be successful in developing the skill. So first create the motivation for her to try; it is amazing what people can do when they want to. Failing that, assign her some support.
Monday, April 09, 2007
Eco-Capitalism
Sunday, April 01, 2007
Intuition
If we are going to make this decision based on opinion, I prefer mine.
I like it because it is straight up - facts and analysis are credible scientific truth-seeking mechanisms. Opinions are based on all kinds of human biases.
I attended a meeting recently regarding a paper to be published soon, about studies regarding expert's ability to predict future success of startups based on business data presented by entrepreneurs. The study group was able to use neural nets and Bayesian analysis to "code" the startup team's properties such that it predicted success better than VCs. It's not published yet, so I don't want to spoil their thunder, but it looks fascinating.
What this says is that your "gut" reaction is undoubtedly worse than careful analysis. It might be really good for those life-and-death split-second decisions using that small part of your brain wired for preservation. The allure of the intuitive decision is strong; but there is no evidence that it chooses the correct direction, and there is some compelling evidence to the contrary.
A May 2003 HBR article called "Don't trust your gut" reported that in 2002 45% of surveyed executives relied more on instinct than facts and figures. That's a staggering and scary number. It's so much easier to go by gut reaction, but the article makes the case that we are such effective pattern recognition engines that we see patterns where none exist. The pattern recognition skills built into your most basic brain functions are fast but not particularly good at sorting through risk. It's biased for survival; I read somewhere recently where a man had been next to a window which blew in during a windstorm, and now he gets nervous whenever he hears wind... totally illogical, but the pattern is burned in his brain.
My dog is a great pattern recognition engine. She notices subtle movements, sounds and behaviors and can interpret with surprising accuracy what will happen next. Yet I wouldn't ask her to choose my stocks for me.
Bottom line? Do the math.
Monday, March 26, 2007
Focus and Innovation
So if you want to innovate, get control of your portfolio. It will take time for this to trickle through the organization so that engineers feel comfortable saying "no" to things they used to agree to. It is hardest when those things are also things they enjoyed doing. I've seen a dysfunction where there seemed to be a gleeful satisfaction in avoiding accountability because the system wouldn't let engineers work on what they know they are supposed to work on. You have to observe this and stop it. But in order to do that, you need a clear mechanism for establishing and communicating focus.
Steven C. Wheelwright and Kim B. Clark advocate for an "Aggregate Project Plan" which decides on the fate of projects before they begin:
Simply adding projects to the active list—a common practice at many companies—endangers the long-term health of the development process. Management needs to create a set of projects that is consistent with the company’s development strategies rather than selecting individual projects from a long list of ad hoc proposals.
Wheelwright and Clark used change in product and change in (manufacturing) process as a means to define different types of developments: Derivative (little change in either), Breakthrough (change in product and process) and Platform (the middle). They also added a bucket for R&D and another for Alliances. They then plotted circles in the boxes to represent the resources required for various projects - larger diameter circles represent more resources. Using this system they were able to get management to remove projects that weren't clearly aligned with the company strategy, and in just a few years improved productivity at a particular company by a factor of three. The graphs started as a mess and ended up being clear and compelling.
Fewer projects meant more work got done.
Bottom line: don't let the busywork prevent you from doing the important work. We all know this is good advice, but it can be hard to make it happen. Wheelwright and Clark provide a tool to help you manage up and out to hold capacity back for what it is needed for.
Sunday, March 11, 2007
Acid test for secure development
- Do you review security at each phase of the software development life cycle?
- What methodologies do you use for security testing your products?
- Do third parties conduct security assessments on your products?
- Do you have security squads that attack your products prior to release?
- Do you use automated tools for security testing or code review?
For those of you out there with products products which have access to your customer's networks and data: get yourself a roadmap for developing the skills in your organization so that you can credibly answer these questions well. Educate your management to get the funding and time required. We've gotten away with some amazingly casual attitudes towards protecting our customers, but those days are rapidly vanishing.
Tuesday, March 06, 2007
Innovation Test
The tool is here:
http://www-935.ibm.com/services/us/gbs/bus/html/gbs_ceo_iat.html?re=schome
but I'm going to make a broad claim here and see if it sticks. Innovation is less about a strategy and more about a culture. You have to look beyond the short term, make sure people are not overwhelmed with the day-to-day things, so they have enough time to think about making long term things better. And of course reward the behaviors that support innovating. Now that I've said that, maybe I'm doing the same thing as the survey. I'm just as trite... and I didn't have to survey 750 CEOs to get there.
Saturday, February 24, 2007
Cool Change Management predictive metric
Amgen used the tool in 2001 when they made a series of changes. At one point they used this metric on 300 initiatives (yikes!) and reconfigured resources on 200 of them based on the DICE framework.
The authors suggest that it be used in one of three ways: track projects, manage portfolios of projects, and force conversations. All three are really helping the organization decide where to focus time and energy.
The article gives specific guidance on how to evaluate a score for each factor. You can pay for and download the article here from hbr.com.
Friday, February 23, 2007
Root Cause (or, punishing the innocent)
What is the core problem here? The main problem is that credit cards are embarrassingly insecure. The banks don't deal with the problem because it has been less expensive for them to pay the price of failure than it is to fix the problem. What this bill would do, if passed, is completely let the credit card companies off the hook. That is just so wrong it is offensive, and I hope people see this for what it really is: an attempt to remove the increasing risk of credit card theft away from the group who is really responsible, by taking advantage of the current emotional response to recent TJ Maxx theft headlines.
The credit card companies can solve this. If you've used a SecurID card from RSA, you know that a credit card sized object can provide a unique temporary number based on a secret PIN you provide. You must have the card and supply the secret to get a one-time authentication. Instead of the inane little three digit code credit card companies have us copy from the back of the card, you could use a dynamic generated code which is based on at least two factor authentication.
Using such a system, it does a thief no good to have the card in their possession unless they have also obtained the magic number. If that did happen, the person who lost the card simply reports it stolen and it is disabled. No break in to any system would divulge the personal secret, and the TJ Maxx problem would simply go away. Not only does this virtually eradicate the most prevalent forms of theft, but it provides the bank with non-repudiation and replay protection. In other words, customers can't claim the charge was made without their authorization, and someone can't later use the numbers to create another charge. This means the consumer and the retailer win, at some cost to the credit card companies relative to the current system; but how much more expensive is it, if most of the theft goes away?
There are other ways to do this as well, probably equally effective, and some which are easier to use (hosted on a cell phone for example). But the banks don't want to invest in the infrastructure, and now they are trying to legislate passing the buck to the retailer, which ultimately will end up being paid by either the consumer or the systems providers, while the credit card companies continue to make record profits with inferior technology.
So let's quit punishing the innocent and solve the right problem. The retailer and the consumer pay the 3% transaction fee - shouldn't we demand that they earn their money and fix this abomination?
Do the same in your business. When someone is pushing costs around, take a look at what the real problem could be. It's probably the one that saves the most cost for most stakeholders, and in particular respects your customer's costs.
Sunday, February 18, 2007
A change tool: ADKAR
(A)wareness is present if people are aware that a change needs to be made.
(D)esire is present if people want to change the status quo.
(K)nowledge is present if the people know how to change it and get to the new state.
(A)bility is present if the people are actually able to work on making the change -- including but not limited to (for example) being given enough time to do so.
(R)einforcement is present if there are positively reinforcing reasons to keep the new state.
It's compellingly simple on the surface. The hard part is really who are the "people"? An organization generally will have some people with each of these attributes at any given time. A stakeholder analysis will help here, but I think there is a momentum factor as well. As you progress down ADKAR, you have to line the influencers up and gain momentum with everyone involved.
Sunday, February 11, 2007
The requirements factory
The May 1995 issue of Communications of the ACM included several articles about requirements for software products. One of them involves how Digital Equipment Corp redesigned their requirements process. Their challenges and learnings are still relevant today.
They first described a fairly traditional nine-step process that one might find at any major software development organization. It isn't "waterfall" since many of the steps overlap. Nonetheless they mention that many product development personnel expect that creative, knowledge-driven processes are similar in execution to deterministic, manufacturing style processes, and that it was that view that was correlated to dissatisfaction with the requirements management process.
[they] expected the process to do the creative work of contextualized data collection, interpretive data analysis and responsive designThe teams that were more successful allowed themselves more flexibility on the process. In other words they adjusted the process to the problem. This supports the idea that a process should not be over-prescribed; the team needs the ability to be creative not only in how to implement the solution, but in how to figure out what the solution is.
Then they did something very innovative and interesting. They incorporated creation of marketing deliverables into the requirements management process. Specifically the marketing and advertising messages, user information, pricing and competitive positioning and sales and support information. I haven't worked or consulted anywhere where that was done up front, but it strikes me as a brilliant way to engage the cross functional teams to work through the entire problem set and ensure that they understand all aspects of what the proposed product is and needs to do. It provides the right framework to help answer the questions which will inevitably need to be solved, and gets them resolved earlier. The result is lower requirements churn.
The challenge for most organizations is going to be the change in behavior required to get the marketing department to work in a fundamentally different way. That means you'll need a compelling vision or a painful execution failure, and support from the top.
Tuesday, February 06, 2007
A well written product quality article
Monday, February 05, 2007
Effective Communication
Communication levels:
Not everything that is said is heard.
Not everything that is heard is understood.
Not everything that is understood is agreed.
Not everything that is agreed is applied.
Not everything that is applied is retained.
That is a fantastic short synopsis of why communication is so difficult. It shows that just getting someone to understand you is not enough. Of course, getting further down this list is not always required. But if it is, you should test every step so that if a breakdown occurs, you know where it happened and how to fix it.
You may not need agreement in every case, but it is nice to know when you don't have it, and if you have trust, agreement is testable simply by asking. If you don't have trust you may have to test downstream.
One of the places I worked would appear to have agreement but often fail to actually practice what was agreed. Application or practice should be easily testable, you can build it into the original communication. For example, "When you complete this, send me a copy".
Whether something is retained or not may or may not matter. If it is important to you that it is retained, put a follow up action in your favorite planning tool to test future retention.
Tuesday, January 30, 2007
Who's schedule is it anyway?
What can you do if your schedule is dictated? This happens in many or perhaps most organizations, and it's not going to change anytime soon. But you can manage it.
I remember an executive who once told me: once your organization gets to a certain size, you are expected to just figure out how to make the dictated schedules work. Whether this is successful or not depends on what percentage of your responsibilities has this attribute. If schedule is the number one requirement for 10% of your work, indeed, you should be able to manage it. Somewhere between that ideal and 100%, you will hit a wall unless you have a method to deal with the unsolvable problem.
I advocate for a highly transparent system to communicate the decisions you are going to have to make. Specifically, you really only have a couple of variables to play with to meet the schedule: resources and function (some people will say quality too is a variable -- depends on your environment). You may need to decrease function or adjust schedule in another area to free up resources to meet the schedule on a higher priority project. The transparency depends on your ability to rank the projects in a way that meets the corporate strategy. You will need to articulate and defend the priority of each; depending on the number of items, you may need a spreadsheet and a numerical method for ranking that can easily be explained. Once you have the ranking, you can justify hurting the lowest priority projects in function or time in order to fund the highest priority projects.
This seems self evident as I write this, but in practice it can be really hard to do when the project you are hurting is going to affect someone else's bonus. Once ranked, socialize the ranking before adjustments need to be made, so that your decision criteria has been vetted before you need to hurt someone's favorite project. To be really transparent, make sure the stakeholders of those lowest priority projects understand the risk involved.
Sunday, January 21, 2007
Software Product Lines
If you haven't heard of it, it's kind of the holy grail of software development. What if we could stop re-implementing stuff, and use the stuff we have already invested huge money and effort into making correct? People talk about re-use all the time, but it really doesn't happen significantly in real life. So we pay our employees to solve similar problems over and over again. Extremely inefficient. I've long been a proponent of solving this problem... imagine what it could do for your quality alone. Can SPL really solve this problem?
I don't yet know the answer to that question. A significant amount of information comes from the SEI at CMU. In particular, check this out. Google of "software product line methodology" turns up a bunch of references. Maybe I didn't do it right last year, but it appears that the methods have a lot more traction now. CMU is even offering a certificate program in it.
The articles in the December Communications of the ACM were mostly written in academia. One was written by a leader at Nokia. I mentioned that a San Diego employer is changing their organization and development practices to embrace SPL. It must have enough evidence of success to be worth it, or maybe it's just another management fad. The challenge is that it takes additional work to break your products into product lines; different practices, organizations, processes, roles, etc. The initial change will be hard, and even after that there is an investment hurdle to get over when determining new product lines.
What the methods still seem to need in my mind, is a good grasp on the future. I am dubious about the abilities of the average organization to do a good job at that. I suppose applying it to the cash cows makes sense, except that by definition they already exist, are stable, and making money. So to change it you have to believe you need to make significant additional change, or maybe your current software inventory is too hard to change (either in development effort or product stability).
I believe this method is applicable to larger organizations with good Voice-of-Customer (VOC) data. If you really know where you have to go, you may be able to make the right investment decisions to create software product lines.
Sunday, January 14, 2007
Sustainable Advantage
If your cool new thing doesn't generate enough money to cover costs and make a profit, it isn't innovation. It's art.That article, written in January 2004, may have to eat its words because Apple has proven to be an impressive execution engine. Two incredible examples in my opinion are completely switching over to Intel ahead of schedule, with great quality, and changing the way music is distributed and sold. These are really hard things to do, and they executed amazingly well. It didn't hurt that the products are world-class cool, but what gets lost is how those great ideas could have been simply ideas. The difference is they set audacious goals and then they executed.
That's a long introduction to what I want to talk about, which is taking a fresh look at your business from the standpoint of execution. We complain about how offshoring is making things so difficult, how technology and open source and infrastructure has enabled a lot of competition. Yet we rarely take a disciplined, open, introspective look at our value chain and ask "why" at each step. If we did so regularly, as part of strategic reviews, we could deliver better products faster to customers, increasing customer satisfaction and our brand's reputation. In the process we can literally crush the competition, and then we get to call the shots instead of constantly reacting.
You can use tools from six sigma and lean, to evaluate what you are doing today, where your value is created, where effort is expended for little or no value, and where inventory queues (not necessarily physical inventory) prevent faster flow of value creation. The objective is to get objects through the value creating engine faster, spending enough administrative oversight to ensure the process is working in terms of quality. To do this, you have to start measuring, and that might be difficult if your organization doesn't want to do that extra work. I advocate you start by creating a value chain map so that at least you know what you want to measure and have enough information to make a compelling case for why the organization should do the work to collect the data.
I want to mention, you don't have to fear six sigma. You can use the tools without making the whole organization embrace it as a normal part of their operations.
If you can get that far, and can ensure the integrity of the data, the rest should go a lot easier. You'll still need to involve stakeholders every step of the way, who may feel threatened if something they currently do is no longer necessary. In the end though, you should be able to bring everyone together if the improvements fit into your overall strategy. Using the data, the tools, strategy, communication, and change management, your company too can be a world class value producer.
Monday, January 08, 2007
Innovation and middle management power
Rosabeth Moss Kanter wrote an article for Harvard Business Review in 1982 that was reprinted in 2004, entitled "The Middle Manager as Innovator". She points out that middle management drives changes that increase organization capacity.
Among the many things she says that I agree with, she talks about how lack of power in these ranks can interfere with the innovative process, because it inhibits collaboration. When power is unclear, unfocused, or unevenly distributed, managers are more concerned about protecting their turf than collaborating for the greater good. The successful middle manager in these environments uses their power to persuade their peers to support their cause. This is the good side of politics, influencing others to accomplish the greater good. In order to be successful at doing things out of band, almost surely these managers will need extra resources, and that will likely come from the manager's peers, and he or she must have a little support from higher up to prevent a veto from stopping the project.
One of my coaches pointed out that in order to make things happen, you have to have the right combination of Power, Influence and Authority. The required mix depends on the particular objective. I think in Ms Kanter's article, some times she is talking about influence and authority rather than power. Influence is the ability to change someone else's direction based on a number of skills including communication, persuasion, trust, vision, etc. Authority is that property which is granted to you by someone who has higher authority - it is what the manager is officially allowed or expected to do. Power is the ability to inflict consequences, good or bad, on others.
I have worked for companies where collaboration was really difficult, and I think that it was the lack of power anywhere in the organization that was a key cause (when this is the case, authority and influence must play a larger role, leaving things unbalanced). Some of my peers an I analyzed what it was we were actually empowered to decide. It was almost nothing, limited to who gets promoted and how much to compensate them. This was an intentional part of the culture, Darwinism. One influential leader told a group of new managers, "If you want to get something done, don't ask for approval, just do it". This was felt to foster an innovative environment, and in older times it worked. But when power is fleeting and temporary, and everyone is trying to make their own project successful, you will see very little collaboration.
Collaboration is key, in my opinion, to long term success and market leadership with innovation that improves not only what is delivered, but how. To accomplish that, make sure your middle management is empowered.