Tuesday, November 29, 2011

Issue Driven Management

I recently had an opportunity to develop experience in issue driven management for a software project.  What is "issue driven management", you may be asking?  Well, it is a form of project management where the project as a whole is divided into smaller, more manageable portions.  These portions, or issues, are then much more easily processed.  With this particular project, I was working with a small team of software engineers.  In such a scenario, you can then assign issues to each member in order to spread out the work evenly and ensure faster production.  Giving people smaller, more specific issues to deal with enables the group to work with less confusion and prevents people from doing work on the same tasks.  Each issue can then be broken up into smaller issues and assigned to appropriate members of the team if the issue is initially too large or complicated.

To implement issue driven management for a project, it is best to find a project management solution that allows for communication, issue tracking, and a central repository if you're working with code.  My group chose to use Google project hosting at Google Code to host our project.  This allowed for us to implement issue generation and tracking, as well as giving us a central repository.  Our project was to create a command line interface for the WattDepot application.  This command line interface we developed queries the WattDepot server for information about energy usage for the Hale Aloha building at the University of Hawaii at Manoa campus.  Our team also used a combination of build automation with Apache's Ant and continuous integration with Jenkins.

Our project team was team "tiger" and the project was named "hale-aloha-cli-tiger", which you can find here at "http://code.google.com/p/hale-aloha-cli-tiger/".  All together, the experience was an educational one to say the least.  I learned a great deal about working with other people on a project, but also a lot about continuous integration and how you can have a build work locally but then fail an automated build on Jenkins.  It certainly slammed the importance of running "ant -f verify.build.xml" before every single commit to the repository!  And to make sure that if build directories find themselves in the repository, even if by someone else, you should immediately remove them.  This prevents issues with Find Bugs failing a build when the problematic file has been removed.  Another thing that is key is communication, which can be relatively difficult when people on the team all have different schedules and heavy commitment loads elsewhere that prevent consistent communication.

My group and I accomplished the task for which we were aiming.  It was a great experience, and I enjoyed working with the others.  It was a lot of fun and energizing to meet with each other and toss ideas back and forth regarding solutions to problems.  I hope that I get another chance to work with each of them and I am glad that I was able to have this experience.  We had a few problems, of course as any project might, but my group always came through.  Is our project completely done?  Well there are always areas in which we can improve a system, but yes it accomplishes what we wanted to achieve.  We did a lot of automated quality assurance, but no system can completely account for everything a user can throw at it.  Not without a much more exhaustive system of tests.

Tuesday, November 1, 2011

Hawaii Has Potential

We live in interesting times.  Many people notice when things get rough and they have to shell out tons of money at the gas station.  Those same people look at the rising prices in food and amenities, most likely with sighs of frustration and growing concern.  In Hawaii, these things may have a heavier impact than that which would be felt by people living in the mainland United States.  Much of the food and oil we consume everyday is shipped from sources outside our state.  There is also another issue that many families in Hawaii have most likely noticed, issues with power.  We see rising costs in our electric bills, and at the same time we perceive waning security with regards to consistent power availability.  It doesn't seem to take much to cause 'brown-outs' or temporary 'black-outs' in various neighborhoods throughout the year.  Well, there are some interesting possibilities here for those that are willing to look.

As I've mentioned about the growing costs associated with oil and how it affects different areas of our lives such as food and fuel, it also affects our power!  Oil based power is prevalent in Hawaii, more so than on the mainland, and increases in oil prices across the world affect the cost of our electricity.  If we want to move into the future and embrace growing concepts like clean energy and sustainability, Hawaii's power solutions need to be changed. 

In addition to the problems widely known about fossil fuels, Hawaii's power utilities are also having a rough time keeping up with growing power consumption.  It may surprise people that Hawaii's power grid is actually comprised of several small isolated grids, especially separated from different islands.  If there is a power surplus from another island such as Lanai or Maui, Oahu may not be able to benefit from that power.  What will it take to get clean sustainable power for everyone on each island?

One thing that is both promising and at the same time frustrating, is the fact that Hawaii has just about every current clean and sustainable source of power at our finger tips.  Those sources remain currently untapped for the most part.  We have solar power, wind power, geothermal power, ocean currents, you name it!  Why is it that with all this raw power surrounding us, we still rely on oil primarily as a power source.  If Hawaii is spending around six billion dollars each year to buy energy from external sources, imagine what opportunities exist for people who can find that power right here in Hawaii!  That's right, six billion dollars a year could be funneled back into Hawaii creating jobs and opportunities if we can meet our energy needs independently. 

Of course, simply maintaining the same power production and consumption does not address all of our power issues.  It is apparent that we also need to find the means to track and monitor power usage so that we can cut expenditures.  This has the double advantage of making it easier to switch to less developed sources of power by creating a smaller load, or demand, but will also allow statewide needs to be met consistently when the switch has been made.  Tracking features such as 'smart meters' that can electronically monitor power consumption and send that data via wireless connection to the power utility companies will certainly help.  This will allow such companies to analyze and monitor consumption habits and patterns.  Through incentives, power companies may gain remote access to shut down air conditioners briefly across sections of the island in order to reduce load during peak usage, creating a more stable power grid and reducing the fuel consumed to generate power.

Those of us with interests in software and technology know that information is already a large area of development and opportunity.  This certainly applies to our power situation when you realize that power companies will be generating massive amounts of data, without necessarily having software infrastructure to manage all of it.  There are potential areas of opportunity in developing database structures and systems, as well as analytical software to glean useful information and trends from all of the raw data.  When we add in the potential to one day have all of our power produced locally, that could mean six billion dollars of opportunity for those with an interest in developing power alternatives, but also for those who wish to help manage the information generated in that field.

This is especially true when we realize that solar power is a growing source of independent energy and all of the power generated from homes equipped with that technology needs to be measured and understood.  For people whose job it is to balance and maintain a steady power grid, it is vitally important to be able to look at and account for all the power being generated via solar power.  This will enable them to redistribute power appropriately.  With this also comes a need to track power usage or generation for each home, and with that comes even more data.  Software and technology solutions to manage data for each home in Hawaii will not only aid those attempting to move us forward to clean and sustainable energy, but it will provide valuable information and needed transparency to the consumer.  It will empower people with the knowledge of how they can reduce wasted energy consumption and lower their electric bill each month.  It will also allow people to be a part of and understand Hawaii's power related issues. 

If we make changes towards clean, independent energy, and people in the technology field get behind those changes, we can see some wonderful opportunities in the future.  Hawaii can generate less pollution, preserve paradise, produce jobs, provide power, and reduce costs in other areas of our lives.  What a great potential we have!