Wednesday, October 6, 2010

Saving St. Catharines

The St. Catharines mayoral debate occurred last night, and I was disappointed. The candidates discussed a spectator arena (to keep the Ice Dogs), problems getting visitors downtown, transit and bike lanes. One question was asked about keeping college and university grads in the city. Here are their answers:

Davidoff: "We don't want this town to become a retirement village"

LeBlanc: "Need to go high-tech and bring those biz here to keep young talent"

McMullan: "we have a wealth of young talent in Niagara. Also, have talent on the other end: Educated seniors"

-- source St. Catharines Standard Mayorial debate Twitter feed @stcatstandard


St. Catharine's history is steeped in industrial employment (factories, plants, shipyards etc) and the city's motto enforces this -- "Industry and Liberality". Over time the city has transitioned away from industry to manufacturing and services with 13.4% of the city’s populace working at the 9 largest employers in the city (DSBN, NHS, GM, Seaway Marine, Brock University, Algoma, SITEL, Transcom, and TRW Canada).

In reality, the cold hard truth is that St. Catharines is slowly dying. 63% of the city’s demographic population is over 45 years old and older, unemployment is almost 10% and the dependancy on ongoing industrial jobs provides clear indications that the city is at risk. Add to that the fact that only 5,860 people (less than 3%) migrated into the city in the last census period and that the median income is $23,000 the 2nd lowest in the province and clearly the city is in trouble.

Imagine the city as it is, 10 years from now when the Canadian dollar is higher than the US greenback, GM has cut shifts or closed plants, contracts are lost at Seaway Marine, and the NHS goes through consolidation and staff reduction due to the new hospital. Who are the top new employers going to be? What will the median age be? How many residents will be retired?

The candidates themselves fall into the above mentioned demographic: Davidoff is 52, LeBlanc is 58, McMullan is 52 and Beam is 51. D’Intino is the exception (a law student from Ottawa) at 26.

Do any of them actually have a plan to bring high tech into the city and do they even know how to do it? Where are their plans? It is clear from the debate and the lack of information online about their campaigns they don't.

Let’s consider for a moment, that D’Intino is the only one of the candidates that has an active personal website and Facebook page. Davidoff has a Facebook page and a blog but both haven’t been updated since May, McMullan has a Facebook page and an election website. The others do not have a Facebook presence nor do any of the candidates have a Twitter account.


As of the last census only 1.6% of residents have a tech degree even with a local university and college. That is a clear indicator that graduates in the tech fields relocate to other municipalities. It is important to keep them, as ideas are formulated in dorm rooms and labs. For every Facebook or Google (both formed on university campuses) there are smaller successes one who hold just as much impact to the community.

There is a long way to go to bring tech to the city, and someone needs to step up with a plan. So here it is!

St. Catharines has a 10% vacancy rate and issues with drawing high tech companies. A very simple yet radical solution comes to mind.

The city will pay the rent on office space to any qualifying (established or start up) high tech company for 3 years. In return for this space, the company allows their brand to be used in advertising of the growing tech sector in the city. If the company moves out of the city prior to that penalities can be established. After 3 years, the company starts paying rent based on current market rates and year over year growth.


Before the debate starts on whether the city can afford this with the sustainable debt it has, let me say yes it can.

Although there is a cost to covering the rent for 3 years there is an equal investment being returned to the community through job creation, corporate taxes, increased residency, lower unemployment, and higher after tax expenditures in the community and a marketable commodity in a high tech destination. In fact, the cost would be less than building an spectator facility.

There are many commercial properties for sale or lease currently in St. Catharines with base lease rates of between $6.50 and $14.50 a square foot which are far less expensive than other urban areas. Start with St. Paul, build out to King and James Streets rebuilding downtown with a stable base.


Here is the costing model:

A 20 person company takes on space of 1200 square feet at $10 per sq foot/month.

City Expense

  • Rent would be $12,000 a month or $120,000 a year for that space

  • (10 companies would be $1,200,000 a year in expendatures

City Growth

  • each of the 20 people buy a home generating property taxes of $2000/year/person for a total of $40,000 in tax based revenue

  • each person invests in local services by buying groceries and services from local shops

  • a percentage will contribute to the local recreational activities

  • cyclic ability to advertise St. Catharines as an increasing tech hub.

  • increasing retention of university and college graduates in tech sector resulting in increasing ancilary population growth (from outside the municipality and province)

Over a 5 year period, the goal would be to bring in at least 10 companies a year. That would bring a potential of 50 tech companies to the city and will build a tech base of 1000+ new residents with a cyclic costing model where the first companies roll into paying rent or buying office space outright as the last twenty companies are drawn to the city and are given free rent. Once entrenched in the community, high-tech companies tend to relocate or expand inside the same municipality.

Why do I believe this will work? I am part of that 1.6% (but work outside the city). 12 years ago, I helped form a startup company formed from the unversity focusing on game development for the Playstation 2; there were 15 of us (programmers, artists, modelers etc) all home grown Niagara talent. Our funding was invested in hardware and licensing equipment from Sony, 12,000 dollars in total, leaving none for office space. We converted a basement into an office because it was free space. For 3 years, we operated night and day from the basement working to deliver a great product. In the end, we lost a publishing deal and closed up shop. Some now work with Marvel, Silicon Knights and other studios. Ultimately, having professional office space would have allowed us to secure potential investment and venture captial and grow the business through the confidence boost given to visiting a true office.

To pull this off, the mayor and city council need someone to run point on this; someone who understands the tech sector. I came back to Niagara, 10 years ago. I believe in the potential of the city, so let's get to work.


Sunday, September 12, 2010

Air Canada, Loblaw's Superstore and my Doctor, you are all Fired!

"Do people fire companies? Yes, they do!" -- Steve Chamberlain, Husqvarna
(from Outstanding! 47 ways to make your organization exceptional - by John G. Miller)

What is wrong with customer service today? Have companies forgotten that they serve their customers not the other way around. They believe they are entitled to treat people they way they want. These are three companies that have forgotten that they don't set the rules, their customers do. Until they remember that, I am firing them.

I got a call from a colleague the other day, telling me the story how Air Canada bumped him from his flight even though he is a frequent flyer, booked 2 weeks in advance and paid in full. Their explanation is that even though you paid for a seat, it doesn't mean you are guaranteed a seat.

Let's apply that logic another way: I drop my dry cleaning off to my local dry cleaner, and pick it up the next day. I get it back with the stain on the shirt, their answer "dropping your clothes off, doesn't guarantee they actually get cleaned."

Air Canada indicated that it is standard policy to over book flights and bump people as necessary. I have to wonder if they bumped him for a higher paying passenger who booked at the last minute (average revenue per seat increase). At the end of the conversation, he said he would not fly Air Canada again. In essence he fired them! They may wave off the indifference to their bottom line forgetting that in today's society one person can have a dramatic impact to the perception of the companies customer service. Think of "United Breaks Guitars" by Dave Carroll in July 2009. It had 3 million views in 10 days, and resulted in incalculable damage to their reputation.

What airlines need to be doing is publishing openly the odds that you will get bumped before you purchase the ticket.

-----

I was in our Loblaw's superstore today and was party to an interaction between a store employee and a customer. The customer asked if there was anymore broccoli in the back as she wasn't happy with the quality of what was in the produce section. The employee went to the back and checked, she came back out and said it was just coming off the truck and would be at least an hour before it was available. The customer asked if she could get a discount on what was on the shelf, the employee said no that wasn't possible. She didn't even call the manager to find out.

Here is what should have happened...

I'm sorry the broccoli on the shelf is not to your liking, let me see if there is some more in the back....The broccoli is coming off the truck now but will take about 1 hour to be ready, I will see what I can do...please give me a couple of minutes and I will page you from customer service. My name is *******. Let me talk to my manager to see what we can do for you; please bear with us while you finish your shopping."

-----------------

I was at my family doctor's office, I booked the first appointment in the morning (9:10am) to ensure my kids could get back to school and I could get to work promptly. I ended up waiting until 11:30 to see the doctor for a 5 minute visit. There was no apology for running late, no indication of wait time from the doctor and receptionist. They ask for common courtesy like not using cell phones in the waiting room, in fact there is a big sign up. After 20 minutes of waiting, I jumped on a conference call and made others calls. I was waiting for the receptionist to point at the sign and I would have responded with the suggestion that before she ask for courtesy and respect they show some first.

Wait times for hospital emergency rooms are measured and published (Ontario's is here). Yet no one checks or monitors the wait times in doctor's offices.

--------------------

In the end, these are but a few companies and people that have forgotten about serving their customers, and I say to them, Your fired!

Monday, May 31, 2010

What Pixar can teach us about Software Development

I had visions of a career focusing on game development and animation, my thesis was even on the subject, and I spent 2 years working in a game development studio. Even though I changed career paths years ago, I have followed Pixar for years, from before the first Toy Story was released. I remember the 1996 Computer Animation Conference at the Ontario Science Centre where Pixar showed off a blooper reel from Toy Story.

So it was instinct that I grabbed the May 2010 issue of Wired magazine, with the cover story of "How Pixar Works". As I read the article I stumbled into something, software companies have it wrong; the core development lifecycle used for close to 50 years is inheriently flawed. It doesn't matter whether they use waterfall, agile, scrum or any other development methodoligies they are all disruptive and prone to failure.

Pixar's culture is one of simplicity, create an environment of success and ownership through innovation and development. Everyone is invested and owns the final product, and after four years in development no one wants to let go of Woody or Buzz, they want to keep making them better. The article highlights a key principle, "the project team meets each morning to rip apart the two or three seconds of film from the previous day searching for ways to make the shot more expressive". This is done collaboratively, even the newest and most junior team members have input. At the end of the project, the team moves intact to the next project allowing trust, communication and relationships to develop between team members.

So, how did software companies get it so wrong?

Arcane software development lifecycles imprinted over time and transferred between software organizations through staff turnover have choked off thought leadership and preserved the inability to change. As it relates to development process, those who come into organzations want it their way, whether it is a conversion to agile or scrum. As it relates to team organization, the standard lifecycle limits input by those working on a project (a developer or tester) as the product is defined before they see it and it is too late in the product development lifecycle to impact design or feature sets. The standard lifecycle prevents trust between roles as it is inheriently combatively and people are afraid of failure. A last minute issue results in arguments over whether it was valid as it wasn't in a test plan, or whether the quality of testing was high enough etc.

What has to change?

Sofware companies need to throw away what they know and start over. They need to stop being combative and work together. Take away the development lifecycle, split the resources into teams, not verticals or by role/department but rather by project. In the simplist terms, a Director is in charge of only one project. They are given a number of resources, covering project management, development, testing and release.

On day 1, the team goes offsite and flushes out the concept of the project.

On day 2, the entire team flushes out storyboards for the design and user experience.

On day 3, the development starts. Everyone who can code does so, there are no more specific roles anymore. Those who can't code are given marketing and other deliverables; everyone is equal.

On day 4, the team rips apart the previous days work; whether it is code or a user interface design seeking ways to make more impactful.

On day 5,6,7,8 etc - new development occurs and as the project takes shape testing starts

Days 4-8 repeat for the length of the project. At periodic points the project is presented to senior management for review.

Do not get the above workflow confused with agile or scrum as it isn't.

The clear difference is ownership and innovation,they are built into the process, everyone is invested in the final outcome as they provide creative and impactful contributions to the outcome.

It also pulls changes/enhancements/defects up to the front of the process reducing rework towards the end. It removes the known phases of the development lifecycles (requirements dev, test, etc).

Once the product is released the entire team moves onto the next project repeating the cycle above, building trust and synergies between the team members. For executives, the team is a known entity who delivers results.

Sunday, September 27, 2009

The next obsolete site - CNNSI

I'm a news junkie, I collect my news from various sources on the web. When it comes to sports, I would visit cnnsi.com and pick up the headlines. That was then, now like other old media companies they haven't stayed ahead of the curve. Other sites feature live streaming comments from the Phoenix court about Balsillie and the NHL (thanks TSN), commenting on each article, and more up to the minute statuses for my fantasy football lineups. CNNSI sources their material from sources such as AP and STATS, providing only limited original material beyond editorials. What happened to the site that was cutting edge?

Not only have other sites such as TSN, Yahoo Sports, CBS Sports and ESPN passed by CNNSI in terms of up to date and immediate content, but the quality of the site has dropped substantially. I have featured the CNNSI site many times in the "Quality Issue of Day" and have started to wonder if they have anyone on staff that validates the quality of the pages as content is streamed from Banks, King, and Trotter. I would understand if the page is not exactly correct in the "low hanging fruit" of the browser world. But for it not to work in Internet Explorer 8? Come on, how many times will badly rendered pages go unnoticed before action is taken to prevent them in the first place?

I have to speculate that CNNSI is using a CMS (content management system) to push the editorials, headlines and new slide shows out to the web, so they must assume that it's just content and the structure of the page will be fine so why test it.

Here is the latest....



I can't blame CNNSI completely, especially when their parent company CNN is struggling in the new media realm. It was the leader in the field, broadcasting news in a 24 hour format long before anyone else (1992), now they struggle to create an identity in the new media universe. They spend most of their time, repeating tweets and comments posted by their viewers and their evenings are filled mostly with repeats of shows aired earlier in the day. Their Headlines News network now offers "News and Views" rather than the 24 hour news format that once was their specialty. Somewhere along the line, they lost their vision that "a viewer could tune in at any time and, in just 30 minutes, receive the most popular national and international stories"; now they only air news during the day (when no one is watching?).

According to Hitwise data in July 2009, CNNSI didn't even register in the listing of top ten sports sites. Until CNNSI steps up and reestablishes itself as a leader in sports arena in both quality and content, count me out.


Monday, August 24, 2009

Quality Assurance

Quality Assurance is a term dropped just about everywhere in the software field now a days. While there are companies that have strong quality assurance departments built upon frameworks that allow for success, other organizations brand basic testing teams as quality assurance but they are often reduced to blindly following step-by-step test plans with no ability to influence quality issues at a corporate level or they have no testing teams what so ever.

Let’s get this out of the way right now, quality assurance is not testing, testing is inherent in quality assurance. Somewhere along the way, this inaccurate perception skewed how QA is perceived and implemented in organizations. Quality Assurance reflects an ongoing commitment to the prevention of quality issues throughout the software development life cycle and beyond, while testing is independent of any process and is solely the examination or evaluation of the degree to which software satisfies the specified requirements after the completion of development. Testing is part of the work a quality assurance team performs.

What is Quality, Anyways?

Quality Assurance is built upon the foundation of ensuring the quality of an organization’s application or service, internal processes and resources. Great, that sounds simple enough, it’s all about quality, but what is quality anyways?

Quality is all about perception. Each individual user has their own definition of quality and they will apply it to your software or service when using it. QA must speak for the quality of the application on behalf of each and every user during the software development lifecycle. Each employee in your organization will have their own definition of quality. What’s yours?

I left you some blank space below to write it down.
------------------------------------------------------------------------------------------------------



------------------------------------------------------------------------------------------------------

Hard to do wasn’t it?

“Quality is hard to define; impossible to measure, but immediately recognized if it is missing.”

Quality Assurance

A survey of three hundred U.S. and European senior information technology executives from large companies showed that eighty five percent of IT executives interviewed indicated “application quality is either critical or very critical to their overall effectiveness in demonstrating business value.”

In another survey of more than 150 software development organizations found that thirty eight percent of developers said their companies do not have an adequate software quality assurance programs and thirty-one percent said their companies had no quality assurance personnel at all.

With such an emphasis placed on quality being so critical to the success of the business, why is quality assurance not emphasized in an organization? In fact, the perception among most developers is that most senior managers are satisfied with the quality of software that their companies are producing. When is the last time you have heard from a developer than the quality of the application they work on is poor, that the code they developed has defects and other issues? Never – why would they admit that their code is not working and what they developed is of poor quality. The perception is ingrained that any negative reflection of the application quality reflects on their performance as a developer rather than a means to strengthen overall product quality. This inherently sets the course where development and quality assurance are on opposite sides of the fence. Finding and resolving defects are ok but question the quality of the underlying application code and up go the defenses. Take the performance testing of a web application, the development team will try and look for every hole in how the test was executed to invalidate the results.

There are ingrained biases surrounding quality assurance. This bias extends from developers through to senior management. Everyone thinks QA is easy, so less-skilled people are hired off the street (with no training) to fill QA positions at much lower salaries. Management can and has demoted underperforming developers into QA.

What is Software Quality Assurance?

All of the quality assurance books on the market today, focus on software quality assurance and provide similar definitions for it. D. Galin wrote software quality assurance is: “A systematic, planned set of actions necessary to provide adequate confidence that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines.” The definition seems to leave out critical parts. What about social engineering, user behavior, usability, client expectations and process improvement? As of now, the old definitions no longer exist; I’m throwing them out and writing one that makes sense. You cannot address software quality assurance without dealing with social engineering, human behavior and the processes that developed the software. I consider it to be a vital concept in quality assurance and I will go door to door if I have to, but I’m gonna convince you I’m right.

Without the Why

Quality Assurance has been hopelessly stalled for the last 20 years. Moribund. Ossified. There is a very simple reason for this catastrophic and intractable state we are in. People think they know what QA is and stopped asking why along time ago. Without the why, quality becomes theory at best, not practiced or even of critical concern. No process or methodology, regardless of complexity is going to tell us why quality assurance has stayed the way it is. When the why’s remain unanswered, there is no understanding. When there is no understanding there is no progress. When there is no progress there is no evolution. Without evolution, things just fade away. Welcome to QA.

Sunday, August 16, 2009

Quality Issue of the Day - August 17, 2009

The following issue was noted on the Microsoft Visual Basic registration page. The blue text in the image informs the user to "check the first checkbox, above to recieve important information...". On the page, the first checkbox on the page exists below the message.