A report cited in the book found that software developers in the 1990s routinely missed ship dates and deadlines. The pressure to reduce costs and keep up with the demands of a rapidly changing market is now dependent on faster software development. With growth and competition in commercial software development came new technology that changed software forever. The new graphical user interface (GUI), networked personal computers, and the client-server architecture demanded new development and testing tools.
The promise of automation, touted by optimistic economists and sanguine futurists, has been that yielding work to machines would eliminate the drudgery of mindless, repetitive labor, freeing humans to fill our days with leisure, creative pursuits, or more dynamic work. In 1930, John Maynard Keynes famously speculated that “automatic machinery and the methods of mass production” would help deliver a 15-hour workweek—and even those hours would only be necessary to help men feel they had something to do.
Developers can use unit test frameworks such as xUnit or Microsoft's Visual Studio Unit Testing Framework to create automated tests for small units of code. Some agile teams use test-driven development, a technique in which you write the unit test before the code to help drive code design. Some developers write the code first, but don't consider the code complete until they've developed an associated automated unit test. You can assess whether each code path has been tested with test a coverage tool such as DotCover.
The ROI on automation tests varies depending on several factors. Some tests are difficult to develop because of technology constraints. For example, testing frameworks may not support test cases that run across several browser sessions or across different devices. Other tests may not need to be run frequently. For example, it might be more cost-effective to occasionally and manually test a use case for a rarely used feature, rather than invest the time to develop and maintain an automated test that runs after each nightly build. Each organization will make its considerations according to its own priorities, but it's always important to consider the ROI you'll get by automating your tests.
This is my second favorite, because it's huge on micros which I've become a really big fan of recently. I'm really trying to focus on my overall health and not just about macros so I've been working on getting all of my essential amino acids, vitamins and minerals and it's fun to watch that tick up as the days progress. You might realize that you are overloading in one area with vitamins but not getting any of the others so it helps you to add variety.
Some coders say that they’ve been fired outright for automating their work. In 2011, a user posting as AcceptableLosses wrote, “They took what I had developed, replaced me with an idiot that they showed how to work it, and promptly fired me for ‘insubordination.’ I had taken a business asset that was making them $30 grand a year profit and turned it into a million dollar a year program for the company, and they fired me for it to save ~30 grand a year on my salary. Job creators my ass.” As such, gainfully employed self-automators’ concerns are less likely rooted in ethical questions and more in not wanting to be fired or exploited by an employer that, as Woodcock notes, “expects not only all our time, but anything we create.” Wary self-automators, he speculates, “don’t trust our workplaces. The boss is going to say, ‘Thank you, good work. Now do it again.’”
As mentioned already, it will be my self and Mark making this happen. We have independently developed similar thinking with regard to automation, but more importantly, the same with testing. We’ve been working together for a number of years so this is a great progression for us. We both have strong reputations in this space and I believe our views are respected by the community.
When it comes to business process automation efforts, our experts from around the web give several recommendations for how to get started. Some say that the projects are only successful if you initially approach them from the position of the desired outcome. Others recommend automating first, then figuring out the processes. Some claim that a full map and model of your processes are required prior to any automation. Experts also extol the virtue of having your business leaders on board, even as part of the team. Finally, they emphasize that you should improve all your processes (not just the automated ones) to maximize usefulness. In other words, garbage in, garbage out.
Home automation may seem like a sci-fi fantasy, but advancements in technology now allow us to harness some of the benefits of automation for use in our own homes today. Home automation allows us to make our lives simpler and more efficient, whether that means programming the lights to turn on or off at certain times or setting the temperature of the house to self-adjust depending on who is at home.
A business process management system is quite different from BPA. However, it is possible to build automation on the back of a BPM implementation. The actual tools to achieve this vary, from writing custom application code to using specialist BPA tools. The advantages and disadvantages of this approach are inextricably linked – the BPM implementation provides an architecture for all processes in the business to be mapped, but this in itself delays the automation of individual processes and so benefits may be lost in the meantime.