Shahzad Bhatti

September 30, 2004

Best Practices 2004 (East)

Filed under: Computing — admin @ 6:36 pm

Best Practices 2004 (East)
I was in Boston during the week of Sep 20 and attended Best Practices
conference. It was sort of fun, I get to see faces behind all the
author of books and articles I enjoy a great deal.
Here is excerpts from a couple of noteworthy lessons:

Tom DeMarco’s five core risks for technology projects:
  • Size inflation: The project grows beyond the basic set of functionality into the realm of impossibility.
  • Original estimate flaw: Management sets a date that has no statistical relevance to reality.
  • Personnel turnover: “This is your biggest risk if your project is anything over a year,” according to DeMarco.
  • Failure to concur: A breakdown among the interested parties, often culminating in litigation.
  • Productivity variation: The difference between the assumed and the actual team performance

Finally, DeMarco presented a useful self-test for checking to see whether you’re actually doing risk management:

  • Is there a census of risks with at least 10 to 20 risks on it?
  • Is each risk quantified as to probability and cost and schedule impact?
  • Is there at least one early transition indicator associated with each risk?
  • Does the census include the core risks indicated by past industry experience?
  • Are risk diagrams used widely to specify both the causal risks as well as the net result (schedule and cost) risks?
  • Is the scheduled delivery date significantly different from the best-case scenario?
MIT Portfolio Pyramid

projects in four asset classes: infrastructure (allowing basic enterprise capability; improving flexibility and integration), transactional (focusing on reducing cost and boosting productivity), informational (based on information for managing the company) and strategic (focusing on sales growth and competitive advantage). Based on your company’s objective, the proportions in each of the four classes vary.

Abstract Prototyping

Interface designers have basically two prototype choices: figurative (conventional pictorial representations that reflect what the user actually sees) and abstract (conceptual diagrams, notations and descriptions). And since abstract prototypes isolate and simplify design decisions, Constantine, a self-professed third-degree wizard, likes starting from the abstract before developing the figurative.

The process of deriving the abstract prototype using canonical components from task case steps included:

  • For each task case, identifying the contents without regard to the final layout on sticky notes.
  • Repositioning components to explore layouts (sticky notes were useful for this).
  • Sketching on paper or computer the size, shape, position and composition combinations.
  • Refining and redrawing as needed.
PM Metrices
  • Earned value: How many person days you need to do a project. Instead of focusing on how much time has elapsed, you should look at a particular deliverable, measuring what’s been accomplished and comparing the ratio of accomplishments made to the time used.
  • Release Criteria: Those few critical criteria that tell you when the project is complete.
  • Estimates versus actuals for major and appropriate minor milestones: Rothman recommended starting estimates at what she called the “fuzzy front end” of the project so as not to get caught limping toward the finish line burdened with unwieldy—and unrealistic — xpectations
  • Tom DeMarco’s Estimation Quality Factor process, which provides a histogram of the most significant duality in project management: the date of estimate versus estimated end date. EQF is useful in three ways, Rothman stated: First, as an early warning sign to see if events outside your project are consuming people when they should be focused on your project; second, as a check against the initial estimations on your next project; and third, as a means of determining if you have a chance of completing the current project.
  • Measure the number of requirements early on in the project, as well as enumerating the number of major and minor changes per week over the course of the project, warning about the disaster potential of midstream major requirements changes
  • Tracking defect trends can help project managers keep control of the process, enumerating how long it takes to fix defects, as well as their costs.
  • Fault Feedback Ratio, examining the total picture of productivity, asking the Big Questions “What do the creators create? How much is good stuff, and how much is redo?
  • Determining the number of defects that remain open and making sure developers aren’t getting stuck fixing the easiest problems first can go a long way in salvaging a project that seems headed for the barrel room.
Five principles guide good OO design, according to Martin:
  • The single responsibility principle (every class should do just one
    thing);
    cohesion

  • The open/closed principle (abstracting modules protect them from
    changes in implementation);
    Modules should be open for extension,but closed for modification
    Add new code for new functionality, don’t modify existing working code
    Need to anticipate likely modifications to be able to plan ahead in the
    design
    Plan ahead, but don’t implement what is not already needed

  • The Liskov substitution principle
    All derived classes must be substituteable for their base class
    Square cannot extend from Rectangle, violation will require
    Reflection/RTTI

  • The dependency inversion principle
    (details should depend on abstractions, but not vice versa)
    In OO we have ways to invert the direction of dependencies, i.e. class
    inheritance
    and object polymorphism
    Use DI to avoid deriving from concrete classes, associating to or
    aggregating concrete classes
    Encapsulate invariants: generic algorithms, Abstract interfaces don’t
    change
    Concrete classes implement interfaces,Concrete classes easy to replace

  • The interface segregation principle
    Many client specific interfaces are better than one general purpose
    interface
    High level modules should not depend on low level modules. Both should
    depend
    upon abstractions (interfaces)
    Abstractions should not depend upon details. Details should depend
    abstractions.

September 26, 2004

Excerpt from Rape of Women and Teenagers

Filed under: Politics — admin @ 1:10 pm

Excerpt from Rape of Women and Teenagers
The women were passing messages out saying please come and kill me because of what’s happened. And basically what happened is that those women who were arrested with young boys, children, in cases that have been recorded, the boys were sodomised, with the cameras rolling, and the worst above all of them is the soundtrack of the boys shrieking…”

Excerpt from Abuse, Torture and Rape Reported at Unlisted U.S.-run Prisons in Iraq
The list includes some actual prisons, such as Al-Salihiya Prison in Baghdad, the notorious prison in Abu Ghraib, and a prison at Camp Bucca, a Coalition-built POW camp in the southern port city of Um-Qasr. Other detention centers have been established at military bases, such as the US Military compound at Al-Dhiloeia, north of Baghdad; a US base outside Fallujah; and the Hilla military compound, a joint US-Polish base where Alomari said he has recently been informed of allegations against US and Polish personnel.

Nobody talks about it. All everyone talks about is Abu Ghraib because of the pictures,” said Alomari. “But in these other places, there’s tons of acts of torture, abuse, rape.”

September 6, 2004

Filed under: Politics — admin @ 9:57 am

September 5, 2004

People are now basically drinking raw sewage anywhere downstream from Baghdad, which is much of the population

Filed under: Politics — admin @ 3:06 pm

People are now basically drinking raw sewage anywhere downstream from Baghdad, which is much of the population
Excerpt
People are now basically drinking raw sewage anywhere downstream from Baghdad, which is much of the population,” said William Fellows, a senior program officer for UNICEF who also works with the United Nations Development Program.
The public health dangers range from cholera to minor stomach problems, said Fellows, who is based in Amman, Jordan. “There is more diarrhea, there is more skin disease, there is more eye disease, there are more health problems.”

It wasn’t supposed to be that way. The coalition forces and their civilian counterparts were supposed to be fixing the sewage system of Iraq and millions of dollars have been budgeted for the work.

In addition, a massive $18 billion reconstruction package passed by Congress in November of 2003 set aside $675 million in taxpayer funds for sewage projects.

Certainly the unrelenting fury of the insurgency slowed work down on sewage projects, like everything else, as workers found that reconstructing Iraq was like trying to paint a house while it is on fire. Security, however, was only part of the problem

By Their Fruits Ye Shall Know Them
The radical collapse of all distinction between church and state and the promotion of an angry “Christianity” as the USA’s official state religion have grown increasingly apparent as the Bush regime has turned more grandiose and reckless after 9/11. That revolutionary program has gradually come into view despite the press’s failure to expose it, and despite the random efforts of the White House to conceal it (“Well, I – first of all, I would never justify – I would never use God to promote policy decisions,” Bush said, without conviction, to Brit Hume in an interview on September 22, 2003). A cursory survey of Bush/Cheney’s foreign and domestic innovations will make clear that from the start, this regime has been hard at work transforming the United States into a theocratic system, and, globally, at the gradual creation of a nominally Christian New World Order.

Powered by WordPress