Helping You Define Your Lifestyle

Quality Assurance in Agile Software Development

The approaches to and opinions about quality assurance in an agile software development are varied and contentious. Some teams would argue that there is no role for quality assurance in a properly run agile software development team. Others would push back and state that it’s impossible to guarantee quality without having dedicated quality assurance agile team members.

Quality assurance in agile software development can be considered a grey area. There is no definitive – do this, don’t do this, and always make sure this. Just like everything in agile, quality assurance and how it does or doesn’t happen is up to the team and company. But one thing is guaranteed – quality has to happen – it’s how this is achieved that makes the discussion about quality assurance a hot topic.

You don’t need to be told that you need people on your agile software development team who are responsible for ensuring a quality product. You don’t need to be reminded that agile tries to minimize processes and tools and focus on the individual. You don’t need to be told over and over again that done has many different meanings and applications.

There is no right or wrong way to succeed with quality assurance. It’s in the doing, adjusting, and calibrating that your team will find the right approach to quality assurance. It could be a variation of pair programming, a focus on test driven development, a complete focus on test automation, end-to-end testing, or a combination of the best of each approach.

Since we can’t tell you exactly what to do, we want to give you some ideas on how to use quality assurance within your software development team. Whether you’ve got a new team or are new to agile or are struggling with defining roles within your agile software development team, use this article as a conversation starter, jumping-off point, or blueprint of quality assurance ideas.

The Agile Manifesto and Quality Assurance

At first glance the principles of the Agile Manifesto appear to be in polar opposite of quality assurance methodologies. However, as with all things agile, the Agile Manifesto is open to interpretation.

  • Individuals and interactions over processes and tools. Team, team, team – this is the very essence of agile software development. When your quality assurance specialist are part of the agile software development team they can be involved, collaborating, and communicating – all with a focus on ensuring quality.
  • Working software over comprehensive documentation. Traditional waterfall quality assurance relies on heavily detailed test plans and documentation. In an agile team, this translates to the quality assurance experts spending their time doing testing and providing feedback, rather than writing test plans. Of course, there does need to be a way to track testing, but this can be done with one-line test scenarios, error checklists, risk-based testing, exploratory testing sessions, or user stories with integrated test markers.
  • Customer collaboration over contract negotiation. In an agile quality assurance team, the focus is 100% on the customer – both external and internal customers. Often times because the quality assurance expert knows the product better than anyone else on the team, this person becomes an advocate for the customer. Think of the quality assurance team as a customer and you’ll get some real insight into the software quality.
  • Responding to change over following a plan. Change can be hard for anyone on an agile team, but with a well-organized approach to quality assurance, change is welcomed and encouraged. After all, it’s through quality assurance that areas for improvement are identified, blockers are found, and in some cases the need for a complete redesign – all of which drive change in the product, iteration, and company.

There is a reason why the Agile Manifesto remains relevant – it is the foundation for how agile companies think, respond, communicate, and thrive. The key is in making sure that there is flexibility in how these guide posts are interpreted and applied. There is nothing absolute or rigid in the Agile Manifesto, making it an ideal springboard for thinking about how quality assurance fits into your agile software development approach.

Four Ways to Integrate Quality Assurance in Agile Software Development

Your team is asking for advice on how to improve the role of the quality assurance team. Your managers are asking why you need to hire more quality assurance staff. You want to make sure that quality is still the focus and driving principle of your entire agile software team.

Sometimes it takes knowing how to do quality assurance better – the following four points can serve as a way to get your team thinking about how quality assurance can and should be integrated.

  1. Understand agile software development. As we highlighted above, team is integral to agile success. Make sure your entire team understands agile software development – the intentions, foundation, and guiding values. Knowing this helps keep the focus on the team, communication, and quality.
  2. Remember to collaborate. In waterfall, testing and quality assurance happens at the end of the development cycle. The opposite is the case with agile software development, quality assurance can happen concurrently and from the very beginning when requirements and user stories are defined. Keep your developers and quality assurance people working together to support communication and collaboration.
  3. Flexibility to different approaches. All too often teams get stuck in doing development and testing with one prescribed methodology. Agile software development is designed to allow for more – support your quality assurance team in being involved from the beginning, in testing features before they’re code complete, getting quality assurance involved in UX reviews, and in any other area. Be flexible in how you think of the role of quality assurance in your team.
  4. Nothing is perfect. You’re not going to get it right every time. Just because the last iteration was a success, doesn’t mean this one will be. Just because pair programming helped eliminate defects on another project, doesn’t mean the same will happen for your project. Remember, to be open and ready for change, challenges, and rooms to improve. Learn to look for the root causes rather than focusing on the obvious glaring problems.

Successful agile software development is a journey. There are twist and turns, missteps, and second chances. Don’t get caught up in getting things done perfectly – people are going to react differently to change, people won’t want to try pair programming or end-to-end testing, people won’t want to collaborate freely – this is all part of figuring out how to make agile work for your team.

It is important through-out the discussions on how quality assurance fits into your agile software development team that you remember that the customer and quality must be the focus. How you get there is up to you – just make sure you’re doing it in the way that is best for your team, your customers, and your organization’s goals.

Leave a Reply

Your email address will not be published. Required fields are marked *

Can You Predict Ovulation?

If you’re trying to get pregnant, then this question has to be at the forefront of your mind. You can only conceive during your ‘fertile window’ – a period of a few days in each cycle anchored in place by when you ovulate.

For conception to occur, active sperm have to encounter a fertile egg (usually in the fallopian tubes, sometimes in the uterus), which means that you opportunity to get pregnant each month is dictated by how long both sperm and egg can survive! As healthy sperm can survive in the body for four to five days, and an egg remains fertile for between twelve and twenty four hours, this gives you a period of four to five days in each menstrual cycle when you can get pregnant.

Predicting this window of time is really important, especially if you have a plan for the ideal time you want to get pregnant and give birth. It’s absolutely vital if you’re trying to counter the fertility effects of conditions like Polycystic Ovary Syndrome, which makes ovulation rarer and less regular – identifying and anticipating that key moment is the key tool you have available to help you get pregnant.

Is there an answer, though? Plenty of products promise to be an ovulation predictor but do they work?

Ovulation Calculators

These are perhaps the most convenient, lowest effort solution available, which makes them inherently attractive to some. All you need to do is enter the date your last period started, and the length of your menstrual cycle, and it can place where you are in yours, and tell you when you’re due to menstruate.

These work well – for women with extremely regular cycles. If yours works like clockwork every month, this is a good option, but even then tools like this simply can’t pick up health issues that might cause a disruption to your cycle.

Ovulation Predictor Kits

Known as OPKs, these kits work like pregnancy test: they check your urine for a spike in a particular hormone, the Luteinising Hormone that prompts your ovaries to release an egg, in this case. If the test detects you’re experiencing a surge in this hormone it tells you’re ovulating!

The weakness of these tests is that they’re not good at picking up results if you have a disrupted hormonal background – if you have a naturally low surge of LH it may never pick it up even if you ovulate regularly!

Basal Body Temperature

This is one of the best measures, with real predictive power: your basal body temperature (the minimum it sinks to while you sleep) responds to your menstrual cycle, so taking your temperature with an accurate digital thermometer can predict when you’re due to be at your most fertile.

It can be hard work to get good readings, but with specialised products available to take some of the pain out of taking readings and turning data into predictions, it’s the best option for the majority of people!

Could You Be the Next Crime Victim?

Being a victim of crime is something no one wants to be a part of.

That said are you doing everything within your power to lower the chances of being the next victim? If you are not, you could be setting yourself up for trouble.

With that in mind, what steps can you take to steer clear of being a crime victim?

Don’t Think It Can’t Happen to You

In your quest to steer clear of ending up a victim, your first step should be to understand that it can happen to anyone.

That said you want to avoid having the notion that you are immune to it. Even when you think you’ve taken all the right steps to avoid crime, it can still surprise you.

Among some of the crimes and how you can avoid them:

1. Identity theft – One of the more troublesome crimes, identity theft can strike at any time. With that being the case, you want to have an identity protection plan backing you up. Whether you look into LifeLock identity protection service or another brand, protect yourself. Such coverage will alert you to any red flags as you look to protect your finances. The most notable is someone without authority has tried to access your finances. Remember, one successful identity theft caper can have dire consequences for your finances.

2. Property theft – No matter the items involved, property theft is another crime you want to be aware of. With that in mind, you should make sure all your property has protection at all times. An example of this would be your vehicle. Are you someone who leaves their vehicle unlocked all or most of the times? If so, you are asking for trouble. Even if you lock your car or truck on a regular basis, do not leave valuables in it. Items like laptops, phones and significant money should never be in your vehicle. If you need to leave something of value in your vehicle for only a brief period of time, lock it in the trunk. At least this way it is out of the public view should someone come upon your vehicle.

3. Home invasion – Another crime to stay on top of would be a homeinvasion. In such a scenario, a criminal would break into your home whether you are there or not at the time. If you are, things could be even worse. To best protect your home, having a security system in place is a good start. If you do not have one now, go online and see which companies offer the best systems. You can check with friends to see which home security systems they recommend. Even with a security system in place, use some commonsense too. This means not leaving doors unlocked to start with. If you are going to be away for any extended period of time, be sure to have your mail/newspapers picked up. Also make sure your grass is trimmed and any snow is shoveled. Never give off signs that your home is sitting there without you around.

In your efforts to avoid being a crime victim, will you come out on top?