Monday, November 17, 2014

Fragile Agile

One of the twelve core principles of the Agile Methodology is as follows:
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

It would seem intuitively obvious that in order to maintain a constant pace indefinitely, the team would need to collaborate and bolster itself to make this even remotely feasible. At minimum, each team member ought to have a "satisfactory" level of competence in the various areas of expertise integral to an Agile team. Satisfactory doesn't necessarily imply expert.

In Final Patrol: True Stories of World War II Submarines by Don Keith, the author describes the following regarding the training of submarine crews both past and present:
Sub sailors were (and still are) required to graduate from submarine school, where they combined classroom learning with actual onboard training, but they were not finished yet. When they got aboard their first boat, they had to be trained until they could pass a rigorous examination in order to verify that they could take any station on a vessel and perform each job in a satisfactory manner. Once they passed their qualification exam, they were awarded a patch or pin that showed two dolphins, nose to nose. One of a sub sailor's proudest days was when he received his "twin dolphins" and could wear them on his dress uniform. The alternative for those who were not able to pass within a reasonable time was to be assigned to other duty. Incidentally, that procedure is still in place today on nuclear submarines.

In my experience, an Agile team's roles have included software developer, business analyst, and tester. My primary specialty has been software development, but thanks to my wide array of tasks and experience, I am wholly capable of a level of expertise over and above satisfactory with regard to the business analyst and tester roles.

Let's assume that a dump truck happens to transform my brains into goo just as I'm crossing a busy New York intersection. How does this impact the team? Suddenly, there's a gap in expertise and productivity. Not only is one who specializes in software development absent, but one who can also more than competently handle the business analyst and tester roles is removed from the equation.

How does this affect the team's velocity? How does this impact the team's ability to achieve the stakeholders' goals?

I'd wager negatively.

In my view, a relatively slim chance does exist that a superstar could emerge from among those remaining team members for whom software development is not their forté. Perhaps they've been paying especially close attention in pair programming sessions. Typically, though, I'd guess velocity would be decreased for a given sprint while the company investigates either transferring a software development specialist from another department, or hiring someone completely new to the company.

Let's apply this scenario to your modern ballistic nuclear submarine

Perhaps the chief weapons officer (let's call him "weaps" for short) trips and inexplicably falls into a bulkhead, rendering him dead.

Based on Don Keith's information, at least one other member of the submarine's crew possesses the bare minimum qualifications to perform weaps' job, and should it be necessary for weaps to launch a torpedo or nuclear missile, someone else on his team will be able to do this. Perhaps not with the expertise or finesse of weaps, but at least with the bare minimum capability, which means the task can at least be completed.

Can the same be said of the "typical" Agile team, especially your Agile team? 

If not, stakeholders should be very concerned.

Monday, November 3, 2014

Foscam Firmware Update Bricks Camera, And They Don't Care

Foscam once again doesn't seem to respect consumers, nor understand the concept of quality control.

Typically when a company releases a a product to the public, it's been through some testing to ensure that the product is actually serviceable to the consumer. Sadly, in the case of the Foscam FI9821W, they have failed miserably.

Recently, Foscam released a firmware update, version Numerous FI9821W camera owners, myself included, have reported that the camera has been "bricked" following the upgrade. The upgrade begins, then an "Upgrade Failed" message appears, and thereafter nothing happens other than a steady, red LED beside the camera's ethernet port, and the camera is completely unusable.

A user on the Foscam forums, TheUberOverlord, has been shepherding a thread where he provides a solution which involves buying a specialized tool, cracking open the camera, then interfacing with the camera and overwriting its firmware. 


Firmware updates are frequently released for various electronic devices (including wireless IP cameras) in order to fix defects not initially addressed by the manufacturer. Usually, updating is a good thing, because it fixes something the manufacturer neglected to fix in the initial release, whether due to time or budget or other constraints.

Even if a camera is past its warranty coverage, there might be subsequent firmware updates to fix various issues. This was the case with the firmware update for the Foscam FI9821W. Of two FI9821W cameras I own, one of them successfully updated to the firmware, but the other experienced the aforementioned upgrade failure.

I contacted Foscam via email. This was their response.
Thank you for contacting the Foscam RA department. Unfortunately, we are not authorized to replace your FI9821W model as it is out of warranty. The FI9821W models have a one year warranty. We apologize for any inconvenience this may have caused.

Out of warranty, eh? Despite the fact that Foscam released firmware for this out-of-warranty camera model, which turns out to be defective for many of these cameras, they refuse to take responsibility??


I strongly suggest avoiding Foscam until they get their priorities and quality control straightened out. They simply don't seem to care about their customers nor the quality of their products. 

#Foscam #ipcamera #homesecurity