Home » The IT Shop

How to Score in Softwareball?

20 June 2010 No Comment
Globe Staff Photo / Stan Grossfeld

Globe Staff Photo / Stan Grossfeld

The way to win at softwareball is to produce a high quality deliverable which meets the business objectives without exhausting resources of time, money, and the trust and patience of the people involved.  Points are scored by the meeting of specific objectives of business functionality, schedule, and budget but it is the sum of successes across the broad range of possible wins which constitute a victory.  

Points Fouls
Fulfill Business Needs and Objectives Failures to meet Business Needs and Objectives
Under Budget Over Budget
On Schedule Over Schedule
High Quality Software Low  Quality Software
High Morale Low Morale
High Trust Low Trust
Low Turnover of talent High Turnover of talent

The primary measure of softwareball success is the meeting of a business need.  If a team isn’t consistently communicative, identifying and maintaining the clarity of that need can play out like a game of “Telephone”, where signals are crossed and the meaning of the business need is lost.  The stakeholders and users must perceive that their original requests were granted.  It doesn’t matter if the developers, the testers, or even the project manager think that requirements were met if the users and stakeholder don’t agree.  Here is where communication documents such as requirements and specifications come into play and why QA and testing are necessary to complete the loop.  If the reqs and specs reflect the stakeholders and users needs accurately, the testers are checking if the user wish list was fulfilled effectively and accurately.

The business holy trinity of software success includes the requirements, schedule, and budget.  Place demands on any one of these three, and the others feel the pinch.  Remember the old adage, “Good, Fast, and Cheap:  Pick any two?”  A well-managed project will involve a nuanced approach to these metrics and resources.  Prioritization turns out to be the most important skill in business software success.  Any stakeholder would like to “do it all” but the effective team deftly answers the questions, “What is most important to achieve?”,  “On what should the team spend it’s valuable time?”,  “What is the most efficient and effective use of funds on this project?”

The technical win, software quality, has long-term wide-reaching effects such as usability, maintainability, and total cost of ownership.  Much more than just pleasing the perfectionist techies, the technical integrity of the product translates into tangible benefits for the entire company.    Robust software takes less time and effort to maintain.  Scalable architectures are cheaper and easier to grow with the business.   Properly coupled architectures permit efficient and cost-effective large-scale changes to the product.  A careful balance must be struck between business points and technical points.  An impressive-looking product with lots of features can be disqualified by a weak and buggy architecture.

People points or intangible metrics include morale, trust, and turnover.  People points are surprisingly important in a good game of softwareball.  Low morale and high turnover are the casualties of an imbalanced or poorly-managed game.  Delivery at any cost eventually costs an organization it’s best assets – it’s people.  That’s a good way to win the game and lose the series.

This is a simplified scoring system for a complicated game.  In real life the score is never clear.  Politics at any level can create points that don’t exist and hide points that do.  Real project teams are seldom balanced entities with clear roles and resources.  Requirements can be interpreted differently by different people.  Schedules and budgets are often surreal, multi-dimensional constructs that adhere to rules in science fiction stories rather than following sensible, practical paths.  Ultimately, scoring a softwareball game is an art rather than a science.  Market forces can intercede bring a project to an untimely end, even if the players were all at the top of their game.  This is why it’s important for a team to agree upon and understand it’s own measure of success.

Comments are closed.