Automation is pretty much mod, isn't it? But should I automate only because of that reason? Sure not. The main criterion that should affect your decision is so called ROI. That means "Return On Investments". Actually different people give different definition of what it does mean. Anyway that is either [gain from investments - cost of investments]/[cost of investments] or [Gain from investments]/[cost of investments]. Depending on what definition we accept we work out the formal condition to define whether the decision is well-grounded.
Let's accept the second definition, so it is pretty much obvious that the condition is ROI>1. But what we should consider to be the ROI's parts. What is the gain and what is the cost?
Gain: The main gain's component is the time saving on manual testing reduction. That's why we may talk about some ROI only within some time bounds. So let's assume that the manual execution of set of required tests consumes N hours which are priced as $n/hour. Let's also assume that to develop the tests we should invest M hours of developers time that is priced as $m/hours. So, starting from the month the test have been implemented we should maintain them until the validity won't expire which will cost us $k/month. Thus the expression will look like:
ROI = [n*N]/[m*M+k*[ValidityPeriodInYears]*12]
Of course the usual expression is much more complicated as the real development process has lots of constraints and dependencies and moreover when we calculate some financial long-term flows we should consider discounting the future prices to the present values.
However the guideline is given. So, take a dare!
No comments:
Post a Comment