Archive for the ‘Quality Assurance’ Category
One of the biggest criticisms about testers and QA organizations is that they do not understand the business or the end-user. If you believe this to be true, it sends a clear message about not having a value-adding testing team of professionals. The more you know about the ultimate customer or end-user, the more you will become an effective, risked-based tester.
When I led QA teams in the past, I made “knowing your customer” a major performance criteria for my staff. To ensure this, I arranged field trips with business development to customer sites and had the testing team view how and why the end-users actually used the system or application. Upon returning from these field trips, the QA team started to modify how it approached end-to-end and user acceptance tests. It was so beneficial that the number of critical end-user defects dropped by more than 20 percent in a very short period of time.
You’ve been working with a group of stakeholders to forge consensus on a project issue. Some want exactly what others don’t want, some refuse to reveal their private agendas, and some seem to change their goals almost at random. At times, you’ve felt that the group was close to agreement, only to be disrupted when someone on high changed the external constraints.
It’s been a little frustrating.
Work life sometimes delivers disappointments, often in the form of No. Some of us have difficulty hearing No or dealing with it once we do hear it. And, sometimes, No arrives so frequently that we exhaust our ability to cope with it.
Let’s define the smart grid as the infrastructure and technologies that enable integration of the consumer and distributed resources (generation, renewables, storage, demand response, load control) with the operation of the entire grid and electricity markets, while also improving the reliability and Security of the overall electric service. The biggest gap is the lack of inexpensive, standardized, and ubiquitous communications that deliver bandwidth, extreme reliability, and security for both control and management applications as well as basic information management and sharing applications. This broadband communications infrastructure does not need to be one technology, but it needs to extend all the way from central control systems to end-user devices.
We asked what looks to have been a pretty contentious question – what’s the role of managers in software development? – and we got some pretty contentious answers, which are well worth a look in their entirety. The conclusion: a lot of managers are crap. But – and it’s a big but – they don’t have to be, if they get certain basics in place.
Here are your very own top five golden rules, compiled from your comments, which managers can employ to build trust and get the best out of developers. These rules may seem like common sense, but we know from the feedback that they are as frequent as a night bus.
1. Protect the team from unnecessary distractions: A manager’s job is to help the developers to work as productively as possible towards logical and achievable project goals by protecting the team. He must also earn the team’s respect by fighting heroically for them against the boneheaded stupidity to be found in swampy stagnant meeting rooms across Britain.
It seems obvious that automation will affect the test organization. Less obvious—but no less real—is that it will also affect the development organization. In fact, when you choose to automate the testing for an application, your relationship with development changes completely.
Think about it. Manual testers only have to be able to interact with the application using the screen, keyboard, and mouse or other device. Automated test tools, on the other hand, have to interact with the software at a deeper level, thus exposing the inner workings of the code and perhaps uncovering problems that prevent or complicate automation. If you’re not careful, developers might think you have suddenly transformed into an interfering busybody who is sticking your nose into their business.
This shift in your relationship with development can be handled in a bad way or a good way.
It’s been said for every measure, there’s a countermeasure, and that’s also true for securing code in embedded systems. Sometimes a small device can be just the countermeasure needed to thwart cloning of flash contents.
Many systems use external standard flash memory chip(s) to store the operating program for processors that do not include embedded nonvolatile program storage. This is great because it allows easy flash memory expansion and software modification, perhaps in the manufacturing line as a customer download or during a maintenance operation. The downside is that the OEM loses control over the contents of the flash, potentially allowing unauthorized copies or modification.
We have developed the ‘8 commandments’ below as a guide for ensuring you select a unit testing solution that is right for your development.
1. Thou shalt not waste time on the learning curve
When choosing a unit testing solution, you will want one that will require minimal time for implementation. It may be worthwhile to time a new developer within your team with the framework to get an accurate idea of how long it takes to get started. For example – how long will it take them to write the first three tests for some class in your system? Is the API clear and simple? Is there a single point of entry in the API? Is there clear guidance on what to do at each step of the way? How often, if at all, do you need to check the docs and tutorials? How easy is it to look for the next step when you’re not sure what to do? Some tools offer guidance within the IDE, while some provide extensive help. Some don’t do either.
A good idea is a valuable asset, and a lot of good ideas can be like a treasure trove. But what do you do with those ideas? Many ideas wither, not because they are bad ideas, but because of clumsy presentation. Most nascent ideas stand a better chance if you remember these four things:
1. It’s not about you.
Most of the time, people pursue a new idea because they can see how it will help them. Don’t just tell them why you think your idea is a good one. See the world from their point of view, and frame the idea in terms of what matters to them. If your manager cares only about cost, then talking about quality, speed, reuse, or elegance won’t convince him to try your idea. Connect your idea with what’s important to the people you are hoping to influence.
2. It is about who you know.
Bringing your ideas to fruition is a social process. You will need the aid and interest of others to make your idea reality.
By best estimates, the software development effort behind 90 nm chip designs has already surpassed the hardware development effort. The projection for 2011 is that less than 40 percent of the overall chip development cost will be spent on hardware. Software now dominates project cycles and determines when a chip can get into volume production. As a result, the importance of software verification has increased, and software has taken on an integral role in the hardware verification process.