Ship Software OnTime!

The blog that helps you build great software

Scrum on Demand – Getting Started with Scrum

with one comment

So you are sold on Scrum, but having a hard time getting started, right? There are a lot of questions on your mind:

  • How do I convince the team to use Scrum?
  • How long should our sprints be?
  • How should we handle bugs?
  • What if our estimates are not accurate?
  • How do we handle items with dependencies across sprints?
  • What tool should we use to track everything?
  • How do I get my team trained on Scrum?

We’ll tackle each of these questions in this article.

How do I convince my team to use Scrum?

Remember that “using Scrum” mostly means the following things:

  1. Making a list of things that you need to get done for the project (product backlog)
  2. Prioritizing that list
  3. Estimating how long each item in the list will take
  4. Meeting regularly to see the status of items and make small adjustments
  5. Keep track of how much work remains until the project is finished (burndown chart)

So if you are getting any push-back from your team, management or executives on using Scrum, then don’t refer to it as Scrum. Come in with a plan that says you want to do the 5 things listed above. The resistance will immediately dissipate because there will no longer be a fear of the unknown. It’s hard to argue that “making a list of things we need to get done” is a bad thing. You’ll know it as the product backlog, but who cares if others call it that?

How long should our sprints be?

As a general rule of thumb, most dev teams have a typical “release cycle”. My standard recommendation is that make sure you fit at least 4 sprints to as many as 12 sprints into your release cycles. So if your typical release cycle is once every 6 months, it wouldn’t be a bad idea to have 6 sprints of 30-days each. On the other hand, if your release cycle is only 3 months, you still might want 6 sprints, but make them 2 weeks each.

How should we handle bugs?

There are two types of bugs. There are those that A) appear while you’re still working on a given feature PRIOR to the completion of the feature and B) bugs that are identified AFTER a feature is considered feature-complete. Bugs that are identified PRIOR to the feature being completed should be dealt with right away and the feature should never see the light of day without the bugs being addressed. However, the challenging part of bugs is how to deal with the bugs that are identified AFTER the feature is completed and released in the product.

There are two main schools of thought here. Neither is better than the other. Use the one that fits your team best. Here they are:

  1. Log bugs just like any other product backlog item and in each sprint, take a handful of bugs to address in each sprint. In this scenario, bugs and features are thrown into the same product backlog and prioritized, estimated and dealt with just like any other product backlog item.
  2. The other school of thought is to track bugs in a separate “Defects Backlog” and have dedicated sprints that focus on nothing but bugs to help everyone stay focused on creating the most stable product. The idea here is that with everyone in the team focused on fixed bugs, nobody is busy introducing new bugs by coding new features and as a result, the team will produce a more polished product.

How do we create more accurate estimates?

The first thing to remember is that nobody creates accurate estimates. The key is to create an accurate overall target release date that is manageable. So there are some best practice rules on creating better estimates. Here they are:

  1. Involve at least 2-3 of your most experience engineers on creating estimates, along with the person who will ultimately be responsible for coding it. Take the higher estimate value if the group doesn’t agree.
  2. Keep estimates at approximate values that are thrown into larger buckets. For example, your “estimate values” might be:
    • 1 Hour
    • 2 Hours
    • 4 Hours
    • 8 Hours
    • 2 Days
    • 3 Days
    • 5 Days
    • 2 Weeks
    • 3 Weeks
  3. If an item is estimated to take 10 minutes, that falls into the 1-hour bucket. If it’s estimated to take 3 or 4 hours, that probably falls into the 8 hour bucket. Being conservative with estimates will address some of the unavoidable down-time for estimations.
  4. Expect no more than 6 hours of productivity each day from each software engineer. That means the typical software engineer should plow through 30 hours of estimated work per week. Don’t expect more because they have overhead of meetings, checking email and Facebook!
  5. Lastly, be sure to leave room in your overall schedule for unforeseen items, changes that will inevitably be made and other things that you simply can not predict. Generally speaking, you’ll want about 1 week of padding for each month of development. So on a 4 month project, don’t take on more than 3 months worth of work.

How do we handle items with dependencies across sprints?

Dependent and complex items are essentially the high-risk items in software development projects. To minimize the risk, there are two things you can do:

  1. Use Proof-of-Concept prototypes as often as possible. These throw-away projects should help demonstrate the feasibility of high-risk items. These items include anything that the team does not have experience developing, which might include a new cool User Interface design, back end data storage, cool new web interface and so on.
  2. Tackle the tough tasks in your first few sprints. This will help you identify problems early. You don’t want to find out two weeks prior to your ship-date that a task that was expected to take a couple of weeks will in fact take a couple of months. Putting high-risk items first, will help you get project visibility early that will allow you to change things up to address your timeline.

What Scrum tool should we use to track everything?

It’s always surprising when I find software development teams that still use Excel or even sticky notes, paper and white boards to manage the development of a software project. After all, we are all in the business of creating software that makes some manual tasks easier. There are dozens of software applications out there that are far superior to using Excel or an offline solution.

One example of such a tool (my favorite, in fact :-), is my company’s product, Axosoft OnTime. OnTime is designed to stay out of the way of software developers so they can focus on writing code, which is what software developers do best. But it also provides project managers, scrum masters and executives with all of the project visibility tools that are instrumental in helping them make decisions about the direction of the project.

Here is how OnTime helps Scrum teams:

The Product Backlog

Scrum Product BacklogsOnTime allows for Scrum teams to manage their product backlog in either of two ways:

  • Single Backlog for Everything – The ability to see everything that relates to a given product, version or sprint in a single product backlog is a nice way to view project information. It allows teams to deal with bugs in the same way they deal with any other requirements.
  • Separate Backlogs for Defects (Bugs) and Features (Requirements) – OnTime also allows teams to separate defects, features and tasks into independent backlogs. This level of flexibility allows for each type of item to have a separate workflow, allowing defects to go through a different process than feature requests. For example, a defect might need to be verified, while a feature requests first needs approval.

Regardless of which way you decide to go with the product backlog, OnTime provides powerful backlog features that are useful for every user, including:

  • Ability to create public and private backlog filters with powerful AND/OR functionality for combining conditions
  • Ability to group backlog items to view them by assignee, status, workflow step or any other built-in or custom field
  • Ability to create saved public or private views which save everything from fields being displayed, the sizes of each column, filter conditions and more
  • Ability to set first, second and even third sort criteria so that you can view your backlog in the way that makes most sense
  • Ability to apply a change (such as status, workflow, date or other changes) to multiple items with the click of just 1 button

These features make OnTime one of the most powerful tools on the market for Scrum teams who need fine controls on their product backlog management.

Sprint Planning

Scrum Sprint PlanningSprint planning is one of the most important activities that Scrum-based teams perform. With OnTime, sprint planning takes form naturally from the product backlog. Assigning items to a sprint is as easy as dragging and dropping (in the OnTime Windows client) any number of items from your product backlog onto a planned sprint. Alternatively, you can use the multi-edit feature to assign a number of product backlog items to any given sprint.

To create the planned sprints, OnTime also makes the Scrum Master’s job easy. The OnTime Releases hierarchy breaks projects in the following way:

  • Products – You can manage any number of products in OnTime
    • Versions – Each Product can have any number of versions
      • Sprints – Each Version has numerous Sprints

OnTime also provide auto-calculators for sprint start and end dates. You simply tell the system how many days your typical sprint is and OnTime will automatically calculate the dates.

Daily Standups

All meetings are overhead. With that in mind, the goal of meetings should be to keep them as short as possible (and as Einstein might say, “but no shorter!”). OnTime facilitates meetings, such as the Scrum Daily Standup, by having all the information that’s needed to make decisions ready at hand. A typical meeting starts in a conference room with the main OnTime screen being projected on a screen with a “Daily Standup” Previously Saved View applied to the system to show only the items of focus for the given sprint.

The team has the ability to go through the items right there, make notes, change status and so on, allowing the meeting’s decisions to be captured in real-time without further work that would typically be assigned to the Scrum Master.

Tracking Progress (Burndown Charts)

OnTime Burndown ChartsIf you don’t track it, there is no way to improve it. Furthermore, project visibility is perhaps the most important factor for project success. That’s where Scrum burn-down charts play a pivotal role to making sure projects are on track and OnTime provides an extensive set of capabilities when it comes to Project Visibility and Burn-down charts, including:

  • View a mini burndown chart on the main OnTime page, giving everybody on the team the same sense of urgency to move the project in the right direction
  • Multiple burndown charts depicting one or more sprints, versions or products in a fully customizable Charts Dashboard
  • View rollups of burndown charts for multiple sprints for a given version of a product
  • Show trend (such as the burndown velocity) and project a ship-date for a given version or completion date of a sprint

The OnTime dashboard provides a number of other useful charts too, like the Treemap, or Trend Reports and even user workloads to make sure you are not overloading a particular team member with too much work.

It’s Scrum On-Demand

Scrum on DemandWith Axosoft’s OnTime Now! Scrum teams can actually signup for and start using a 30-day, 10-user trial of the OnTime system in seconds! Axosoft has done an incredible amount of work to make the OnTime Now! system exceptionally unique with the following features:

  • Choice of 6 Data Centers world-wide for maximum Hosted performance
  • Ability to use either a web client or the rich OnTime Windows client (this is unheard of in a hosted solution)
  • Ability to use OnTime Visual Studio or Eclipse plugins for developers so they never leave the IDE
  • Ability to use OnTime iPhone client, a full-featured app that provides dashboards, access to all items and much more – incredibly useful for every team member, especially the Scrum Master

The best part of the OnTime Now! hosted solution is that there is no compromise and there are no contracts. You get to use both Web, Windows, iPhone, Visual Studio and Eclipse OnTime clients and the entire thing is hosted in any of 6 different secure data centers that Axosoft manages around the globe.

Learn More About OnTime Now! >>

It’s Inside of Your IDE (Visual Studio & Eclipse)

OnTime Eclipse and Visual Studio PluginsDesigned to stay out of the way, OnTime provides the ability for developers to stay in the environment where they are most productive: The development IDE. OnTime supports both Visual Studio and Eclipse and allows developers to access the information they need right at their fingertips. The Visual Studio and Eclipse plugins allow users to:

  • Add, Edit and modify the workflow or status of items directly in the Eclipse and VS IDEs
  • Filter, sort and view items in a variety of ways
  • Add notes, attachments and work log entries for items
  • View items associated to a product, version or sprint

For developers, nothing is more productive than being able to stay in the IDE while modifying project management related tasks.

It’s Even in Your iPhone

Data was meant to be shared and viewed from everywhere. That’s why OnTime provides every team member with the ability to access their OnTime system from the convenience of their iPhone. The OnTime iPhone client provides some powerful features, including:

  • View and edit all item types (defects, features, tasks and incidents)
  • Filter and sort the product backlog(s)
  • View items by project, product, version or sprint
  • Add attachments, notes and comments to items
  • Log work done on a given item
  • View a number of built-in charts or create custom charts meeting any filter criteria

The OnTime iPhone client is intuitive and powerful. Exactly the type of features

How do I get my team trained on Scrum tools?

The last piece of the puzzle is how do you get your team trained on the tool that you select? Axosoft has a solution for that too. In fact, Axosoft offers a number of FREE Web-Based, Instructor-Lead classes on the following subjects:

  • Implementing Agile / Scrum Methods with OnTime (Class code OT-302) – This hour-long class walks you through how to setup an OnTime database to use Agile or Scrum terminology, setup product backlogs and get going with burndown charts.
  • OnTime End-User Essentials (Class Code OT-101) – This hour-long class walks typical users through the main OnTime interface covering the day-to-day operations of users, such as creating and applying filters and views, creating new items, comments, attachments and more.
  • OnTime Administrative Essentials (Class Code OT-102) – This hour-long class walks your OnTime administrator through the setup process, new user creation, customization of fields and field templates and other administrative tasks.

Did I mention these web classes are free? But they are only available on a first-come-first served basis as class attendance is limited to ensure each person has an opportunity to ask questions. Learn More >>

Written by Hamid Shojaee

October 6, 2009 at 5:00 pm

Project Management on Demand: OnTime Now!

with 3 comments

How do you make an already great project-management on demand system better than ever? How about improving the performance by as much as 500%?

Here is how we did it…

A Little Background

Ever since the introduction of OnTime V2.0, Axosoft has provided a hosted option.  This allows teams that want to get going with OnTime right away the option to do so without having to setup their own installations. We expected this option to be extremely popular, but to our surprise, over the past 6 years, relatively few of our customers have chosen to go the “Software as a Service” route.

Don’t get me wrong, “relatively few” still means hundreds of customers, but we were expecting thousands.

So a few months back, we decided to deep-dive into the numbers and figure out what was going on. What we found was that the closer customers were to Axosoft’s physical data center location, the more likely they were to choose the hosted service.

Hmmm…that seemed odd.

So we did a bit more digging with the help of some external resources to see what the OnTime Hosted user experience was like from different parts of the world.

The results were shocking!

Depending on customers’ locations and bandwidth (with respect to Axosoft’s Tempe, Arizona data center), the performance they experienced could vary by as much as 500% over optimum performance. This was especially true for our European and Australian customers. That meant that an OnTime page that might have taken 1 second to load under normal circumstances might take as much as 5 seconds to load for some customers.

Clearly unacceptable.

The problem, of course, is not an easy problem to solve. Because regardless of how well connected our data center is, we are also bound by customers’ connections — and all of the connections in between. The longer the distance and the more hops between a customer and OnTime Hosted, the worse the performance.

So we focused our entire IT and product engineering team on solving this problem.

Introducing ‘OnTime Now!’

OnTime Now! takes all of the great OnTime features, usability and innovation, and wraps it up in a hosted environment that allows customers to be up and running in no time flat. But it has a unique twist:

YOU get to choose the data center where your OnTime Now is installed from 6 world-wide locations:

OnTime Now! Data Center Locations

The OnTime Now! Data Center locations are:

  • Tempe, Arizona (this is where all OnTime hosted customers were until now)
  • San Jose, California
  • San Antonio, Texas
  • Herndon, Virgina
  • London, United Kingdom
  • Brisbane, Australia

During the OnTime Now! signup process, you now get to choose the data center that will house your hosted account. To make the decision easier, we created a speed test, allowing you to choose the best performing site:

Bandwidth Tests
Bandwidth tests from Axosoft headquarters in Scottsdale, Arizona

Once a data center is selected, OnTime Now! goes to work immediately creating the DNS entries for your chosen URL, a brand new OnTime database, your own OnTime Web Server, Customer Portal Server, Remote Server, iPhone Server, SDK and everything you need for your OnTime installation to go live. The entire process takes only seconds, and then you receive an email with instructions on how to get started. It’s pretty amazing.

So How Much Better is it?

While nearly every customer outside of Arizona will see a performance improvement, the most drastic performance increases will be seen by our East Coast (US), European and Australian customers. The chart below shows the relative performance that a typical European customer would experience. The Blue bars show the relative speed to our Tempe, Arizona data center while the Red bars show the performance those same customers can expect from our London, UK data center (shorter bars are better). As you can see, the difference is incredible:

OnTimeNowEuroPerf2
OnTime Now! Performance from European Countries to Arizona and UK Data Centers

We’ve made a ton of other improvements too, but all of them pale in comparison to this one major improvement with performance.

Existing OnTime Hosted customers can expect to be contacted soon regarding these changes so we can transition existing customers to OnTime Now! and the data centers of their choosing.

Learn More About OnTime Now! >>

Try OnTime Now! Free for 30-Days >>

Unprecedented Innovation

Our multiple data center strategy, which allows customers to choose the best performing data center is unprecedented in our industry. It required an enormous amount of effort to execute, not only in identifying and setting up servers in remote data centers across the globe, but also:

  • engineering new systems to manage these remote installations from a single location
  • allowing customers to seamlessly sign up and choose which data center to use for their OnTime installation
  • tying all this into Axosoft’s unique purchasing system (the Axosoft Online Store)
  • giving customer control of their system through the OnTime Now! Customer Dashboard

This was an awesome challenge!

Axosoft is truly blessed with some of the most incredibly talented people I know in this industry. No matter what challenges I throw at them, they seem to come up with solutions that shine.

Now, we’re back to the drawing board, coming up with the next big set of innovations that will move our industry forward. It’s fun doing unprecedented things. Stay tuned…

Written by Hamid Shojaee

September 24, 2009 at 3:29 pm

Microsoft Still Has the Best Development Platform

with 19 comments

As many readers of my blog have come to know, for the past couple of years, I’ve been extremely impressed by Apple, both in hardware and software. They simply make the best hardware on the planet and while everybody seems to think their hardware is “overpriced” nobody comes remotely close to Apple’s prices when they attempt to make similar quality products. Likewise, Apple’s software has been top notch. After being a Windows user for more than 17 years, I made the switch to OS X about 18 months ago. Since then, I’ve been floored by how smoothly OS X handles everything. Things run noticeably better than XP or Vista. Everything from simple animations, to switching between programs, to connecting a projector or 2nd monitor, to managing 20 open windows and playing audio/video files. When it comes to home-productivity software, such as Photo and Movie management, nothing comes remotely close to iLife, which is included free with every Mac.

But there is an area where Apple falls short in a significant way. With Axosoft now having experience developing for Windows, Web and iPhone, I can authoritatively say that Apple’s developer platfrom has some major shortcomings. While X-Code and Objective-C provide a reasonable environment for creating OS X and iPhone apps, Apple has virtually no tools for web development and largely relies on the open source (LAMP) world for web-based apps on its platform. That is a big surprise considering NeXT’s WebObjects was considered one of the premier web development tools when Apple purchased NeXT. In fact, back in 1996 when Apple bought NeXT, Dell operated it’s ecommerce site, Dell.com, using Apple’s WebObjects development platform, something Apple seems to have abandoned. But it gets even worse. Objective-C is an extremely verbose language which forces software developers to worry about a lot more things that modern languages, such as Java and C#, automatically take care of for developers. Memory management is tedious and frustrating, especially for those who come from a modern language background. And if you want to develop a database driven application, fo-get ’bout it! Apple’s Core Data APIs are designed for single-user local data storage. There is no Apple-based APIs for interacting with any client-server database systems like MySQL, SQL Server or Oracle.

Right now, Microsoft’s exceptional development tools is the best thing it has going for it. From top-notch integrated development environment (Visual Studio) to modern development languages (C#), to a great Web development story (ASP.NET, web services, IIS) and database development (SQL Server & APIs to access other systems). Microsoft is still the only company with the complete development package. Using Visual Studio and .NET APIs you can build desktop apps, web apps, database driven apps (regardless of which DB system you connect to) and web services. This development advantage is the biggest thing that is keeping Microsoft very relavent and in the game at a time when most of the product innovations are coming from Apple and Google.

With Windows 7 addressing much of the minor usability problems that plagued XP and Vista, Microsoft is still in a pretty good position. Unfortunately, the same can’t be said about Dell, HP or other WinPC hardware makers, as it still makes more sense to buy a Mac, even if you plan to run Windows. And while Microsoft is in a pretty good position for now, they still have to remain paranoid, because you never know if somebody in one of those super-secret rooms at 1 Infinite Loop might be working to complete Apple’s development story. After all, the iPhone caught everybody by surprise!

It’s exciting to see the tech industry dominated by 3 major players now, each giving the others lots of reasons to stay on their toes. If it wasn’t for OS X, we’d all be stuck with Vista for another 5 years.

Written by Hamid Shojaee

June 25, 2009 at 10:49 am

Posted in Development, Tools

How Axosoft Built 5 iPhone Apps in 30 Days

with 7 comments

In The Developer’s Incentive to ship, I talk about how at my company, Axosoft, we drive and motivate our software engineers to ship software. Besides the standards of a good work environment, free snacks, drinks and state-of-the-art equipment, we also do something that’s a bit out of the ordinary: After every major release of our flagship software, OnTime, we take 30 days to do fun side projects — preferably ones that are challenging.

So when we released OnTime 2009 in the first week of January, our dev team was anxious to get going on their side projects. In our first side-project meeting, three of our developers decided that they wanted to do iPhone Apps. Now keep in mind that our developers are Windows .NET developers with zero Mac development experience. Prior to my awakening, which I detailed in Every Developer’s Next Machine Should be a Mac, none of our developers had much exposure to Macs or OS X.

As we sat around the conference room trying to figure out how to best learn the awkward XCode IDE and the mind boggling Objective C syntax while at the same time learning the Cocoa framework and the iPhone SDK, we came up with a series of basic projects to help the team learn how to draw on the iPhone or record a touch or multi-touch from the screen. We also wanted to learn how to use the accelerometer for movement and animating objects on the screen. We set a goal of 1 week for having something that could demonstrate these basic fundamentals.

This is where having super-star developers on your team makes a big difference…

Within 24 hours our offices were lit up with discussions and demos of iPhone apps that shot bullets and had flying airplanes dropping bombs. Before long, the guys had freshened up on their math skills, figured out collision detection and were building frameworks for Artificial Intelligence. Within 1 week of our start, we now had the confidence to set some serious goals.

We decided we wanted to have at least one iPhone game in the App Store before the end of our 30-day project.

But, just three weeks into our iPhone app development, we had already submitted two full-fledged games to the App Store. These games are relatively basic, but are super FUN, have multiple levels, lots of scenery, artwork and music. The collection of everything that went into making these games totally blew us away.

Here are some screenshots of the two games:

Slug Bug, our First iPhone Game: iTunes Link ($0.99)

Slug Bug – This is a game where the player can take the familiar Axosoft Ladybug across a busy road, a lawn or a train station to get her to safety. It’s a fun little game, especially for youngsters. My 3-year-old loves it and I have a few friends who are old-school Frogger fans that love this game.

Snakes on a Plain, our Second iPhone Game: iTunes Link ($0.99)

Snakes on a Plain – This is my personal favorite game. It’s like the old snakey games that came on just about all Nokia cell phones for a while there, but the big difference is that there is an enemy snake (or two on Hard levels).  Its AI is pretty damn smart and fights for your food. I also love the different patterns and the music in this game.

After releasing two iPhone games in three weeks, we still had a week left for our 30-day side projects, so we decided to have each developer focus on a small game to see what’s possible and use it as an opportunity to learn even more about iPhone development. The three games that came out of that are all available for free from the iPhone App Store:

iScream – iTunes Link (Free)

iScream – This little scare-the-crap-out-of-someone game gets the player to focus on getting a marble from one side of the screen to the other using the iPhone’s (or iPod Touch’s) accelerometer. If the marble falls off the path, the level is restarted. The player is told that after the third level, their mental IQ will be revealed.  While the player is focusing on the task at hand, a scary surprise awaits him on the last turn of the third maze. This game has scared a number of my friends and family members — very satisfying! :-)

Baby Bounce – iTunes Link (Free)

Baby Bounce – In this game, you control a couple of firefighters’ left and right movement with the accelerometer.  They are trying to save babies flying out of burning buildings by catching them in their trampoline. Catch 5 in a row and the babies will bounce twice. Catch 10 in a row and their will be multiple babies.  Catch 15 in a row, and you guessed it, multiple bouncing babies.

Photo Revenge – iTunes Link (Free)

Photo Revenge – Ever want to throw darts or knives at a picture of your nemesis? Well, with Photo Revenge, you pick the picture and determine the size and location of the target on that picture. Then you aim a knife and throw it by flicking your iPhone.  Highly satisfying and no holes in your wall!

One thing you might notice is that these games have pretty decent graphics, music and sound effects. The stars lined up well for us as we involved our graphics and marketing team, who are avid Mac users, to help with the development. With the use of PhotoShop, Flash and GarageBand, we were able to do everything in-house.

So that’s the story of how we shipped five iPhone games in less than 30 days without ever having written a single line of Objective-C or any prior iPhone or Mac development experience. Our only objective was to learn. We never set the expectation for any of these games to make money, but now we know how to write iPhone Apps and that is a huge asset to Axosoft.

Back to work!

Written by Hamid Shojaee

February 19, 2009 at 3:07 pm

Economies of Scale and $5 OnTime Express

with 3 comments

You know when you buy a book from Amazon.com and they want to charge you $10 for shipping and you think “damn, that’s a lot of money for shipping”? Well, today, I ordered some books from a local bookstore that gave me the option to pick up my books at the store or they could ship them to me for $10. The store is about a 20 minute drive from me, so my first thought was, “Ship it!” $10 is soooooooo cheap! Not worth my time to get into my car, waste a bunch of gas and an hour of my time for the round-trip to pickup a few books and save $10.

Then it occurred to me the amount of work that goes into having those books shipped. First, a FedEx truck is sent to the bookstore to pickup my books. Then the truck takes it to a warehouse where it’s then sorted and sent via another truck to another warehouse that’s closer to my location. From there, a 3rd truck then takes it and delivers it right to my door. All of this happens while a computer tracks the location of my books and sends me email notifications of major updates and a delivery notice. They do this for just $10 and somehow manage to make enough money to pay for fuel, warehouses, equipment, computers, internet connectivity and the salaries of everybody involved.

Damn, that’s pretty good.

What’s funny is that when I placed orders from Amazon, the same things were happening, but I never thought about it before. It’s weird that ordering from a local bookstore triggered my “bargain” receptors. In fact, when I order from Amazon the items are generally shipped from Washington, which means the process is even more complicated and requires two or three additional truck trips and most likely at least one or two flights to get the books to me.

That’s economies of scale at work and it has absolutely nothing to do with OnTime or the rest of this article. I just thought it was a cool story.

Anyways, with the slumping global economy, we realize that a lot of software development teams might be tightening their belts and might not have enough budget for tools this year. So with the release of OnTime 2009, we have decided to re-price OnTime 2009 Express edition in the following ways:

  • OnTime 2009 Express for 5-Users: $395 Now Just $5!
  • OnTime 2009 Express Unlimited Users: $2,995 Now Just $995!

The 5-User edition of OnTime Express is practically free! So you might ask, “why not just free?” It’s because we want you to have a tiny bit of skin in the game. When people pay for something, even if the amount paid is nominal, they feel a sense of ownership and commitment. Free means throw-away. If we gave it to you for free, you might let it sit there in your downloads folder and never use it. 60% of our free single-user activation keys never get activated! Paying $5 means you’ll probably be more likely to actually take the time to install and use the product.

In all honesty, the $5 per sale doesn’t even pay for the processing costs of the sale (a human creates an invoice, prints receipts, emails you a key, etc.) and we’ll probably donate the proceeds anyways.

Learn more about OnTime Express and the new $5 Price

Written by Hamid Shojaee

January 13, 2009 at 4:41 pm

Posted in Business, Team, Tools

Tagged with , ,

5 Most Important Tech Stories of 2008

with one comment

“Whenever people agree with me, I always feel I must be wrong.”
– Oscar Wilde

With that quote setting the proper frame of mind, I’ll dive right in to my list of the Top 5 mainstream tech stories of 2008:

#1: iPhone 3G + App Store

iPhone 3g + App Store

iPhone 3g + App Store

What other device knows where it is (gps), when it’s being touched (touch screen),  how it’s being held (accelerometer), can see (camera), can hear (mic), surfs the web with ease (Safari), plays music (iPod), and makes phone calls? Not many, and arguably, none quite as elegantly as the iPhone 3g.

With a little help from thousands of readily available apps, it plays games, identifies songs, can lull you to sleep with white noise, and will recommend good nearby restaurants.  The damn thing can even fart.

It’s insane (or perhaps perfectly sane) popularity means that millions of people are now walking with pretty hefty networked computer power in their pockets.  Power that gets used.  Over 300,000,000 apps have been downloaded, according to apple — a booming micro-economy within the framework of an overall recession makes the app store’s success even more impressive.

The app store provides developers with instant marketing, merchant services, and distribution.  The overall value of which more than compensates for some of Apple’s quirky, if not downright Draconian, rules and regulations — and their 30% cut.  The hardware + store concept can be seen in gaming consoles, the Kindle, and other devices — but the success of Apple’s implementation is clearly a game changer.  The iPhone app store is the most significant mainstream innovation of 2008.

In 2009, the iPhone looks poised to dominate the mobile gaming market.  Also, instead of a hundred variations of the flashlight app, I expect education and productivity apps to start maturing on the iPhone platform.

#2: Barack Obama

Obama at Google

Obama at Google

Does anyone doubt presidential campaigning has been changed forever?  Facebook, Twitter, SMS, candidate web sites, and YouTube have never before been leveraged like they have in 2008.  And, the candidate whose campaign “got it” technologically also got it in the end — as in got the White House.

Tech may not have been the only reason Barack Obama won, but think about what Tech did for Obama:

  • raised half of a billion dollars online
  • his “Yes We Can” speech has been viewed millions of times, as was the “Yes We Can” music video
  • communicated with a younger generation that couldn’t have been reached otherwise
  • more twitter followers than any other profile
  • and it collected more complete supporter profiles than any other campaign in history, even gaining permission to send them text message updates

Looking ahead, Obama has talked about appointing a Chief Technology Officer for the nation and he appears to be on the side of Net Neutrality. His talk at Google leads one to believe that he has a better understanding of technology than most other elected officials in D.C.

#3: YouTube Goes HD

HD Video on YouTube

HD Video on YouTube

YouTube held immense influence when its video resolution was cell phone quality.  But late in 2008, YouTube unleashed HD on the web masses.

So, now we can watch cats falling from bookshelves with clarity like never before, right?  Well, sure.  But it also means more people will start adding computers to their entertainment racks (Mac Minis work great, btw).  At 720p, YouTube videos now look nearly perfect on big LCD TVs.

It also means, businesses will start leveraging YouTube even more.  Recently, we at Axosoft started publishing our weekly video podcast (Fear the Bug) in HD on YouTube.  Now, we can do screen videos that actually have legible text!  Just one year ago, it was nearly impossible to find a web site that could host HD video for a reasonable fee.  Now it’s free, and it just so happens to be where everyone is already going to consume video.

In 2009 and beyond, I expect to see the quantity of high quality content increasing greatly on YouTube.  I’m not holding my breath, but I wouldn’t be surprised to see a movie with big names associated to it released straight to YouTube.

YouTube could also be poising itself for a micro-payment model, where users pay small amounts to consume specific chunks of video.  After all, we’re already getting used to that, being the iTunes veterans that hundreds of millions of us already are.

#4: Microsoft Can’t Find its Groove

For Microsoft, 2008 was the year of the low-light.  Think churro, here.  Let’s run down the list:

Jerry Seinfeld - I actually enjoyed the Seinfeld ads.  It probably has something to do with being in my 30’s and suspecting the storyline was actually going somewhere.  The churro, the faux apple-store looking shoe store, the meaninglessness of it all — it was leading up to something, right?  The answer appears to be either “no” or “we’ll never know.”  Microsoft pulled the campaign, seemingly in response to all of the bashing the ads were receiving in the press.  Too bad they didn’t stick with it.

Seinfeld's Churro

Seinfeld's Churro

I’m a PCMicrosoft boldly decided to fight back against Apple’s “I’m a Mac” campaign with their own “I’m a PC” campaign.  No points for originality there.  The ads were kind of OK.  My boss thought they were good, in fact.  But, ultimately, they were uninspired — designed to steal a meme and not driven by its own passion.  The ads have fizzled, and other than the launch of the campaign, have not been worth talking about.

Surprise! Bill G's a PC.

Surprise! Bill G's a PC.

Project Mohave - To me, this was a big joke and poorly executed.  In the tradition of the old Folgers commercials (we’ve secretly replaced “Fancy Restaurant’s” coffee with Folgers crystals — hey, I already said I was in my 30’s), Microsoft attempted to show us how they could fool people into thinking Vista was a great operating system.

Just check your Vista prejudice in at the door, step into a pristine Microsoft lab with Vista machines set up and monitored by Microsoft engineers and be amazed.  Yeah, ok.  By the way, after debuting as an Adobe Flash-based site, it’s now built on Microsoft Silverlight and has some TV commercials propping it up as well.

Would you believe it's Folgers?

Would you believe it's Folgers?

Microhoo - Luckily for Microsoft, Jerry Yang and the folks in charge at Yahoo were way too greedy to let Microsoft ruin itself for a mere $45 Billion.  Today, Yahoo’s market cap is hovering around $17 Billion, and Microsoft isn’t burdened with merging two clashing corporate identities, overlapping products, and countless other distractions.

microhoo_logo

Z2K9 – In what appears to be a hat-tip to 1999, and with a day left in the year, first-gen Zune 30 gig models around the world choked.  At midnight on Dec 31, the Microsoft mp3 players rebooted and could not get beyond the start-up sequence, rendering them useless.  As if things weren’t already bad enough in the perception department for the capable, yet mostly undesirable, music player — Zune owners had to put up with jabs from their smug iPod-owning friends.  Not a great way to end the year.

zune_z2k9

Hopefully, Microsoft realizes Apple’s “I’m a Mac” ads haven’t hurt Microsoft nearly as badly as Microsoft have hurt themselves.  They were in full control of the Vista story from the beginning when they chose to release 10 different versions (Ultimate Super-Duper Vista or Mid-Level Media Home Vista or…?), chose to put everyone through the Vista-Ready-Capable fiasco, and chose to force customers through an awful user experience.  Nearly two years later and with a Service Pack under it’s belt, Vista might be the most solid Windows OS ever…but they burned a lot of bridges.

For 2009, I expect Microsoft to do things right with Windows 7 — great coordination with hardware vendors, a solid OS, a pre-holiday release, and strong sales.  However, Microsoft will continue to struggle with being perceived as non-innovative, and they will continue to lose  ground to Apple and Linux.

#5: The Economy Hits Tech … the Layoffs Begin

2008_dow_jones

Big companies are feeling it and laying off:

  • Sony – 16,000
  • Western Digital – 2,500
  • AT&T – 12,000
  • Yahoo – 1,500
  • Sun Microsystems – 6,000
  • Motorola – 3,000
  • Ebay – 1,000
  • Dell – 8,900
  • Nokia – 600

…and several smaller, Web 2.0-ish teams have been affected as well:

  • Gawker Media
  • Mahalo
  • Pandora
  • Zillow
  • Break.com
  • Revision3
  • and others…

Whether all of this is due to the housing market, the war, greedy bankers, normal business cycles, mismanagement of the government at nearly all levels, all of the above, or none of the above — times are rough for tech.

Within the space of a few months, we’ve watched the economy collapse, the U.S. congress claw their way to an $800 billion bailout, the fed chairman snap his fingers to print another $800 billion bailout on top of that, and pessimism about the economy grow to an all-time high.  Not even Christmas could bail out the retailers, and lots of folks are holding their breath to see what the post-holiday season holds.

The standard line is that “things will get worse before they get better.”  And, I am in agreement.  In ‘09, I expect to see retail take a hard hit without any bail-out safety nets.  Nearly as soon as he takes office, there will be an Obama-flavored New Deal designed to get people back to work and staying in their homes.  The national debt will skyrocket.  But, with that said, I’m also optimistic about a turn-around in ‘09.  Perhaps not a full recovery, but a reversal of the pendulum.

So, there ya go.

Written by angelocoppola

January 5, 2009 at 6:20 pm

Posted in Business

AboutScrum.com Launched

leave a comment »

For videos, articles and other resources that are more directly related to Scrum software development, we have just launched a site called AboutScrum.com:

Visit AboutScrum.com 

Written by Hamid Shojaee

December 23, 2008 at 3:34 pm

Posted in Development

Tagged with

The Making of ‘SCRUM in 10 Minutes’ Video Tutorial

with 9 comments

If you have been following this blog, you already know that Axosoft is embracing SCRUM in a big way. We have adopted SCRUM into our own development efforts and we have also made it a top-priority to have full SCRUM support in OnTime 2009 (due out in Q1 of 2009 and currently in beta).

But as our own customer survey showed, even though SCRUM is the top agile development method, it is in use by only 12% of software development teams. So if SCRUM is so great, why is it not more widely adopted? There are several potential answers to that question:

  1. There isn’t a single good source of information on SCRUM.
  2. The few videos that do talk about SCRUM are either extremely long, obnoxious, boring or vague. In some cases, all of the above!
  3. SCRUM classes are expensive. A two-day class generally runs in the neighborhood of $1800.
  4. There is far too much talk and unnecessary debate about chickens, pigs and other minor details!
  5. The few sources of information that do exist generally push their own products, tools or services.

With that information in mind, I felt that the software community could use a brief crash-course that covers the core concepts of SCRUM without any product, tools or services being promoted to distract the viewer. So I set out to create a video that would introduce SCRUM in under 10 minutes. It turns out, this is not such an easy task.

The SCRUM Script

I started writing the script in a style that might be familiar to a lot of boring college professors:

A product backlog is a list of features…a sprint is like a milestone…blah blah blah

Even as I wrote the script, I thought the script was bad, but I wanted to get something on paper as a starting point. I then shared the script with one of my partners in crime, Angelo Coppola. He immediately blasted it. He ripped into it calling it “boring”, “vague” and “obnoxious.” Wait a second! Those descriptions sounded vaguely familiar. I already knew what Angelo was telling me: a total re-write had to be done. But before re-writing the script, I went to our conference room white board and I created a storyboard of what I wanted in the visuals:

Scrum in 10 Minutes Video Storyboard

As you can see, I was meant to be an artist! I must have missed my true calling somewhere along the line. With the new visuals in hand (or I should say in my iPhone), I went back to re-writing the script. I brought in Derek Harju, our resident flash artist at Axosoft, asking him to take my storyboard and bring it to life! Pretty easy, right?

In the new script, I decided to introduce concepts and visuals simultaneously. In a previous video I made on a political topic, the impact of bringing in visuals and words together at the same time seemed to work  well. So the script changed from a boring “a product backlog is blah blah blah…” to something like this:

In SCRUM you work with THESE [show a product backlog], which is then broken down into THESE [show a release backlog]…and so on.

This time, I felt the script was much stronger and Angelo agreed. So it was on to the visuals.

The SCRUM Visuals

Over the next several weeks, Derek went to work to bring the visuals to life. From the beginning, Derek’s work was great. Here are a couple of the earlier samples:

Scrum Visuals

The Team and a Product X Under Development

 

Scrum Visuals

Illustrating the Product Backlog

The early illustrations were good, but they weren’t great. So with each iteration of the visuals, we would make minor adjustments. I would say “the people are too flat” and Derek would make 3D people, Angelo would say “the box is ugly” and would photoshop a potential box. Then Derek would take it and run with it. Eventually, after countless meetings and having way too many dreams about how to illustrate SCRUM, we were finally down the right path. The end results became this:

Scrum Visuals

Illustrating that Feature Requests for a product can come from anywhere

 

Scrum Visuals

Illustrating the product owner’s involvement in the product backlog

 

Scrum Visuals

Showing how a release backlog is broken down into multiple sprints

 

scrumvisualv2-4

Showing a burndown chart with burndown velocity and due dates

 

Daily SCRUM

Daily SCRUM

 

Derek had done an amazing job with the visuals and animations. By now, Derek was probably having nightmares with my voice and the background music as he was listening to it for 8 hours a day! After he finished the visuals, I wasn’t happy with the script again. There were too many unfunny jokes and minor vocal mistakes in the recording. So I went back to GarageBand, which is an absolutely amazing product, to finalize the audio:

SCRUM audio recording

After a bunch of minor tweaks to the script and a few dozen more takes, the audio was finally done. I handed it over to Derek to finalize the Flash.

Making an HD Movie

To our pleasant surprise and complete amazement, a week before we finalized the SCRUM video, YouTube started hosting HD-quality videos at 1280 x 720 resolution. The HD Videos on YouTube were stunning and we wanted to be a part of it! The timing couldn’t have been better as the illustrations in our video look very bad at YouTube’s traditional 320 x 200 resolution. We had worked too hard on this video to let the fuzziness of low-quality video kill it, so we were extremely excited to host it in HD.

After getting the final video from Derek, there were still a couple of minor timing-related issues that Flash was throwing at us during the rendering process. iMovie to the rescue:

SCRUM Video iMovie

With less than 10 minutes of tweaking things in iMovie, the video that we had worked on for nearly 5 weeks was now complete. It was time to upload it to YouTube and wait for the HD quality video to show up.

SCRUM in 10 Minutes in HD

About 2 hours after uploading the video to YouTube, the HD version emerged and it was amazing. To have this video hosted in HD, something that would have been impossible just 1 week before, was an exciting feeling. Here is a link to the end result:

Learn SCRUM Video in HD

Click Here to Play SCRUM Tutorial Video

Within 2 days of the video being on YouTube, it had already risen to the #1 search result in YouTube for the word “SCRUM” and it has made all sorts of top “honors” lists in YouTube’s Science & Technology category. The reviews so far have been excellent and the feedback via email directly to me has been overwhelmingly positive.

So, there you have it…5 weeks of work by 3 people at Axosoft to make this video and not a single product or service promoted.

I hope you enjoy it and pass it on.

Written by Hamid Shojaee

December 15, 2008 at 8:00 am

OnTime V9: New Super Dashboard

leave a comment »

In OnTime V9, one of the most exciting features we are adding is a totally re-written customizable project dashboard that is extremely powerful and flexible.

OnTime Project Dashboard

The new dashboard features include:

  • Savable Dashboard Views – As you configure your project dashboard graphs, you can define the number of rows and columns on your dashboard and configure each graph or table that it contains.  Then, you can save the configuration as a view, which can be shared with other users or kept private. This feature makes it extremely easy for project managers to create one or two common dashboard views for their teams.
  • New Burn-Down Charts – The new project dashboard now supports burn-down charts. You can add any number of burn-down charts to your dashboard for any product, release or sprint. Burndown charts can be based on hours, days, weeks or even story points.

Burndown Chart

  • New Treemap Charts - The new treemap chart is a unique way of seeing the really big items in a given milestone, release, product or project. In a treemap graph, the size of each item is represented on the chart based on the estimated amount of work that is required for completion. The color of the item indicates how much of that work has already been completed.

Treemap Chart

  • New Chart Customization – Each of the charts in the project dashboard can now be filtered and grouped to show different types of information. So now you can view trend information or user workloads as a pie chart or bar chart. You can group by assignee, status, priority or other fields too.

Chart Customization

I simply can’t do the new project dashboard justice with this article. The best way to see the new project dashboard is to watch it in action in this Fear The Bug episode (our weekly OnTime series of Video Tutorials) that covers the new Work Log feature and the Project Dashboard coming in OnTime V9.0:

By the way, these features will be included in OnTime V9 Beta 2, which will be released in about a week.

Written by Hamid Shojaee

November 21, 2008 at 4:29 pm

OnTime V9 Beta: Release Management

with 7 comments

While OnTime has always been a great tool for tracking projects from inception to release, there has never been a built-in concept for managing specific products, releases and the milestones that go into those releases. Some teams have used the project hierarchy to manage releases, while others have used custom fields to track releases and milestones.

With V9, we are making release management exceptionally easy, and we’re differentiating it from the project hierarchy by introducing a new paradigm for OnTime:

  • Releases – The Release Management in OnTime allows for the creation of 3 types of [easily rename-able] release types:
    • Products – A product is the name of the product that has a release cycle. In OnTime, this special type also allows you to associate the product to one or more underlying projects so that OnTime can quickly show users a list of items that are associated with the product. For Scrum teams, this list of items would be the product backlog.
    • Releases – A release would be “V8″, “V8.1″, “2008″ or “Beta 1″.
    • Milestones – A milestone is an incremental checkpoint that teams use to keep themselves on track for a given release. Teams generally have 3 or 4 milestones (and often many more) before each release. For Scrum teams, Milestones are easily renamed to “Sprint” so that each release contains several Sprints.

To get an idea of what a set of releases might look like, take a look at the following screenshot:

Notice that the release hierarchy is a special type of hierarchy in the following ways:

  • Milestones are the atomic level release type and while technically we have allowed milestones to contain other milestones, we don’t recommend it.
  • Releases can contain other releases or milestones. In the screenshot above, you can see that “2008″ and “2009″ are defined as releases, but each of them contains other releases. Containing other releases is a great way to organize a group of related releases.
  • Product is the highest level release-type and can contain other products, releases or milestones. Generally speaking, we don’t expect products to contain other products unless they are part of a suite. To illustrate this, a product defined as “Microsoft Office” could logically contain other products named “Word”, “Excel” and so on. As a best practice, we expect products to always contain at least one or more releases.

By organizing items through this Product -> Release -> Milestone system, team members and project managers can quickly look at the items that pertain to a particular release or milestone for a given product. Visibility into a release is also vastly improved and since each release or milestone has a target completion date, the new Project Dashboard can be used to keep on top of how well work is progressing for a given release.

Important Concepts

There are some important concepts to understand with OnTime’s release management:

  • When you define a new product in the releases tab, the product can be associated with one or more projects from your projects hierarchy. This association is only for convenience, so that you can easily select a product and quickly find all the items that are associated with that product, allowing you to quickly assign those items to a given release or milestone.
  • Items can only be assigned to 1 product, release or milestone. However, as a best practice, we expect that items (such as defects, features and tasks) will only be assigned to a single Release or Milestone and not to a product.
  • To see all the items that are assigned to a given release or milestone, a user would simply click on that release or milestone.
  • To assign items to a given release or milestone, users will need to select the underlying product (or “All Releases” and from the list of items in the grid, select the items they want to associate to a release, then use the multi-edit menu to change the release. OnTime Windows users can also drag-and-drop items onto a release to change its release assignment.

Once you have created your Product -> Release -> Milestone hierarchy and assigned items to milestones, you will find that you have significantly improved the visibility into your project schedule.

Release Notes

As a result of the new release management system in OnTime, the commonly dreaded development activity of coming up with a list of “release notes” for a given release is nearly automated. Any user can simply select a release or even the underlying milestone to look at the items associated with that release or milestone. Running an automatically filtered report will also provide a PDF-Ready document that can be shipped as the release notes for a given release or milestone.

Release Management for Scrum Teams

If your team manages projects using Scrum, the first thing you’ll want to do is rename “Milestone” to “Sprint” using the Manage Release Types window (accessed from the Releases Toolbar):

You will then want to create a product the represents your product’s backlog list of items. Inside your product, you’ll have one or more releases, each of which will contain one or more sprints. When you create your sprints, pay special attention to the duration of a sprint as the duration will be used in Burndown charts:

To assign items to a sprint, you simply select the product which contains your entire backlog and assign items to the appropriate sprint using either drag-and-drop (Windows) or Multi-Edit menu (Web or Windows).

Summary

We believe Release Management (which includes milestones or sprints) is an exciting new feature of OnTime V9 and that it will help software development teams get better visibility into their projects. So take a look at this new feature and tell us what you think. We want to hear about how you like the new features of OnTime V9.

Written by Hamid Shojaee

October 29, 2008 at 8:00 am