Friday, March 28, 2008

Agile Software Devlopment Methodology - The Sprint

I wanted to take the opportunity to talk about the benefit of sprints (or iterations) in the Agile Software Development Methodology...not from a developer perspective, but from a Product Management perspective. Our team sprints are 2 weeks. This means that we analyze the priority of features, estimate user stories based on their feature priority and task the team with two weeks worth of "work" to achieve a user experience by the end of the sprint.

The best feature that I like about sprint is the ability to "change gears" every two weeks! Any enterprise product needs the ability to support project work and meet high priority features for clients to "capture the sell". As the Product Manager, I'm the person with "boots on the ground". I get to talk directly with clients, sales teams and distributors to hear their requirements of the software. Although it's impossible to make every feature request a priority, it is within the methodology to change the priorities (every two weeks) to allow the software to demonstrate a feature that is a time critical request for a client.

There is a fine line that must be walked don't want to impact the top priority features for a release, but there is plenty of room to achieve "quick wins" with existing large clients and prospective future clients.

The sprint allows me to reprioritize a "quick win" feature request to fit within the sprint and provide a thin line user experience to allow demonstration of the feature in 2 weeks.

Clients (and sales staff) really like to see their feature requests being demonstrated in two weeks! It demonstrates that we really develop the software for the client to meet their business needs and allows us to be "responsive" to cash flow potential. The interesting phenomena is that most of the time, the client is usually fine with the feature being "productized" and completed by the scheduled release date! By simply demonstrating that we are responsive to their needs shows a commitment to solving their business problems.

The sprint is also a great thermometer for measuring progress. At the end of every two weeks, I get to calculate the velocity of the team that accounts for the number of bugs resolved and the number of user stories estimated and completed in the sprint. It gives us a continuous monitor on our ability to estimate features, our ability to rapidly address bugs and the ability to complete user facing features. Analysis of velocity allows us to continuously evaluate the planned feature set for the release to effectively manage resources, money and time!

Sunday, March 23, 2008

Brand Equity

There are many open source and "small" software companies that provide OGC web services. I get asked a lot of questions about how our product "measures up" against many of them. 100% of the time, none of the open source or small software company offerings meet the requirements of the prospective client or provide a level of confidence that they will ever provide the capability.

Open source offerings are mainly pitched by services companies. These projects provide a lot of "opportunity" for services companies because they require so much customization to meet client needs. This customization provides the opportunity to become "locked in" long term to continue to provide "features" for clients. It's interesting how many service companies are also "technical advisors" for many government agencies, even very large ones.

Small software companies have "niche" market technologies. For instance, they provide web service layers on top of spatial feature database storage. I see success with feature editing through WFS-T for some small organizations. They usually have a very "narrow" feature set, but a market differentiating capability. Most are looking to be "gobbled" up (bought).

The problem for most open source or small company offerings is the inability to provide confidence or the ability to commit to the capablility of supporting the scale of implementations of large customers. They also fail to provide the support required of large production companies, the ability to commit to them.

All of the offerings fail to handle the quantity of data and the load required for large organizations in a production environment. They are currently filling "small" organization requirements, or are in large organizations at a small scale. Step up to 500TB and 1500 concurrent users!

For the Leica Image Manager, it's relatively easy to differentiate ourselves in that Leica is the market leader in imagery. There is no question that we dominate the imagery market, provide end to end imagery production and dissemination systems in large scale production environments. We write and manage gridded data accessors (we don't rely on open source for our imagery support or another company). We handle any type of gridded data that you may have (over 160 image formats supported by Leica software), any sensor model and any workflow. We have great BRAND EQUITY. This means a lot to an enterprise when they are going to invest into software. They trust that you have the capabilities to handle thier data, the quantity of data that they need to handle and the support that they will need. They also are confident that next year, the product will still be around, being improved with new features and be on the forefront of handling new sensors, formats and technologies that are occuring in the market. Never underestimate the power of the brand.

Thursday, March 13, 2008

Technical Training

Please excuse my tardy post...I have been extremely busy catching up on my Product Management duties since my trip to Atlanta for the Technical Training Week.

Leica Geosystems provides world class training for staff, distributors and business partners. There were two major tracts; Remote Sensing and Photogrammetry and Enterprise Products. The Leica Image Manager was a day and a half course with 60 attendees.

Course Agenda:

1. Intro to the Leica Image Manager
2. Pre-requisite setup, Installation and Configuration
3. Post Installation Tuning
4. Use Cases - Data Manager, Web Client, IMAGINE and "other" clients

The highlight is of course allowing all 60 users use the server simultaneously with any client! It's great to see the server perform so well, we could have handled many, many more usmosaicers!

We used IMAGINE (WMS, WCS Image Formats), ArcMap, UDIG, Open Layers, Gaia, UDig, ArcExplorer and more!

Here's some common misconceptions from the class that are important to point out:

Misconception 1: The Leica Image Manager is a tile server.

This is absolutely and unequivocally false! The Leica Image Manager does not "burn" tiles at any time for any purpose. We utilize the source imagery to produce portrayed maps on the fly! We'll read, mosaic, reproject and portray the data..."on the fly"!

Misconception 2: The Leica Image Manager takes a lot of Image Pre-processing

Again...false! There is no pre-processing required for your data. We support any number of bands, band combinations and pixel depth (true 16 bit). We utilize the data "early" in the image processing chain and can provide map quality imagery on demand.

Misconception 3: OGC Web Services are slow.

Again...unequivocally false! Our performance testing framework simulates a ramp up 50 users making simultaneous WMS requests (make another WMS request immediately after validating the WMS response) and averages 2 sec/request on a two core CPU server!!!! We really challenged the class to "load" the server in the class with 60 users and the server performed flawlessly. Thats with large map dimension requests and any client!

The class went good, I learned a lot in the other sessions and it was a great week.

Look forward to the Leica Image Manager Public Server to come on line early next week. Get ready to test the server yourself early next week from a public server. Get your username/password assigned request in today!!!!