What Fireworks Are In Your Application?
What Fireworks Are In Your Application?
Turns out there are parallels with 4th of July fireworks and application design, as presented by this Zone Leader.
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
With the annual Independence Day celebration approaching in the United States (sorry United Kingdom readers), the number of marketplaces offering fireworks here explodes (sorry, bad pun) in volume compared to the normal for any other time of the year. At this time of year, there is an increased frequency of those including a fireworks show in order to drive attendance to various events.
While driving yesterday afternoon, a radio commercial mentioned the Friday Night Fireworks show as a conclusion to a Cincinnati Reds professional baseball game being held about two hours from my home. The intent is to steer people towards using their entertainment dollars to attend the baseball game and receive a free fireworks show after the game concludes.
From there, my mind began to think about the time and effort involved with creation of a post-game fireworks show.
About Real Fireworks
My friend and former neighbor, Justin, is known for hosting his own Independence Day fireworks celebration each year. Months prior, he would get into his pickup truck and make a somewhat long drive to his fireworks distributor to acquire the products for his annual tradition. Later that day, he would return with the bed of his pickup truck filled with his fireworks purchase for the season. Justin is a thinker and a planner, making sure all the aspects of his fireworks show are organized — from both a safety and entertainment perspective.
I began to question if the common person attending a fireworks show actually notices the difference between various other fireworks exhibitions. While I think I am a detail-oriented person, when it comes to fireworks I don't think my mind truly processes them beyond something entertaining to watch.
Sure, there will be effects that are new to me, but I rarely remember the new items that were part of a prior show. I pretty much have the expectation to see something blow up in the sky — yielding a cool sound and/or color.
About Fireworks In Your Application
As developers, designers and architects, we live to serve our customers. The creative side in all of us wants to not only meet the needs of the customer, but to provide something that is our best effort along the way. Often, that means introducing just a little more to make the delivered feature even better than expected. This is similar to Justin opting to utilize Firework A over Firework B, which might boom a little louder, explode into the sky a little brighter...or both.
The problem is, the customer isn't looking for that extra something. This is similar to me not having the ability to recognize the difference between Firework A over Firework B.
The customer has a need that needs to be met and the additional costs required for the Agile team to make it a little better, nicer or exciting is really a waste of valuable time. This could be easier seen with the fireworks metaphor, where my friend Justin might end up spending 25% more to purchase the next level of fireworks only to realize there is a 0% gain in benefit from his viewers. Of course, I am not considering Justin's factor in wanting to see the more expensive firework — but I think you get my point.
On the fireworks example, certainly, providers serving a major city or event's fireworks are not on the same playing field (sorry, another bad pun) as my friend Justin. In this case, the fireworks provider is most likely trying to maintain the client for future events. So, it is important to continue to deliver next-gen firework effects. This would be similar to one provider, like Gmail, continuing to deliver features above the expected functionality. In this case, there are requirements to be on the leading edge.
More often than not, the customer whose needs are being met has defined requirements and expectations. When building functionality to meet those needs, we must stay focused on meeting the stated needs and avoid adding any new functionality. Otherwise, the Agile team will end up spending more time (and money) which could be utilized on other features in the backlog.
In short, it is okay to have fireworks in your applications, just remember to stay within your budget.
Have a really great day!
Opinions expressed by DZone contributors are their own.