Thursday, April 26, 2012

Why do caged birds sing, or being agile in a waterfall world

I have been doing agile since the late 90's, even though I didn't know it at first, so being customer-centric just comes naturally to me, and trying to work with systems to have systems that promote better software development, rather than hindering development.

Unfortunately, many companies seem to be stuck in a rut of wanting requirements finalized before any changes can be made, and requiring a large amount of paperwork in order to move any software from one environment to another.

I have been in two companies that either had a system in place to help developers get their job done, or I was able to help influence the system, so it was not in the way of getting work done.

Trying to help companies stuck in the waterfall rut change is a struggle, but one that may be worth fighting, as the end result could be a compromise where the system bends a bit in order to help alleviate the effort to do a quality job.

A simple approach is to ensure that unit tests are written, by you if no one else, and to show the benefits of unit testing, in debugging and the quality of code released.

If there are many manual steps in order to move software from one environment to another, work to get permission to write programs to help automate the task.  For example, if files must be updated in order to move software, then a program could do the software promotion, and document what was moved, why and when, and if possible, what features were moved.

For example, at one job I wrote an ant script that would compile, test then increment the version number when it built the war file, and zip up the source code that was in that war file, to meet the business needs, otherwise I was having to do these each time.  I also had it possible to deploy the code, if I chose, so with once command I could meet all the needs, and this was around year 2000.

For mobile application agile methodologies are the only approach that will work, as, no one can adequately figure out how a UI should look, as, once it gets on a phone there will be comments that UI elements need to be shifted, or, there may be some other functionality that becomes important, so, the best approach is to start with a UI, get it to the testers quickly, and then begin to add functionality, and get the feedback as to the usefulness of the program.

Tuesday, April 17, 2012

Insurance companies opportunity using mobile apps

A user is looking at buying a new car, and runs an application that will check various insurance companies for the rate, based on current cars, and some demographic information, but not getting too specific about the individual.

How can this help an insurance company to work with other insurance companies to provide this information?

A common thought is that there is no benefit to be so altruistic, but there is information that can be captured that can have more value than expected.

Imagine the value of data that can be used if a company knows in what situation, or the location, where insurance changes can be made, then marketing can be more focused.

For example, if it is determined that in a particular area the main reason people change insurance, or, are open to changing, is because people that are over 23 are going on their parent's insurance. This could mean that people are moving back home, so ads can be better targeted, or, better plans can be customized for this group of people.

This information can also be sold to other companies, to make more money.

By looking at patterns of when people are looking at buying new or used cars, and what types of cars they are considering, it would be possible to better predict which types of vehicles may be bought, before it is common knowledge.

Now, if there can be a premium version that people will want to buy, then you get valuable marketing information, not only for free, but people pay for the opportunity to give them information.

By going down this path, insurance companies can see benefits from writing native mobile applications. The main advantage of a mobile application is that the data can be stored encrypted on the device, for some non-specific demographic information, to make it easier for the user to get information, by limiting how much they need to enter.

Now, one premium addition to a program would be to be able to enter a vehicle vin, and get information on that car, such as whether the car has been flooded before.

Tuesday, April 10, 2012

Native mobile apps dead?

It was mentioned at work again that companies don't like writing native mobile apps, as it is too expensive and too much work.

But, this reminds me of some of the arguments when the world wide web was still relatively new, as companies didn't see how to take advantage of it, but, over time we had more companies learn how to monetize their websites, and they seem to want to just keep that model and move it to mobile devices.

But, just as companies had to adapt before, they need to adapt again.

Unfortunately too many mobile applications are just a repackaging of what could be done on a web page, but, just as Google Earth changed how people see javascript, and the IPad has changed how people see the tablet, there needs to just be some incredible uses that are not game-related to help North Americans see the benefits of their smart phones.