Saturday, November 4, 2023

The Agile & Testing: We're Pulled & Hidden from "Shift Right"


Do I Understand the Agile?

If I work in a project which follows the Waterfall approach, I still can apply the Agile Manifesto and the 12 principles behind it.

But, am I adaptable to the change and uncertainty for better ways of developing software and helps others do it?  This shows the mindset of me and others involved.  Have you heard this line, "every project that claims Agile, it has [a small] waterfall in it?".

Agile Software Development is not wrong!  It has values in what it says and for what it stands.  I have no doubts in it!  It describes how I perform a activity and respond to a situation in the software development.


Frameworks and Methodology

We have picked the frameworks which are under the Agile's umbrella. We pick the methodology that suits our work and have customized it to our contexts.

This is what Agile also say, the team will always need to adapt its use of a framework to fit properly in its context.  

Dr. Alistair Cockburn, says, the Agile methodologies are the conventions that a team choses to follow in a way that follows Agile values and principles.


The Agile is Not a Problem!

We do not collaborate well in solving the problem and say Agile is not working and creating more problems.

In reality, how we respond to the uncertainties and what got prioritized, it will derail us.  We derail from what we should be achieving as team [and as an individual] in a given time frame and context.


The Agile as I Understand

In a nutshell, the Agile is about

  • Balancing effectively with collaboration in the context we are.
  • Identifying, learning and solving the problem as a team no matter where we are in the project's timeline.
    • Being ready to face the uncertainty and responding to the changes.
    • See the progress and value in what we do as a team and bring the "continuous" in practice.
    • Having the consistency in the excellence of our work and the value we deliver with it.
Read the Agile Manifesto and its 12 principles.  It is the day-to-day life of a team who works to build a software in a continuous delivery having the values to a stakeholder.




Testing and the Agile

Testing is a collaborative activity.

The Agile also talks about collaboration as an essence and necessity in the continuous delivery of the software we develop.  

The Agile talks about short interval consistent deliveries.

  • How should I fit myself as a Test Engineer here?
  • How should I upskill myself to deliver in short intervals as part of continuous delivery?  

I ask and say to my test teams,

  • Think of delivering value consistently in the shorter intervals.
    • Rather saying -- releases in short intervals, call it out as a value to a stakeholder in regular short intervals as a continuous delivery
      • It sounds positive, affirmative and profound.
      • Upskill and help your peers to build the skills. List the skills, let us discuss and start our practice on it.
    • This mindset changes the perception in how you approach the testing.
  • In these short intervals,
    • Let us prevent bugs in the ways we can think of.
      • Finding bugs also need resources.
      • Let's start investing in building and improvising the resources to prevent bugs.
        • How can we prevent and where to begin?
  • For what should we test and automate other than functionality in these short intervals?
    • What is the priority?
    • If I do not test and automate for evaluating any particular quality criteria, does it impact the value to a customer in what we deliver?
    • If I do not test and automate on a particular seam and system's boundary interface, does it impact the value to a customer in what we deliver?
  • How am I collaborating with stakeholders?
    • Who are my stakeholders?


In short, I see the Software Test Engineering practice in the Agile setup as this,

  • We [team] exploring technically and analytically;
  • Evaluating collaboratively in the software development and engineering, by having the effective staged feedback loops in place to improvise the delivery;
  • By responding actively to the changes and uncertainties that comes anytime in the timeline of a delivery and practice;
  • Thus, the consistent continuous delivery is delivered with value to the stakeholders.


Note
: This is my observations so far having worked with 46+ startups in my software test engineering practice.


We're Pulled and Hidden From - Shift Right

I and you are said to Shift Left and start the testing from the inception of a feature's discussion.  And, further we're said, we have to shift left from right.

Did the Agile manifesto and its 12 principles say explicitly to Shift Left from Right?  Who said that?

What I see, How I see and understand the Right and Left here, matters a lot!  If I see the Right within the delivery loop, I'm setting a trap to myself to be late and lag back.  And, probably this trap gets set in the work, that is, to see the Right in the [continuous] delivery loop.  At certain context in continuous delivery loop, starting from Right is a need and necessity.

I see the Right outside the [continuous] delivery loop, as well.  In this Right, I see:

  • What is coming up in the tech stack and technology?
    • How this is a need?
    • How this [is to be and] will be adapted by tech solutions we deliver?
    • How should I upskill myself here so that I fit into the loop of continuous delivery?
  • In short, the Right should be observing the trend and its analysis so that I'm aligned being agile.
    • I will be skilled to test and automate in this change and uncertainties.
The Agile never said to completely move or step out of the Right.  Or, I have not read it in its manifesto and principles. 

You see and learn, what is your Right and ask am I aligning to it for being agile in the Agile.  After all, the Agile says adapting to the changes and uncertainties, yet delivering the value to the stakeholders consistently in short intervals.

If seen closely, the Agile is also about balancing, isn't it?  If I'm moving towards Left and me standing in the Left, am I balanced?

In short, we are being pulled and hidden from Shift Right.

Shifting Right is important to see what is outside the delivery loop.   Are you seeing your Right?  If yes, what is the trend analysis you see?  Where you need to upskill?

Shift Right can also be to look what you can bring into your Shift Left for better development and delivery.  For example, what you see in the market and business space for your product?  Do I have anything to add now in Left from this learning?  Do you see that?  Are not we missing this when we pulled and hidden from Shift Right?

Left or Right, if I do not respond, adapt and deliver for the changes, I need to ask, -- Am I agile and testing in the Agile?



To conclude, know what is your Shift Right while you are delivering values in your Shift Left.  Strike the balance and ace.



2 comments:

  1. An interesting part of the word "Shift Left" is, it is coined by a tester named Larry Smith in 2001. Tru-64 UNIX security team wanted to implement a login and wanted the existing code with this change to be tested. The security team decided to involve the tester on day-1, and Larry Smith was assigned to it.

    Today, the word "Shift Left" as become the more of marketing word in how things get are sold.

    References:
    1. https://www.drdobbs.com/shift-left-testing/184404768
    2. https://web.archive.org/web/20140810171940/http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2001/0109/0109e/0109e.htm

    ReplyDelete
  2. Here is the manual of Tru-64 Unix and the first section is about Login:
    https://manualzz.com/doc/9458586/tru64-unix-security

    ReplyDelete

Please, do write your comment on the read information. Thank you.