The vexed subject of Requirements
...is rearing its ugly head in my world, as I work on a sales pursuit in the Pacific North-West. The prospective client has a (self-admitted) poor track record in defining and managing requirements. Ever since I started work in I.T. 30 years (!) ago, requirements have been a consistent theme in my work life. I started out as a maintenance programmer, and rapidly discovered the phenomenon of the dissatisfied customer. Conversation goes something like this:
Customer: This does not meet my requirement
I.T: We coded it according to the specification
Customer: Yes, but what you delivered is not what I wanted
I.T: How can this be?
(both parties stare at each other in bafflement and puzzlement)
9 times out of 10, such conversations occur because of ambiguities or omissions in the requirements. Which brings us to the great underlying challenge of requirements; instead of being written in a language that is suitable for specifying software, requirements are (mostly) written in natural languages, which are highly suitable for conveying nuance and ambiguity...which makes them a poor natural fit for any communication process that requires as little ambiguity as possible. This blog posting neatly explains the underlying issue, using a well-known nursery rhyme as an example...
Warning for corporations - speed of communication of dumb stuff
This article at Social Media Today shows how bad decisions in customer service, which previously would most likely have not become newsworthy, can rapidly spread all over the world thanks to the Internet and social media. The article concludes:
Brands can no longer wait until an issue hits mainstream media to react, nor can they rely on their positive relations with editors at a few media outlets to help protect their brand. Social media is changing the way brands must manage and monitor their brands.
Project Management Blogs
Now that I am studying for the PMP certification, I am working on understanding the difference between the Version 2 of the PMBOK and the Study Guide, which I used in 2003, and Version 3, which was adopted in 2007. In the process of examining this issue, I have found a number of web sites that look to be useful sources of information.
I.T. Toolbox Blogs - Project Management.
Herding Cats - a general project management blog.
I passed my ISTQB Foundation examination on Monday...
...with a score of 85%. I can now use the letters ISTQB after my name. When I was growing up, it looked like a good idea to go into one of the following three areas of endeavour; the military, civil engineering or medicine, since in all of those areas it seemed to me that you got to collect a large number of impressive-sounding letters after your name.
For the time being, I'll take ISTQB. Now I am gong to return to the completion of the PMP study that I never completed back in 2003.
This week's Testing links
Here are some links about software testing that I have been looking at in the last 2 weeks:
1. STAR East and STAR West
Here is a blog entry from a Microsoft attendee of STAR West 2007, with a summary of the events.
2. General Software Testing
This site has interesting articles about a variety of testing topics.
3. Testing Consultancy and Tester web sites
Compendium Development
Coley Consulting
Exampler. The consulting company of veteran test leader Brian Marick. He also has a weblog here.
Sticky Minds. A testing consultancy.
4. Testing Standards
5. ISTQB sample exams
I found a sample exam and links to other exam samples here.
This is a sample exam book and testing package (expensive).
6. Other articles
Testing Non-testable programs - a discussion of the Oracle Assumption and how it can be shown to be invalid
Interesting paper from Martin Fowler about Design
This paper, originally written in 2000, but updated several times since, attempts to discuss the role of design in sofware solution delivery. As is the norm from anything written by Martin Fowler, it contains a number of insights and forces you to think...
My new focus on Testing
I have now moved to the Global Testing Practice for my employer. This creates a whole new set of learning challenges for me, but it also returns me "to my roots" in a way, since I entered the I.T. industry in the Summer of 1978 as a maintenance programmer and tester. I cut my teeth on testing and debugging other people's code. I still carry in my head a small list of names of people who I would like to encounter one day in a stuck elevator so that I can indulge in what diplomats call "a full and frank exchange of views" concerning their grossly defective coding practices. But I digress...
I am currently researching the state of the art in software testing. The Extreme Programming paradigm has led to a number of thought leaders trying to advance the art of software testing. Kent Beck himself popularized the concept of Test-Driven Development, and I am currently working through his book on the subject.
Ward Cunningham, who was one of the founders and popularizers of Wiki, and who at various times in the past few years has worked for Microsoft (as an Architect in the Patterns and Practices group) and the Eclipse Foundation (heading up the Committer group process), and who is now the CTO for AboutUs, has also done work on testing automation in the past. Some of the testing automation work is visible here.
I have also been looking into other possible testing approaches, as defined here and here. I also found what approximates to a manifesto for the concept of context-driven testing. Some of this is fairly and basically obvious (like the observation that the sort of testing that one does for the control software for the Space Shuttle might be different than the testing for a spreadsheet application), but it never hurts to remind oneself that sometimes there is no "one size fits all" solution approach to a wide variety of problems.
Road Warrior notes - January 2008
I flew to the UK for the annual gathering of the clans (pictures of the trip can be viewed here).
When trying to decide what seats to select, I now use SeatGuru, which has excellent diagrams of all of the major airlines' planes, showing which seats are good, which seats are bad, which have laptop power etc. Since I have a 35 inch inside leg, I avoid some seats like the plague, especially those with limited recline capability.
On the way back from the UK, I checked in at Gatwick for the return AA flight. When you check in at the AA counter in Gatwick, there are no kiosks available (unlike at DFW or other US domestic locations). Instead, you are first interviewed by a person asking the full collection of baggage questions ("is this your bag?" "did you pack it?" "did anybody give you something to put in it?" etc. etc. ) and a collection of journey questions ("did your journey originate here?" "is Dallas your final destination?"). The screeners appeared to be using a laptop computer to provide the questions and record the answers. All of this was accompanied by the usual examination of passports, green cards etc.
The challenge with this process was that the number of screeners was insufficient to balance the number of checkin counter personnel. There were 3 AA checkin agents with around 1.5 persons' worth of work, and a very long checkin queue in front of the screeners. There were 3 screeners, but there were 5 screening stations. They should have upped the number of screen questioners.
I felt rather sorry for the guy standing next to me at the adjacent screening station. He was a US military contractor. The Q&A started off as follows:
Screener: Did your journey originate here?
Guy: No. Dubai
Screener: Was that the start point of your journey?
Guy: No.
Screener: What was the start point of your journey?
Guy: Baghdad.
Screener: OK...sir...now...
Needless to say, the guy was detained far longer than I was...he was 1 ahead of me in the queue, but when I went through the security screening, he was a long way behind me...
I made an interesting discovery during the screening question process. I was checking a bag, and intending to take my "office in a bag" and my travel guitar as carry-ons. The screener initially told me that I would have to check one of the bags. When I pointed out that AA had let me march them onto the plane in DFW a week or so earlier, he responded "unfortunately the UK is one of the countries that still strictly enforces carry-on limits". He also warned me that my "office in a bag" might fall foul of the carry-on size limit, to which I responded that I would simply scrunch it up to make it fit. Then he said..."is that a musical insrument?", referring to the travel guitar. When I confirmed that it was, he told me that musical instruments are exempted from the carry-on limit. So, I breezed through check-in, inspection and the departure gate with 2 bags.
I must remember to pack the cello next time...
Estimating Games
While researching I.T. solution delivery productivity (a topic which has denuded entire forests, but which seems to still suffer from a lack of up-to-date data), I found this paper from an Australian consulting company. It provides an amusing (but all too true) overview of various dysfunctional estimating techniques, and makes the point that estimating failures often have little to do with poor mathematics and bad data, and usually are influenced more heavily by political and management dysfunctionalities.
Interesting Post about code names
Since I am currently knee-deep in Microsoft technologies, I also have been looking at the history of Microsoft code names. Robert Scoble started an interesting discussion a few months back about wider industry use of code names, which included a response from a Microsoft leader.
Road Warrior notes - January/February 2007
Since mid-January I have been working on a project in Seattle. This has resulted in my becoming a road warrior again. I have not worked "on the road" to any significant degree since my consulting days in the 1990's with JMA, Texas Instruments and Sterling Software. Following that phase of my life, I moved to Dallas and started a more "rooted" job. Since 1997 a lot of things have changed, supposedly for the better. Or so I thought...
Here are some subjective personal observations about travel between Dallas and Seattle.
1. Airports
===========
Airports in the USA are still mostly structured as unfriendly, dislocatory conrete jungles. Most of the seating is hideously uncomfortable, and the cynic in me wonders if this is deliberate, so that people will feel obliged to walk around and, well, buy or eat stuff...
Road Warrior Issue #1 - the lack of power points for laptops. There are next to no power sockets in gate waiting areas in most airports, other than the power sockets used by the airlines' gate equipment (and most of those sockets are fully used). This results in a few road warriors all clustered around a single small collection of power points. Further adding to distress is the fact that a significant number of the power points do not work - at D/FW one day I found that 2 out of the 6 points at one gate area were dead.
Road Warrior Tip #1 - pack a multi-point adaptor. This will allow multiple people to use a power socket instead of 1, and you will be instantly popular with your fellow road warriors.
At Cincinnati airport this past weekend, I was pleased to see that Delta has recognized the issue and set up power point clusters near some of their gates. Other than that however, I have seen no evidence that airports or airlines are addressing the power point issue.
Road Warrior Issue #2 - variations in wi-fi coverage. Some airports have free wi-fi, some have charged wi-fi, some have no wi-fi at all. This is a further aggravation.
2. Security checks
==================
Despite the fact that they have had over 3 years to get used to it, a number of folk are still huffing, puffing and having mini hissy-fits over the security and baggage checks. There is only one phrase: Get Over It. Coming from Europe, where nobody is ever allowed to walk up to the gate area without a boarding pass, I do not find the security checks to be that awful. A minor nuisance perhaps, but the TSA folks are as nice and friendly as they can be. However, some passengers are not helping themselves by Doing Dumb Stuff. Like trying to carry their toiletries as carry-ons. That results in most of the bottled substances being left behind due to the new stringent liquid carry-on rules.
3. Airlines
===========
I have flown on a number of airlines since January. Here is my current league table, with comments:
#1 Frontier Airlines
I already posted about Frontier understands that flying should be fun. They have fun planes (the animals on the tail and winglets) and fun flight crews. The seating is good on the planes.
#2 Delta
Delta has well-fitted out planes with adequate legroom in coach, and they have good time-keeping. This past Sunday I arrived in Seattle 45 minutes early from Cincinnati. Delta also is addressing the road warrior power supply issue.
The only minus is that the flight crews mostly look like they would rather be undergoing a root canal than helping the passengers.
#3 American
American has no great points, but no really bad points either. Legroom in standard coach is not good, but the seats are reasonably supportive. The crews tend towards the Delta Airlines "I would rather have a root canal than do this job" approach, but perhaps this is the inevitable result of an industry with appalling labor relations based on mutual antipathy between leadership and front-line staff, where the leadership have been forcing the front-line folks to swallow job and salary cuts for years.
Last United
Where to start? Here are some of the issues:
legroom - unless you pay extra for Economy Plus, the legroom in coach is disgracefully non-existent. After 90 minutes you are moving around constantly to prevent cramping. This is also true on their Embraer executive jets, which have superficially nice leather seats, but those seats have no support whatsoever, which results in you sliding down in the seat very quickly. The cynic in me wonders whether the economy seating is configured to force all passengers to buy the upgrades, thus eliminating coach as we know it.
boarding - the gates are under-manned and the gate agents look harrassed and disorganized.
time-keeping - all of the flights I have travelled on were delayed, for reasons that were not immediately apparent. Bad weather delays I can understand, but not good weather delays.
4. Traveller Etiquette
======================
Many airline travellers would benefit from some sort of course in how to avoid becoming a human chicane during thir travel. Here are some of the egregious dumb-ass things that drive us road warriors nuts:
- Blocking aisles while getting seated
If you are in row 24 of a 33 row aircraft, you often do not need to stand in the aisle while unpacking the stuff you will be using on the flight. It is perfectly possible to stand in front of your seat and unpack, thus letting people past to the back of the plane. This simple action, if consistently done, could reduce boarding times by a massive amount.
- Fidgetting in your seat
Moving around constantly in a coach seat while in flight usually impinges on your next-seat neighbors and the person in front.
- Occupying no-mans land in the aisle after arrival
Once a plane arrives at the gate, many travllers will stand up to remove their overhead luggage. This would be ok, except that they then stand in front of their aisle east in a way that prevents the other passengers outside of them in the row from getting to the overhead bins. I recently tried to get past a woman who was doing this, only to be severely admonished for being rude. WTF? She was being obstructionist by standing in front of her seat, pointedly failing to notice that she was preventing me from getting to my hand baggage. (I did apologize to her, after swallowing hard, but she still failed to move and appeared to be determined to be a horse's ass).
A great blogcard design...
..from Gaping Void. They have some great designs. I especially like the one with the guy saying to the girl "how was it for you" and she replies "read my blog"...(NOTE to any current and future girlfriend - I promise not to ask that question if you promise never to respond with that answer...)
I am currently in Seattle...
...working on a leading-edge project for EDS. I will be on this project until the beginning of April. If you were to speculate that the project may involve a certain software company headquartered in Redmond, you might be right...but for me to confirm that speculation will also require me to shoot you.
I hope that the project will facilitate a major change in some of the ways in which we deliver solutions to our clients within EDS.
Beyond that, I can reveal little. I am going to blog about this project once I am allowed to, but that time is not now.
I am living in an apartment in Bellevue. This week I am in training, and next week I start the "real" work. I will be working 6 day weeks for most of the time, so my ability to get out to see the sights will be limited. However, this is likely to be a career-changing project, so I am not complaining.
Practical psychology from Al Bernstein
Al Bernstein is one of my favorite authors. I have many of his books, including "Dinosaur Brains", "Neanderthals at Work", "Sacred Bull", "How To Deal With Emotionally Explosive People", and (my favorite)"Emotional Vampires".
Here is one of his columns, oriented towards pithy, no-nonsense practical advice.
Sealand is up for sale!
The province of Sealand is up for sale...the owner has finally decided to dispose of his own country. Anybody want a prime piece of ocean-front real estate?
An interesting web site...
While looking something up on Wikipedia the other day, I found an interesting website called 99 Bottles of Beer. On this website are a large number of implementations of a program/subroutine/etc. to write out the lyrics to this song, in just about every known computing language. Some of the implementations are compact, some not-so-compact. Some are serious, some are less serious (as in the case of C#, where the submitter creates a Class named Binge...). However, reviewing the various implementations does give you a way to compare some of the fundamental features of various different languages.
Apologies for the hiatus
I have not been posting to this blog for some time. The main reason for that is that I have been going through a divorce, so I have been taking care of a lot of personal business.
I will be working in Seattle in Q1 2007, and I plan to restart postings in December, since the assignment in Seattle will be very interesting for me personally.
Guy Kawasaki's Top 10 Lies of Engineers
Another excellent post on Guy's blog...with the usual home truths.
Bill Swanson's Unwritten Rules of Management
I just found out about this book, which is published for free (no less) by Raytheon. It is a compendium of wisdom from the Raytheon CEO. Many of the rules are applicable to just about any life situation.
UPDATE - It has been pointed out to me that Mr. Swanson did not originate these rules...in fact it seems that he has been guilty of plagiarism, in that many of them were lifted from other people's work. What is it with these people in corporations who inflate their resumes or steal other people's work?
UPDATE 2 - Richard Veryard responded in his typically thoughtful way in the Comments section, also pointing to an article by Vannevar Bush. I located the article online here for anybody who wants to study it.
The limitations of Employee Surveys
Since I worked for my current employers, I have completed numerous Employee surveys. However, my patience with such surveys has become strained by the dysfunctional way in which the results have been processed, and how certain information cannot be revealed by such surveys.
1. Processing and play-back of results
As an employee, I expect leaders in my corporation to be honest with me, honest with themselves, and honest about the corporation.
I therefore become rather bothered (to say the least) when the results of employee surveys are selectively used to attempt to persuade employees that aspects of corporate life are improving. This is more usually referred to as "spin" by most employees.
Those of us who have been in commerce long enough have pretty accurate bullshit detectors. When a corporation publishes selectively chosen results from an employee survey, and does not publish all of the data, this raises suspicions that there is a spin machine at work somewhere. This suspicion will be converted pretty quickly to a strongly-held opinion if the corporation has previously selectively quoted data from surveys and ignored other contrary data.
2. Failure to address causes of employee departures
Another frustrating aspect of corporate governance is how many corporations react to the impact caused by significant numbers of people leaving. The normal course of events is for highly capable people (the "franchise players") to depart first. To use an old English expression, the people with the get-up-and-go will be the first to get up and go.
Once it becomes apparent that people are discontented and are leaving, many corporations, in an attempt to stop the outflow, start tinkering with compensation, benefits etc., commissioning employee surveys, or (maybe) they actually start listening to the results of employee surveys instead of politely ignoring them or spinning them.
However, employee surveys in this context are not going to reveal enough information. If a corporation wants to accurately understand why people are leaving, it needs to be contacting ex-employees to ask them, not talking to current employees. Bluntly, a number of current employees may not ever leave, since they lack the capabilities or motivation to do so. A corporation needs to be asking gifted ex-employees why they left in order to address its problems. You never know, if you start an honest dialogue with an ex-employee, you might be able to persuade that person to re-join...
The usefulness of the Exit Interview in corporations
For many years, I have wondered at how useful an Exit Interview truly is when it comes to allowing corporations to find out why people are leaving, and address those issues. The Exit Interview is mostly an HR administrative closure process.
Several observable facts have convinced me that exit interviews are fundamentally limiting in what they can achieve:
1. Departing employees rarely tell the full story about why they are leaving during an exit interview. They usually do not want to burn any bridges in case they want to come back at some point in the future.
2. The Exit Interview takes place on the last day of employment. This is too late (for example) to address any issues that may have caused the employee to want to leave in the first place. The interview can only be a post-mortem, not a remedial exercise.
3. Senior leaders are rarely involved in Exit Interviews. The interview is usually conducted by a middle-ranking person filling a full-time or part-time HR role. Any messages that the departing employee might want to provide about fundamental corporate dysfunctionalities are going to be filtered (and possibly distorted or lost), which reduces the chance that senior leaders will need what they need to hear.
My conclusion is that Exit Interviews are not fulfilling their potential for addressing issues that cause employees to decide to leave. I would recommend the following changes:
1. A remediation interview should be arranged with any employee who has resigned within 24 hours of that resignation being tendered (assuming that the corporation does want the employee to stay, which may not always be true...). The purpose of this interview is to understand why the employee wants to leave, and to assess what actions (if any) are possible to persuade the employee to stay. The employee's normal management chain must not be involved in this interview, since that may prevent the employee from speaking freely.
2. Any departing employee should be offered a chance to speak to a senior leader during the period before his/her departure, in order to explain to that senior leader why they decided to leave. It should be made clear to that employee that this interview will not have any influence on whether the corporation would want to re-hire the employee.
3. The last-day Exit Interview should be a purely administrative departure management process.
Interesting research on high-performing teams in software organizations
...some interesting insights here.
Corporate leaders caught padding resumes...
The headline on this story was the discovery that the CEO of Radio Shack had inflated his resume. However, this is merely the tip of a very large cultural phenomenon that is discussed in more detail here.
One thing I fail to understand is how so many people let themselves be suckered by "creative resume writing" exponents. When my ex-wife joined Texas Instruments many years ago, they did validate that her college degree existed. Clearly Radio Shack could not be bothered to execute that simple process. One wonders what other simple processes many corporations have not been taking care of recently...
Humor for use within Corporations...
Finished reading "The Flight of the Creative Class"
...in between over-stressing my body while skiing in Durango this past weekend.
"Flight of the Creative Class" extends the concepts, research and ideas first surfaced in "Rise of the Creative Class". The first part of the book deals with criticism and comment excited by that earlier book. Florida notes that various parts of his first book were either hijacked for partisan ends, or distorted for partisan ends. He also observes that the current polarized state of the US political landscape is leading to significant issues being ignored.
Florida points out that the Bush administration is dominated by representatives of extractive and utility industries (oil, mining, steel, transportation etc.), with little focus on creative and innovative next-generation industries. It is also becoming obvious that the administration is currently gerrymandering scientific investigation for its own ends, which is eroding the worldwide reputation of the USA as a place to conduct scientific activities. Florida's book should make it clear how counter-productive that approach will be in the long-term.
Along the way, Australian researcher Terry Cutler offers this anecdote of what happens when the diversity component of the creative stimulation message is deemed to be unwelcome, at a meeting with civic leaders and local opinion leaders about how to attract creative individuals:
Summoning my courage, I described Florida's findings about the correlation between bohemianism and diversity in the location of high-tech firms. The palpable recoil around the room at such a radical and distasteful recipe for success left me in no doubt that these civic leaders would clearly prefer to drift into a genteel poverty.
The leaders that Cutler found in that room may well have belonged to a category of leaders christened as squelchers by veteran urban activist Jane Jacobs. She explains:
Squelchers are those political, business and civic leaders who divert and derail human creative energy by posing roadblocks, acting as gatekeepers, and saying No to new ideas, regardless of their merit.
It seems to me that I have come across a number of squelchers in the corporations where I have worked. Readers may also have come across these individuals in their work or civic lives.
One message in Florida's book is we need to be wary of and prepared to defend creativity and innovation against the depredations of squelchers.
The other key message is that creative people cannot afford to be exclusive. All humans have the innate ability to be creative. If the creative classes, once they reach a position of (relative) affluence, retreat behind gates and walls to play golf, shunt investments around, and generally cut themselves off from other segments of society, then this will give workers caught in declining industries the perfect excuse to see the whole debate about the economic future of the US through the "us and them" lens that is so prevalent today, "us" being real workers, and "them" being the caricatured collection of "elitists", "latte-drinking liberals", "gays" etc. (insert further caricaturing cliches here). Interestingly, there are corporations woring in the USA to harness the skills of workers in rural states and areas. Here is an article from 2004.
As a governance approach, "us and them" has no future. It is like fighting a war at home. If squelchers invoke those kinds of frames and memes, we need to be challenging those people to drop the empty sloganeering and explain what the long-term game plan is for the USA.
Article from 1998 charting the rise and fall of Seer Technologies
When I worked for James Martin Associates and Texas Instruments Software in the 1990's, we competed for a long time with Seer Technologies. Although it was never officially confirmed, rumor at the time was that their core product, Seer/HPS, was in fact a copy of IEF, created by a clandestine reverse-engineering exercise at CSFB, who were an early (and short-lived) licensee of IEF.
From about 1990 through to 1994, Seer represented significant competition for IEF, partly because IBM was a Seer distributor, and would aggressively pitch Seer/HPS in competition against IEF with its customer base and prospects. IBM at the time was pitching Seer mainly because it had no Model-Driven Development tool of its own; we had talked to them about IEF being part of their AD/Cycle initiative in 1989-90, but the talks fell through, possibly because IBM's licensing terms were way to onerous for TI to tolerate (for evidence about what happens when IBM gets to screw over licensees and partners, see The Fate Of OS/2).
After 1994, competion from Seer dissipated, and the competition became the new generation of visual development tools such as PowerBuilder and Visual Basic.
This article (from 1998) is a neat summary of how Seer rose, peaked and crashed back to the ground. By the way, the rumor that Sterling Software seriously looked at buying Seer is almost certainly true - I heard that rumor internally within my employer in 1997 after we were bought by Sterling Software.
I am currently working on a similar article looking at the rise and decline of the IEF division of Texas Instuments. A companion article is also in the works which expands on other articles about why CASE tools are currently seen as an industry failure.
The importance of diversity in problem-solving
For many years now, corporations have been worshipping at the altar of "diversity", which is claimed to be A Good Thing. Most medium-to-large corporations have Diversity Policies, written in personnel handbooks and trumpeted on internal and external wesbites.
However, I have yet to work at a single corporation whose "Diversity policy" contained any direct links to, or quotes from, supporting research. In effect, most espoused diversity programs and policies are composed almost entirely of assertions and bizbuz shibboleths. Employees are supposed to embrace diversity because...well...diversity is A Good Thing, therefore we need more of it, so everybody run along and be more diverse.
Many larger corporations have diversity training offerings for employees. The ones I have seen I have found to be lacking. They tend to underplay some really obvious challenges to embracing diversity, such as the differing cultural norms that impact on decision-making and communication. The classic German style of corporate decision-making, which tends to require senior leadership approval, is often very different to the more free-wheeling style of American decision-making. However, what is also missing (more importantly) from the corporate diversity initiatives is any evidence as to why diversity is A Good Thing.
All of which brings me to this research paper by Lu Hong and Scott Page about the impact of diversity in large decision-making groups. Their most important finding is that you will not necessarily get the best decision outcome if you form a group of very clever people. As Hong and Page put it:
a team of randomly selected problem-solving agents outperforms a team composed of the best-performing agents
This is exactly the sort of research information that corporations should be pointing to, in order to inform and explain to employees and leaders why recognizing and planning to accomodate diversity is A Good Thing. The results of this research are explored a little in this blog entry.
Interesting line from a Paul Graham article...
In the excellent collection of essays on Paul Graham's web site, there is an essay about start-up companies. One paragraph in this essay caught my eye:
During the Bubble, a lot of people predicted that startups would outsource their development to India. I think a better model for the future is David Heinemeier Hansson, who outsourced his development to a more powerful language instead.
He then goes on to point out that the capability and productivity of modern languages (he uses Python as a example) is way better than older languages such as C++.
My view on this is "absolutely", although I would caution that there is still a significant potential cost saving available by shifting work from a country with higher labour costs to a country with lower labour costs. At present a lot of CIOs are demanding significant cost savings via that route.
However, I would go one stage further. When I worked on I-CASE tool consulting in the 1990's, we found that a properly-structured project using those tools could be a factor of 4-5 times more productive than having developers code in lower-level languages. Not only that, but maintenance and enhancement used microscopic numbers of developers compared to more conventionally-built solutions.
My conclusion: if you want to be competitive, forget Python. Go for Model Driven Development tools. Developers and support staff are the biggest I.T. expense - just about everything else dropped to commodity status some time ago. MDD tools, properly deployed by people who know how to get the best out of them, offer a mchanism for allowing corporations to build I.T. solutions without using 150 drones in a warehouse in NowhereIstan. The problem with running remote development organizations is that the industry has a terrible track record of converting requirements to solutions, because of the overall lack of a precise enough language for requirements definition. Instead, we use natural language, which is terrible for requirements because it contains concepts such as "nuance" which drive software designers and developers crazy when they try to convert the requirements to software. MDD tools, if they contain a powerful and precise collection of DSLs for specification of requirements, can help to sidestep the current inefficiencies and ineffectiveness of conventional programming approaches, which IMHO are still largely stuck in the dark ages.
Maximum Team Sizes for effective working
An interesting article that points to other resources discussing team size. This is all part of the origins to my comment at last year's OMG MDA seminar in Orlando, where I pointed out that software development as a group activity does not scale well. Every software project I have ever come across which was organized using large teams has either run out of control, or has required herculean management effort and focus to keep it on the straight and narrow.
I received an email from Google...
...after I wrote to them commending them for their stance on resisting the demand for data from the US Government. Of course, that was before the news broke that they have agreed to facilitate blocking of web site content inside China...
Here is the reply I received, followed by my original email:
Hi Graham,
Thank you for your note about the United States Justice Department's
request for Google's aggregated search data. Google is not a party to the
lawsuit in question, and we believe this demand for information
overreaches. We participated in lengthy discussions with the Justice
Department to try to resolve this issue, but were not able to. We intend
to resist their motion vigorously.Regards,
The Google TeamOriginal Message Follows:
------------------------
From: graham@grahamshevlin.com
Subject: Google search database information
Date: Thu, 19 Jan 2006 15:39:09 -0000I am writing to you to inform you that I have just read about the attempt
by the Federal Government to obtain Google search records.
I am pleased that Google is fighting the demand to turn over search
records. This demand is nothing more than a non-targetted "fishing
expedition" for so-far-undisclosed reasons. Complying in any way with this
demand will not only undermine Google's privacy policy; it would probably
be undermining the personal protections in the current U.S. Constitution.I do have to make one point clear. If Google does comply with any part of
this demand, I will have no choice but to sever my relationship with you.
I will not utilize any Google-related services if that is practicable and
in my overall personal interests. This is an issue of crucial personal
importance to me, and societal importance to the United States. No elected
government should have the right to collect data on the private activities
of its citizens without having to show probable cause.
Please feel free to use any part of this response within Google to
emphasize that your consumers support your current policy towards
unreasonable data mining demands.Sincerely
Graham Shevlin
Google vs. the US Government
Google is currently embroiled in a legal dispute with the US Government over a demand that it hand over large amounts of search engine usage data. The government has shown no probable cause requiring the access of this data. The demand is apparently connected to an investigation into pornography and child pornography.
This is just what I feared the current US Administration would start doing, based on their extraordinarily sweeping claims of executive privilege in other areas, following the implementation of the Patriot Act (which will, one day, be seen as one of the most appallingly Orwellian pieces of legislation in US history).
I have sent an email to Google informing them that I support their refusal to turn over this information to the US Government. This is nothing more than a "fishing expedition", with no attempt being made to target data for individuals based on probable cause. The US Government will not explain what it intends to do with the data, and since I do not trust this administration, based on their track record of making policies based on defective information and then refusing to admit culpability, I do not want any of my personal information being made available.
I also informed Google that if they comply with any part of this demand, I will stop using all Google-related services wherever I encounter them, and where I have a choice in the matter.
Richard Veryard has pointed out on his blog that the information request made by the US Government could be satisfied easily by the creation of specific narrow-scope services that would retrieve only specific targetted information when required. He is correct that this would be a significantly better outcome than the current sweeping request. However, the fundamental privacy and due process issues remain.
Privacy protection has reached a crucial juncture in the USA. No government should have the right to engage in these kind of broad-ranging, unexplained, surreptitious data collection activities in peacetime (and I would remind readers that constitutionally the USA is not at war with anybody right now).
The Top 10 lies of corporate America
...lifted from somebody commenting in Guy Kawaasaki's blog:
Top 10 Lies of Corporate America
1. Our employees are our greatest asset. (Until we can replace them with cheaper ones, offshoring that is).
2. We reward loyalty (Ha! You are but an old liability, with retirement benefits. Must destroy now).
3. HR is your friend. (HR is your mortal enemy, career-killer sandtraps, always be wary).
4. Teamwork, Mutual Respect, Trust, Empowerment, Risk Taking, Sense of Urgency, Commitment, Customer Satisfaction and Continuous Improvement. (Those are but slogans. Don't be so stupid as to actually honor our company values).
5. We are Family. Management and co-workers are your friends. (Just wait until a promotion is on the line, or a reorg happens).
6. Education and Skills are important. (The only skill that really matters is making your boss look good).
7. Our good financial performance. (Legal Fiction. Bad can be Good, Good can be bad. Bad is Good, Good is Bad, Bad is Good if said conditions are met. Good is Bad if said conditions are met. Never is Bad bad, nor Good good).
8. Honor our Company Mission Statement. (What, are you a fool? Every company has a hidden agenda, like the Company Values, it's all Marketing).
9. Feedback is welcomed. Our HR Employee survey wants to know your honest opinion, so as to better improve conditions. (Only from select prior-appointed people, and then it has to follow the agreed upon strategy. To quote the Clash, "You have the right to free speech as long as you're not dumb enough to actually try it").
10. FMLA. Work and Family balance. Great place to work for single Moms. (Dare try it and you are gone. Dontcha know it's just marketing? You stupid or something?).