Agile Pitfall #3: Agile Team Silos

agile team silosAgile software development is great and it has some tremendous benefits.  However, with any software development process, there are some potential pitfalls.  After leading agile teams for a few years now, I we have learned the hard way along the way, and here are some agile pitfalls we have encountered:

 

 

 

Agile Pitfall #1: Lack of Integrated Software Testing

Agile Pitfall #2: Too Much Technical Debt

Agile Pitfall #3: Agile Team Silos

Agile Pitfall #4: Too Focused on Agile Team Roles

Agile Pitfall #5: Folks, It Isn’t All About Velocity!

Let’s face it, in most enterprise level software organizations, if you are practicing agile, the agile team that is developing a specific product is going to be focused on one thing: the outcome of the product they are developing.  While there is nothing inherently wrong with that, there is a dangerous pitfall that can affect the whole organization.  The agile team can become a single silo.  I have seen it first hand, and I know it happens more often that agile experts would like to admit it.  Each agile team has pride in the product they are developing.  They want to be the best team that produces the highest software product.  Sometimes the team can put on blinders and be so focused on meeting their sprint milestones, that they will completely forget about how their product integrates with other products and what the downstream impacts are.  Some teams can even become selfish and demanding toward other product teams and expect teams to do things which are not inherently their responsibility.  Agile software development at the enterprise level often creates these silos.  Contests between teams such as awards given out for the best team, can arbitrarily create silos, and thus driving perception that agile teams can be self sufficient and they don’t require collaboration between teams.  This is really dangerous.  It is important to have an enterprise level view, and keep the big picture in mind.  Agile teams work for one company, so that always needs to be the focal point so that the company will be successful.  The companies that avoid pitfall #3: agile team silos and keep the company in mind, will be the most successful.

Agile Pitfall #2: Too Much Technical Debt

agile technical debtLet’s face it, Agile has some tremendous benefits.  If you are practicing agile at your company, you know that firsthand.  Agile also has some pitfalls that can be extremely deadly if they are not addressed properly.  Most of us have learned how to avoid them by implementing costly mistakes.

 

 

 

Agile Pitfall #1: Lack of Integrated Software Testing

Agile Pitfall #2: Too Much Technical Debt

Agile Pitfall #3: Agile Team Silos

Agile Pitfall #4: Too Focused on Agile Team Roles

Agile Pitfall #5: Folks, It Isn’t All About Velocity!

Sure there are other things that agile has issues with, but we will cover those in subsequent agile posts.

Using the agile methodology, software can be developed very quickly, in fact, business needs demand it is produced as quick as possible.  While there is nothing inherently wrong with that, it is important to develop it efficiently.  Agile teams want to build the best designed and highest quality product possible.  However, that isn’t always what happens.  My team has recently been involved in leveraging a COTS product called Globalscape to consolidate all our B2B file transfer systems into a single solution.  In fact, our company was acquired, so between both legacy companies we had four solutions which were being used.  We selected Globalscape, but the product was brand new to our team.  We didn’t have extensive experience but were driven to move off the other systems.  We made the best decisions that we knew at the time, but looking back, there were some things that if we had better information and experience with the product, we would have certainly done differently.  Naturally, we accumulated technical debt, and we created stories in our backlog to handle those.  In certain sprints, we had to put more technical stories in place to implement the necessary changes.  While our business partners weren’t thrilled, they understood those needed to be done.

In some situations, you can address technical debt issues as you are addressing stories in the backlog.  For example, with our file transfer product, we created a generic function to address how email notifications were delivered, which was much more efficient.  While we were moving other B2B files into the new platform, we would go ahead and make those changes, so that we would not have to revert and make those technical debt changes later.

It is also a good idea to keep 5 to 10 percent of your sprint capacity available to handle technical debt issues.  If you have one story per sprint handling technical debt, then it will make it a lot easier in not having to deal with too much technical debt later.

Hopefully this real world example will help you avoid Agile Pitfall #2: Too Much Technical Debt!

Agile Pitfall #1:Lack of Agile Integrated Software Testing

agile integrated software testing

 

 

Most companies are using the agile software development approach in building great software.  While agile has significant benefits, there are some dangerous pitfalls.

Agile Pitfall #1: agile has a lack of integrated software testing

Agile Pitfall #2: Too Much Technical Debt

Agile Pitfall #3: Agile Team Silos

Agile Pitfall #4: Too Focused on Agile Roles

Lack of integrated software testing is especially dangerous when companies have multiple products and are running multiple agile teams.  The agile teams are often heads down and focused on their product only, and don’t have the time, energy or effort to understand how the systems interact with each other and what potential pitfalls are downstream.  Most systems have dependencies with each other in terms of data or interfaces.  Product teams today have subject matter development and testing experience, but may not understand other systems and how those interactions.  If there are understood impacts, the responsibility usually is handed over to the team who is responsible for that product.  It usually occurs with little to no planning, and typically little warning is done in advance.  Something to the effect of: “hey can you perform some regression test this feature real quick and make sure it works, and provide me a sign-off before the end of the day since we are releasing into production tomorrow?”  If you are in testing and a part of an agile team you understand that agile has a lack of integrated software testing.

Agile software development works great for the most part, but there are some pitfalls that will happen.  Agile works well with a single product because there is essentially no integration points, however, most enterprise systems are going to have integrations with either other internal applications or third party applications.  It is not sufficient enough to assume that is it is the responsibility of another product or team to ensure the quality is going to work from an end to end perspective.  You certainly don’t want to have your business partners or end customers find out that something does not work properly.

I currently manage an agile team and my direction to them is to get the necessary access to all the interfacing systems and run the test to make sure it works properly.  Our application is the upstream system, so if something goes wrong, we will be the group that will be held accountable, regardless if it is our system.  Sure, it takes additional time and effort to perform that testing, but as long as we account for the work in the sprint, we are covered.  I would much prefer to test it ourselves and be sure rather than suffer the consequences.

I encourage you to eliminate agile pitfall #1: agile has a lack of integrated software testing.  If you can avoid this pitfall, you and your agile team will be successful!

Get Great Agile Testing Online Training Here

If you are looking for some Great Agile Online Training, I have found a course on Coursera that will really help you.  As you know, it is important to keep your skills current, and if you are in the software testing profession, you must learn Agile Testing, since most companies are using this methodology.  Agile testing is here to stay, so the time to learn all you can is right now.  The beauty of taking great agile online training, is that you can learn it from anywhere and you can engage with others who are seeking to learn more about this valuable skill.  If you are a developer, you are also welcome to participate, as I think this course will be extremely valuable to you as well.  Developers are also getting more involved in the testing process and sometimes it is necessary for the developer to take on the role as tester in order for the sprint work to be completed on time.

Testing with Agile

About this course: To deliver agile outcomes, you have to do more than implement an agile process; you have to create a culture of experimentation. It’s this commitment to experimenting that’s at the heart of a high-functioning practice of agile. This course shows you how to integrate the practice of experimentation across concept/feature testing, usability testing, and testing the software itself. Basically, you’ll learn how to answer these four big questions with experiments: 1. Should we build it? 2. Did it matter? 3. Is it usable? 4. Did it break? More specifically, after completing this course, you’ll be able to: – Identify where and how to invest your team’s scarce time and energy into better testing for maximum impact on outcomes – Coach your team on the relationship between idea, usability, and software testing to get the buy-in you need for strong interdisciplinary collaboration – Test ideas before you build them to avoid waste and help your team focus on what will really drive outcomes – Test alternative interface patterns before you build them to maximize both product usability and purposeful implementation – Understand your delivery pipeline and how to prioritize process and infrastructure improvements so you can deliver faster and more often As a Project Management Institute (PMI®) Registered Education Provider, the University of Virginia Darden School of Business has been approved by PMI to issue 20 professional development units (PDUs) for this course, which focuses on core competencies recognized by PMI. (Provider #2122) This course is supported by the Batten Institute at UVA’s Darden School of Business. The Batten Institute’s mission is to improve the world through entrepreneurship and innovation: www.batteninstitute.org.

Who is this class for: This course is aimed at professionals working in software and IT or interested in moving into this space.

Created by:  University of Virginia

Click here to learn more!

Rated 4.5 out of 5 of 208 ratings

Comprehensive, detailed and well worth the time. Everyone in software development business should take this.

I totally recommend this course. Well prepared, interesting interviews done by Alex to several professional with well-known reputation, good explanations, and well-prepared exercises. It’s totally worth to invest your time and money if you want to start in Agile.

Provides a very complete and clear picture of software testing

This was a good course for developing a good foundation of CI/CD and testing practices in lean methodologies. This course incorporates a lot of interviews with experts in the industry, which I find helpful and informative. The exercises in the class were also helpful and applicable.

Learn How To Create a Killer Resume

Create A Killer ResumeIf you are considering looking for your next dream job, it is critical that you get a Killer Resume created.  There is so much competition today, that it is nearly impossible to get your resume in front of the hiring manager.  As a hiring manager, I know how challenging it can be to get your resume in front of me.  When you do, you need to really capitalize and follow this advice in order to have your best opportunity to be selected for an interview.

Creating a Killer Resume

  • No Typos

The first thing that I look at on a resume is to ensure there are no grammatical errors or typos.  If there are several, then I will not consider the candidate.  It is really important that the potential candidate take time and effort to make sure their resume is the best.  By not spending time and effort on the resume, I often feel that the candidate will do sloppy or unsatisfactory work.  I encourage you to review your resume and have several others review it as well before submitting it to a potential employer.

  • Killer Design

If you are lucky enough to bypass the HR department it is really important that the design of your resume stands out.  My recommendation is that you get this done professionally.  This will help your resume stand out from your competition, and it will move your resume to the top of the stack.  Hiring managers get tired of seeing similar formats over and over, and want to see candidates who create killer resumes.  Resumes that are dull and boring, will imply that person is as well and will not represent the candidate in the best light.  Paying to have your resume redesigned is certainly worth the expense when you are getting contacted by hiring managers.

  • Be Honest

As a hiring manager, I see lots of resumes.  It is amazing how many resumes I see which have exactly everything that I am looking for in a candidate.  Many times, when I get those candidates on the phone, the resume does not match their skills.  Sure, they know the tools and the Agile methodology, but when you start asking detailed questions, you can tell they have looked on Google, but they don’t have a clue about what they are talking about.  If is also disappointing if those candidates come from recruiting firms where they haven’t been properly screened to ensure their resume matches their skills.  If a candidate is honest about their skills and is a highly driven individual, then I will be more willing to hire them and help them grow their technical skills.

  • Critical Keywords

In today’s economy, it is more important than ever that you look at the job descriptions for the jobs you are applying and make sure your resume has the keywords to match your background.  If you have Agile experience, but your resume does not have the word Agile, there are greater chances that your resume will not pass the automated tools that most companies use today.  It usually only takes a few minutes to make an update on your resume, and that update will really payoff in the long run.

I hope this will help you learn how you can create a killer resume and increase your career opportunities!

 

ISTQB Software Testing Certifications

Software Testing Training Online

 

 

 

 

 

 

 

 

 

 

 

 

 

Why are ISTQB Software Testing Certifications Important?

I firmly believe that ISTQB Software Testing Certifications are extremely important.  As both a QA professional and QA hiring manager they are tools I have used to both learn more and evaluate future and current employees.  As a hiring manager, it shows me that individuals are willing to invest time and effort and are committed to the software testing profession.  I know the effort and commitment that it takes personally since I have two ISTQB certifications currently.  If I have to evaluate two candidates who have a similar background, but one has an ISTQB test certification, that will usually be the separating factor with my hiring process.

ISTQB Software Testing Certifications

There are several ISTQB software testing certifications.  The nice thing I like about ISTQB, is that they do an excellent job about laying out the different types of software testing certifications and the paths to go from the basic ISTQB Foundation level certification to the ISTQB Expert Test Manager certification.  Here is more details about the specific software testing certifications:

  • ISTQB Foundation Level:  The Foundation Level qualification is aimed at professionals who need to demonstrate practical knowledge of the fundamental concepts of software testing. This includes people in roles such as test designers, test analysts, test engineers, test consultants, test managers, user acceptance testers and IT Professionals.  The Foundation Level qualification is also appropriate for anyone who needs a basic understanding of software testing, such as project managers, quality managers, software development managers, business analysts, IT directors and management consultants.
  • ISTQB Agile Tester Extension:  Agile testing is a relatively new approach to software testing that follows the principles of agile software development as outlined in the Agile Manifesto.  A tester on an Agile project will work differently than one working on a traditional project. Testers must understand the values and principles that underpin Agile projects, and how testers are an integral part of a whole-team approach together with developers and business representatives. There is a lot of confusion concerning agile testing – which means there’s an educational opportunity as well. The Agile Extension will give the tester the knowledge to be part of agile testing teams and achieve high performance.
  • ISTQB Model Based Tester Extension:  Model-based testing is an innovative test approach to improve effectivity and efficiency of the test process. A model-based tester on a project uses models to drive test analysis and design, and keeps advantage of the models for other testing activities such as test implementation and reporting.ISTQB® Model-Based Tester certification complements the core foundation level as a specialist module. It provides a practical and easy entry to the MBT approach.
  • ISTQB Advanced Level:  The Advanced Level qualification is aimed at people who have achieved an advanced point in their careers in software testing. This includes people in roles such as testers, test analysts, test engineers, test consultants, test managers, user acceptance testers and software developers. This Advanced Level qualification is also appropriate for anyone who wants a deeper understanding of software testing, such as project managers, quality managers, software development managers, business analysts, IT directors and management consultants. To receive Advanced Level certification, candidates must hold the Foundation Certificate and satisfy the Exam Board which examines them that they have sufficient practical experience to be considered Advanced Level qualified.
  • ISTQB Expert Level:  The Expert Level extends the knowledge and experience obtained at the Advanced Level by providing in-depth, practically-oriented certifications in a range of different testing subjects. With Expert Level ISTQB® offers career paths for testers with clearly defined business outcomes.

Hopefully this information on ISTQB Software Testing Certifications has been helpful.  Please consider taking one or many of these certifications to help you land to increase your career opportunities or land your next dream job.