gregoryyoung is the Page Editor for the DotNET and C# topic areas. He was recently selected as a Microsoft MVP.
I usually write about software development methodologies so you must be scratching your head on how children's basketball relates. In trying to come up with an analogy for leading a software team I ran into many problems. The largest problem is the disparity between an average developer and a great developer. Joel Spolsky has had some great thoughts and supporting statistics on this gap at Joel On Software. This gap is, in my opinion, one of the two most important concepts in managing a software team (the other concept being the unusual speed of "knowledge depreciation", but that is another article).
Oddly enough a similar gap exists in children's sports. While a small percentage of the kids are naturally gifted at the sport or have had significant training the majority are simply there because its fun (or because their "Psycho Sports Parents" have a personal need for them to play. A coach in such situations often ends up with a team of varying abilities.
It is estimated that 20 per cent of all large projects fail, and my guess would be that a statistical analysis would show a similar failure rate for children's basketball teams (< > 16 per cent being outside the first sigma in a normal distribution). In order to offer ourselves the best chance of winning it is imperative that we learn from our own (and other's) failure. For software development there are literally bookshelves full of books describing failures and offering methodologies to help avoid them. The most common step people seem to take lately is to move from a waterfall-based design to an iterative approach.
In a waterfall-based (AKA up-front) design we completely analyze and design a system before we implement it. This can be quite useful if we get the design right the first time. We can, during the development phase, become massively parallel, farming out huge amounts of work because the contracts and behaviors of components are already defined. This methodology also carries with it a huge risk in that it is more likely than not that our initially-designed solution will not be our final product, because requirements will change or domain knowledge will be gained during the development process resulting in a design change.
In order to help mitigate these risks iterative design has become quite popular. Using an Agile methodology we design as we implement a system; we plan for change as opposed to keeping to a set plan.
Now back to children's basketball. When it comes time to play, a team that consists of all-star players will easily beat a less-talented team that has a great coach. Since the gap in ability is so large, the subtleties of coaching will not come into play. When every player on the opposing team is six inches taller, 30 lbs. heavier, and runs the 40-yard dash in a second less than your best player you are in trouble!
Taking a lesson from children's basketball, our first goal should then be to obtain the best team possible; it provides us with the best chance of winning. Often times fiscal problems make this difficult but I point you to Joel's article above for reasons as to why this should not be of concern. That said, once the children get older; the gap begins to lessen allowing for a more noticable difference due to coaching. A mastery of a game plan can easily outweigh a slight ability mismatch (although it is more often a trade off), but the point is that fundamental skills -- dribbling, shooting, passing, rebounding and defense -- are more important than having a sophisticated offensive scheme, and paying the "price" of having your players acquire those skills will pay off in the long run.
An even more valuable lesson can be gained by not applying complex coaching too soon. Having a team of twelve-year-olds trying to run the Chicago Bulls' old Triangle offense probably will not work too well. Even if you could get it to work on the practice floor, it would most likely not win games for you as they will not be effective at running it, because the skills required take more than a few practice sessions to learn. It is becoming widely accepted that the same holds true for many agile methodologies; attempting to implement them without enough talent will ultimately lead to failure or very small gain.
All of this boils down to a very simple principle which holds true in both examples: Look at your team before you look at your process. A good team will be good regardless of process and a bad team will be bad regardless of process. Process can make a good team great and a bad team mediocre but will never turn a bad team into a great team.
Oh, and the most important thing we can learn is that a pizza party after a big win never hurts but the one after a big loss is crucial ;)
You can tell when it's an election year in the US. Members of Congress start proposing legistlation that has at least one of two characteristics: Either it does something for people with a lot of money they might contribute to campaigns or it is a hot button issue that is guaranteed to get one's name on the evening news.
The latest is Rep. Michael Fitzpatrick's (R-Pennsylvania) "Deleting Online Predators Act", or DOPA, which essentially requires that schools and libraries block access to social networking websites, and further requires that they block access to any "...commercially operated Internet website that (i) allows users to create web pages or profiles that provide information about themselves and are available to other users; and (ii) offers a mechanism for communication with other users, such as a forum..."
Like Experts Exchange?
The law is targeted at MySpace.com, LiveJournal.com and Facebook, among others, but it can also be used to block access to the Microsoft and Yahoo forums, for example, or even the White House (not to mention the the Republican National Committee). There's no question that there's a problem out there -- even one person exploiting children is too many -- but there are a few things about this that bother the daylights out of us.
The first we've already hinted at: the legislation isn't designed to help or protect children. It's designed to get someone's name in the paper, and it certainly gives Mr. Fitzpatrick and his allies the opportunity to rail against anyone who opposes it. We're reminded of what Lyndon Johnson allegedly told his campaign manager when they discussed planting a rumor about one of LBJ's opponents: "Watch him try and deny it." It shows what we think is a fundamental ignorance of how children's minds work: they're curious, and if you tell them they can't have something, they'll do their darndest to find out why. They're also a lot more computer literate than Mr. Fitzpatrick apparently is; someone recently said that there are 535 members of Congress who are still searching their keyboards for the "Any" key.
Second, if it were ever really enforced, it would put a real damper on the whole point to the Internet -- which is getting useful information into the hands of people who can best use it. There aren't very many members of EE who haven't been helped by getting a problem solved or a situation explained; we suspect that the same is true for a lot of young people who visit any number of websites, even if they do have a MySpace account. If it does become law, then it's one more thing that librarians -- who are already being treated by school boards and administrators like glorified hall monitors -- have to do that has nothing to do with teaching children to read.
Finally, it doesn't solve the real problem -- predators who hunt after one of the most vulnerable elements of any society. It's one thing when such a person is an executive of the Department of Homeland Security; it's another matter entirely when it's a factory worker in suburban Tuscaloosa. Finding these creeps isn't very glamorous (or television-friendly) work, it's expensive in terms of manhours and money, and there's not likely to be any end to the effort -- so it's not the kind of "look at me now and vote for me" kind of project that interests Congressmen in the weeks before an election. More to the point, instead of going after the problem, it punishes the victims -- children -- and the people who DO take care of them -- teachers and librarians and schools.
Let's all hope this one dies in committee somewhere.
Footnote: An Illinois school board has voted to require high school students who want to participate in extra-curricular activities to sign a pledge saying they won't post anything "illegal or inappropriate" on the Internet.
We are big fans of the European Union. We think it makes sense. But the EU is trying to be a government, and now it's starting to act like one, which in some ways is a little bit scary.
A recent story says that the EU is really upset because ICANN, the Internet Corporation of Assigned Names and Numbers (gotta love those made up acronyms) voted to forego a new top-level domain name after political pressure was put on it by conservative US religious groups and the adult-entertainment industry (which very much likes using the .com suffix) through the US government.
When ICANN was set up a few years back, we actually joined, not because we really expected it to have any real influence or power, but because we find it entertaining to watch politicians posture. It's almost as though people actually thought the US government would give up control of something over which it already had control, especially since so many other people want to have control over it.
Historically, the US government built the forerunner of what we now call "the Internet" to keep track of its supply ships. They then built a network of computers -- mostly military bases and a few universities -- they called ARPANet; ARPA stands for Advanced Research Projects Agency, and it was used to share information among scientists and researchers using the packet-switching technology that dominates both data and voice communications today. The developments pioneered by ARPANet were used to create the X.25 network and what would later become Usenet.
But ARPA is a research agency; it didn't want to manage this growing "internet" of universities and military bases, so in 1986, management was handed over to another US government agency, the National Science Foundation. It had already turned over coordination of the assigning of IP addresses to the Network Information Center (NIC) at Stanford Research Institute, and its successor handled all top-level domain name assignments following development of that system. By 1992, the National Science Foundation had created InterNIC to manage domains, and had contracted with Network Solutions to administer registrations.
So there's about fifty years there where the US government controlled virtually every aspect of what is now the World Wide Web -- except what people do with the websites they register. Needless to say, there's a ton of money involved, and given the US's propensity for not wanting to relinquish what it has -- especially if someone else actually wants it -- there's no reason to think the US would allow "just anyone" to take over any aspect of managing it.
Now, before anyone out there starts screaming that we're being pro-US, note that we haven't said a thing about whether we approve of the situation, or what we think should be done about it. We've merely pointed out that it was a little naive for the EU -- especially given the political climate in the US -- to think that the US wouldn't exert its influence over ICANN. After all, the US can.
Footnote: ICM Registry, the company which proposed the new top-level domain name and expected to be chosen to manage it (which would be very good financially for ICM as well), filed a judicial appeal under the Freedom of Information Act, saying that the US Commerce Department put improper and undue pressure on ICANN to deny the new TLD.
Please -- PLEASE -- don't ask the same question five times in different topic areas; it really won't help you much, and it will actually just make life more confusing for everyone. Here's what will happen. Let's say you ask your question about inserting a record into your database from a web page in the SQL, ASP and javascript topic areas. You're going to get responses in each -- but you might wind up going off on a wild goose chase as well. For instance, the ASP Experts will be telling you what your web pages will want to tell your server -- but that might not be the problem. Or the SQL Experts might be telling you all about INSERT commands, when the problem might be something related to your ASP pages. You might also see the same basic comments made in all three topic areas, and you're going to be expected to respond to each of them.
The correct thing to do is to ask your question once, and then to create pointer questions in the other TAs, which you can delete after you have your answer. Using our example, you would write your question in the ASP topic area. Then copy the URL to the question, and go to the SQL topic area. There, ask a 20-point question with the title "xxx Points - Data inserting using ASP". In the body of the question, post the URL.
The other important aspect of this is that there is a 500-point maximum for a question, no matter how many times you ask it, so the Moderators and Page Editors will have to track down all of the versions of it and reduce the points so you don't exceed the maximum. They will try to turn all but one into pointer questions.
Another piece of advice we suggest is that when you post a question in the Community Support topic areas, please reply to the Moderators, even if it's just to say thanks. When you post there, the Mods assume that there is some kind of issue that needs attention, but if you don't tell them that the problem has been solved, the question can just sit there for weeks. If it was important enough for you to post a request about, then it should certainly be important enough for you to respond in.
I don't use a Macintosh computer (I'll admit it
-- I never have, and never really have had any reason to), but I looked
seriously at one when I heard that you could put Windows on one. Okay, I'm
used to Windows (but I really don't like XP very much). Now I'm kind
of glad I didn't run out and buy one, though, because Apple announced last
week that both OS X and its QuickTime software have flaws that can
put both the Mac and the PC at risk. Some of the potential problems are
actually what my other half told me are PEBKAC (Problem Exists Between
Keyboard And Chair) errors, where people go to questionable websites and
download something they shouldn't -- and I don't hold the manufacturers
responsible for that. I don't think there is a lock in the world that can't
be picked, and I doubt that there isn't any operating system that can't be
exploited either, given enough time and inclination.
I saw a report on television about the dangers of WiFi, and it went a little over the top. It had the reporter wandering around with an FBI agent who held a laptop with a WiFi card in it, and they drove through neighborhoods looking for open networks. That got me to thinking, so I did a little looking around, and found that this kind of story is not uncommon, as evidenced by the piece done by a Utah TV station. In addition to being a great free ad for an Arizona company that franchises its operations, at least they took the time to give some basics in securing your home network.
For those of you who spend time doing something other than answering questions at EE (and you know who you are), you should know that the virus-writing, zombie-building types are now targeting online gamblers with a piece of software that steals passwords.
Expert | Certified | in Topic Area |
---|---|---|
tbsgadi Pigster14 Mark_FreeSoftware DonKronos HuyBD bruintje nito8300 MikeToole WMIF carl_tawn clockwatcher OMC2000 TornadoV SystemExpert angelIII the_paab mcgants RobWill Naser72 Jay_Jay70 jhance JoeZ430 christsis tonyteri leew nobus Expert4XP | Wizard Master Master Wizard Master Master Master Master Sage Guru Guru Master Master Master Master Master Master Sage Guru Master Master Master Master Master Sage Wizard Master | MS Access MS Access Visual Basic Microsoft SQL Microsoft SQL Microsoft SQL Microsoft SQL Microsoft SQL ASP ASP ASP ASP ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET Networking Networking Networking Networking Networking Networking Networking Windows XP Windows XP Windows XP |
Expert | Certified | in Topic Area |
---|---|---|
zephyr_hex DanCh99 venom96737 cem_turk Desp vo1d MogalManic amaheshwari r-k sciuriware hoomanv jake072 ciuly Mazaraat mgh_mgharish dr_dedo LinuxNubb mcp_jon rockiroads hes tzh20 FernandoSoto mvs10000 MikeOM_DBA JeffHowden jtreher valicon | Master Master Master Guru Wizard Master Master Master Master Wizard Master Guru Guru Guru Guru Master Master Master Master Master Master Master Master Guru Master Master Master | Windows XP Windows XP Windows XP JavaScript C# C# C# Exchange_Server Exchange_Server Java Java VB.NET Delphi Win. Server 2003 PHP PHP PHP Hardware Programming Programming Web Development .NET Excel Oracle ColdFusion ColdFusion Microsoft Network |
Expert | Certified | in Topic Area |
---|---|---|
Merete Roonaan angelIII Mysidia ellandrd janmarini r-k Kdo Gertone fargo keith_alabaster jabiii stressedout2004 RedKelvin jason1178 d-glitch moorhouselondon sitecreations rama_krishna580 mgcIT leew brettmjohnson mish33 rama_krishna580 rindi TechSoEasy davebytes | Master Wizard Guru Guru Master Master Guru Sage Genius Guru Wizard Master Master Guru Guru Guru Master Master Guru Guru Master Master Master Master Master Master Master | Operating Systems PHP and Databases PHP and Databases Linux Mysql Crystal Reports Windows Security C XML JSP Firewalls Firewalls Firewalls Browser Issues DreamWeaver Math & Science Email Online Marketing Web Servers Citrix SBS Small Bus. Server Mac Net. Python Websphere Notebooks Wireless CRM 3D Prog. |