April 24, 2016

Finding the Truth Behind Minimum Viable Products

When we start off building a new feature or product, there are a million questions to answer. “Is this solving the customer’s problem? Does this problem really exist? What does the user expect to gain with the end result?” We have to find the answers to these questions before committing ourselves to building a solution. This is why starting with a minimum feature set is dangerous. When you jump into building a version one of a new product or feature you forget to learn. Experimenting helps you discover your customer’s problems and the appropriate solutions for them by answering these questions. It also doesn’t end with just one experiment. You should have multiple follow-ups that keep answering questions. The more you answer before committing yourself to the final solution, the less uncertainty there is around whether users will want or use it.

This finance trend is so hot even Amazon wants in

This would be a logical progression for Amazon, which already has a significant and active user base. Amazon has been experiencing increased growth tied to payments, as its payments unit has 23 million active users and has recorded 200% year-over-year growth in merchants adding the "Pay with Amazon" buy button to their online stores. There is also precedent for Amazon to make such a move. Chinese e-commerce giant Alipay has more than 450 million monthly active users and has more than 50% of the online payments market in China. So Amazon could be on the path to building up a similar type of momentum with its own customers. Fintech acquisitions would also make Amazon more competitive with other checkout services such as Apple Pay and Visa Checkout.

Intel Pivots From PCs to Cloud

"The data center and Internet of Things businesses are now Intel's primary growth engines, and combined with memory and FPGAs, form and fuel a virtuous cycle of growth," CEO Brian Krzanich said. "Together these businesses delivered $2.2 billion in revenue growth last year, made up 40 percent of our revenue and the majority of our operating profit." Details of the cuts will be announced in the weeks, he said, adding that the restructuring was not something he took lightly. Krzanich has been focused on making this transitional move since he became CEO three years ago. The restructuring announcement was made alongside Intel's first-quarter earnings report.

Bitcoin and Blockchain Have Their Own Futures

Gil Luria, in response to the question by Bloomberg’s Joe Weisenthal and Scarlet Fu about blockchain technology, clarifies the difference between bitcoin and its underlying technology. Blockchain is superseding bitcoin when it comes to investments made by big banks and investment firms. Many banking and financial institutions have already invested their time and resources in the development of a private blockchain network for their regular operations. While bitcoin is used for payment applications, blockchain is used for an entirely different range of applications. According to him, blockchain is a vast tool suitable for asset classes while bitcoin serves a much simpler purpose of making payments and executing simple banking functions.

7 Test Automation Requirements for Higher Software Quality

For unit testing, there are many testing frameworks developers use to ensure that their code does not break. JUnit in Java and Karma in JavaScript are some examples that most organized development teams should already be using. As for larger-scale integration tests, scripts are usually created to simplify tasks that would be too tedious to perform manually. However, creating these automated tests is often time-consuming and not cost-effective, especially if the environment requires many components and environmental configurations to be observed and coordinated. Automated regression testing, which largely relies on the user interface, is very effective, and many QA professionals are achieving excellent results with programmatic approaches such as APIs and service virtualization testing.

Man vs. Tool? On the Role of Software Tools and Human Experts in SQA Activities

There are several tasks that can only be performed by human experts and not by software tools (such as ‘Define relevant quality aspects/ scope of analysis/ quality goals’ or ‘Configure/ customize/ administrate software tools’). Furthermore, there are several tasks that have to be completed jointly by software tools and human experts because each contributes a subpart of the overall task (for example ‘Analyze software quality’ or ‘Perform tests’). Hence, we conclude that a combination of software tools and human expertise should be used in software quality activities (‘man and tool’ instead of ‘man vs. tool’). Only the combination of both gives a holistic picture of software quality and only human commitment ensures software quality and its improvement.

Reasoning About Software Quality Attributes

Just as general scenarios provide a template for specifying quality attribute requirements, quality attribute design primitives are templates for "chunks" of architectural designs that target the achievement of specific quality attribute goals. Attribute primitives provide building blocks for constructing architectures. However, they are building blocks with a focus on achieving quality attribute goals such as performance, reliability and modifiability goals. Quality attribute design primitives will be codified in a manner that illustrates how they contribute to the achievement of quality attributes. Therefore each attribute primitive will be described not only in terms of their constituent components and connectors, but also in terms of the qualitative and/or quantitative models that can be used to argue how they affect quality attributes.

A Code Quality Problem in Washington State Puts Dangerous Criminals Back on the Street

A defect in the software used to calculate early release resulted in good behavior credits being applied to inmates. These inmates were not supposed to receive the credits and as a result were allowed out early. The issue was flagged more than three years ago when a family was notified about the early release of a dangerous perpetrator. Nick went on to explain that the family calculated the date themselves and contacted the department about the miscalculation. After the software defect was noticed in 2012, the issue remained in tact because the department did not take measures to fix the problem. The issue was brought to the governor’s attention in December of 2015, who immediately began working to resolve the issue.

11 Myths About Software Qualification and Certification

With software taking on an ever-greater role in embedded systems, companies are realizing that “quality code” requires more than just the developer’s claim. Even for systems that don’t require formal certification for functional safety or security, software qualification is becoming more common. After all, who really wants to risk expensive field support, product recalls, or even legal action if software fails? Still, at least 11 myths continue to circulate about software qualification and certification.

Characteristics of a Great Scrum Team

According to the Scrum Guide the Scrum Master is responsible for ensuring Scrum is understood and enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules. The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team. The role of a Scrum Master is one of many stances and diversity. A great Scrum Master is aware of them and knows when and how to apply them, depending on situation and context. Everything with the purpose of helping people understand and apply the Scrum framework better.

Quote for the day:

"The value of a company is the sum of the problems you solve." -- Daniel Ek