SmartQA Community

digest #13 : “Delivering Clean Code #2”

SmartQA Digest

Welcome to SmartQA Digest continuing on the theme of “Delivering Clean Code”. Raja Nagendra Kumar discusses what it takes to deliver clean code dwelling on skills, innovation, outsourcing development models.

 
The featured article “10 things to be sensitive to deliver brilliant code” outlines the mindset to deliver brilliant code.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

12 tips to reinvent yourself in testing 

T Ashok (ash_thiru on Twitter)

Summary
The way we build systems has changed, both in terms of technology and the process. The expectations of end users/businesses have changed in terms of speed of delivery and in terms of expectations.  In this article are outlined 12 tips to morph and reinvent oneself to become a modern smart tester.


1.Become tech savvy. Know the insides.
Understand what happens behind the hood. Know what your system is composed of. Learn to think of issues resulting from integration of various technologies, of different systems that make your solution.

2.It is ‘-ities’ that is key. Go beyond functionality.
Yes, correctness of functionality is important. But in these times, it is ‘-ities’ that are key to success. Well we know for sure how usability has become mainstream. We also know ‘compatibility’ is critical especially device compatibility of mobiles/tablets. Performance, security, error recovery is  now a given. So it is necessary to become adept in evaluating ‘-ities’ too.

3.Focus on value. It is not about activities.
What matters now is not how-many, it is really how-valuable. End users are keen on the value-offering i.e. how does it help me do better, how does it ease my life..?

4.Automated test is basic hygiene now. Become comfortable with tooling.
Well it is expected that you exploit technology/tools to accelerate what you do and replace what you do. So being comfortable with tools and rapidly able to exploit other tools/languages to getting things done is expected. Tooling is no more an esoteric skill. Remember it is not about ‘big’ tools, it is about also having a a nice ‘SwissKnife’ tool set to enable you to do faster/better/smarter.

5.Be Agile. Respond quickly.
It is no more about days, it is about hours. Change your mental model to test in short sessions, change your mental model to re-test far more efficiently, change your mental model to focus on impact far sharper.

6.Test is no more just an activity. Make it a mindset.
As we morph to deliver clear code faster, it may not always be an explicit activity. It is about having a ‘test/perfection mindset’ so that we built/craft code quicker and cleaner. 

7.Go beyond our discipline. Copy from others.
Stay sharp and wide open to see how great quality/perfection happens in other disciplines.Unabashedly copy and adapt. It is necessary to be non-linear. Be inspired from lateral disciplines and humanities/social, nature, arts etc.  to evaluate, to prevent, to build better.

8.Don’t just do. Enable ‘how not to do’.
It is not just about evaluation anymore, it is about how we can prevent evaluation. Enable building robust code. Enable better sensitisation of issues early. Do more ‘what-if’ to build better code. 

9.Go beyond software metrics. Measure in business context.
It is great to use measures of testing to guide the act of testing. Given that we are in the age of speed and instant gratification, it is is very necessary to relate the software measures to business & end user context to ensure success. For example (1) it is no more just a performance metric, it is about how (say) response time affects the business(end-users) positively (2) it is not about overall coverage alone, but about what it means to the risk of the immediate releases. 

10.Constantly unlearn.
Unlearning is a skill. The ability to constantly question if what we know is relevant and drop it to make way for newer skills is paramount. 

11.Abstract well. Visualise better.
Today the act of building systems is brilliant with excellent abstractions facilitated by frameworks. The focus is on great clarity and the ability to reassemble/morph quickly, much like ‘Lego’ bricks. The same is applicable for us test folks too. Abstract well (1) the system and how it is composed (2) the issues you are going after and therefore the strategy (3) test assets to facilitate continual adjustment (4)automated suites so that you can flex it to suit the changing needs (5) test data so that it can be relevant for a longer time.

12.Get out of the well. Be able to scale across.
What we do now is no more a silo related to evaluation. It is imperative to build/tweak code, setup environments, deploy, assist in debug, help ideate features to improve value, in addition to testing. Be able to do ‘everything’ to scale across.


About SmartQA The theme of SmartQA is to explore various dimensions of smartness to leapfrog into the new age of software development, to accomplish more with less by exploiting our intellect along with technology.  Towards this, we will strive to showcase interesting thoughts, expert industry views through high-quality content as articles, posters, videos, surveys outlined as a SmartQA Digest weekly emailer. SmartBites is soundbites from smart people”. Ideas, thoughts and views to inspire you to think differently.


digest #12 – “Delivering Clean Code #1”

SmartQA Digest

Welcome to SmartQA Digest on the theme of “Delivering Clean Code”. Raja Nagendra Kumar discusses what it takes to deliver clean code. The featured article “10 Simple Tips to Clean Code” is about simple practices to ensure that code developed is constantly cleansed. This is a two part series with the first one featured this week.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

#11 : “The changing face of testing”

SmartQA Digest

Welcome to the SmartQA Digest  on the theme of “The changing face of testing”.  Vivek Mathur outlines his thoughts on changes in testing due to the changing landscape of dev.The featured article “12 tips to reinvent yourself in testing” outlines tips for test practitioner to reinvent.

Yay, we crossed our first two-digit mark. Yes, this is the 11th!
I would be delighted to receive your comments. Thank you /Ashok.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

How do I grow in my QA career?

T Ashok, @ash_thiru

Summary:
What is growth? Is it money, position, power or the confidence to get anything done? Growth is not just knowing more, it is about deep understanding aided by reflection that allows us to assimilate. Growth is not merely external, it is building inner strength, to influence positively.


In conversations with test professionals I come across questions that relate to career growth – “How do I grow in testing? What should I do to grow? What areas in testing should I pursue to grow quickly? …”. These are interesting conversations as there are no specific answers.

Let us dig a little deeper to understand what career growth may mean. Is growth about earning more money? About better designation? Or more ‘power’ in terms of larger project/team size…? I bet your answer will be “All of these”. Hmmm, these are outcomes of growth, but the question still remains – “What is growth?”. Is it deeper knowledge? Or skills/abilities? Or is it the confidence to get anything done?

I would like to believe that the last one is most appropriate. It is about having the confidence of getting anything done. If you can handle stuff that is more fuzzy, difficult, constrained, large, with huge expectations, then you grow faster and higher.

It is not just doing work, it is about getting work done. It is about being a leader. Take a minute and reflect. A young baby needs support to get things done, as he grows, he manages to be self-sufficient. As he becomes a young adult, he is able to manage others and later as an adult when he establishes his family, he leads, not just manage.

As you grow this is what happens : Managing yourself –> Managing others(or things) –> Leading (others/things). The ability to “do”, “manage doers” to “leading doers” is what defines growth. Initially it is about managing, later evolving into leadership.

Leadership is about influencing others. It is about believing in yourself and not really care about what others think. A far cry from being dependent on what others think about you to figure out if you are good. It is about having belief and confidence in yourself. It is not about ‘toeing’ the line, it is about leading. It is not just agreeing to other’s view, it is about having healthy arguments to put forth your views/thoughts.

Bodily growth cannot happen when you just eat more, it happens only when the food is digested and assimilated. Likewise, it is not about just knowing more, it is about deep understanding aided by reflection that allows us to assimilate. This results in more than just knowing, it is about forming heuristics as when to/not-to apply, akin to absorbing and purging, resulting in one to becoming confident in the application of knowledge.

Growth is evolution and evolution is “Add/Modify/Delete”. Visible external growth is “Add”, the accumulation of mere knowledge. Real ‘internal’ growth is “Modify/Delete”, the assimilation that changes the internals, and purgation, the “Delete” that discards old views/ideas, strengthening you from inside. Growth is not merely external, it is building inner strength.

With inner strength comes confidence and the power to influence. To influence the project team we work with. To influence the product we are building. To influence the company where we work. To influence the customer who uses our product. To influence the test & software engineering community.

The expanding spheres of influence :
Individual “I” –> Project team “US” –> Product “OURS” –> Company “US & OURS” –> Customer “THEM” –> Community “WE”.

Now you do not care about what others think. You have grown. Stuff happens. You do not ‘just do actions and get things done’. You deliver ‘business value’. You feel good. And possibly get noticed. Anyways you enjoy what you have done. And the wonderful outcomes of growth happen.


About SmartQA The theme of SmartQA is to explore various dimensions of smartness to leapfrog into the new age of software development, to accomplish more with less by exploiting our intellect along with technology.  Towards this, we will strive to showcase interesting thoughts, expert industry views through high-quality content as articles, posters, videos, surveys outlined as a SmartQA Digest weekly emailer. SmartBites is soundbites from smart people”. Ideas, thoughts and views to inspire you to think differently.


#10 : “Reinventing yourself ”

SmartQA Digest

Reinventing yourself“. In these rapidly changing times, reinvention is key to staying relevant. Anuj Magazine says reinvention has to be treated as a skill, with the ability to unlearn.The featured article “How do I grow in my QA career?” complements this.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

The changing face of software development

by T Ashok @ash_thiru

Summary:
The way we develop software now has changed,  It is about integrating code now.  A framework based approach is preferred. The way we deliver has also changed, via the cloud. We have come into the industrial age of software.


The way we develop software now has changed. No more building code from scratch. It is about integrating code now. Leveraging code by using multiple frameworks, services, components. And integrating with external systems too. Today’s application seems to be a giant web of connected pieces, the glue code playing a major part.

The approach to building systems also has morphed. No more attempting to understanding the complete needs of end users, but start with something and continuously refine.  Incrementally build, collect feedback and refine continually. Just like nature does. Continuously. 

The way we deliver has also changed. No more a fat install, in fact no more installs. Deploy in the cloud, and use wherever, from anywhere. Oh and access points, very many – PCs, mobiles, headless access via APIs. On the language front, it is no more about coding in a language. It is a mix of languages and technologies that make up the today’s system. Mimicking nature ? Of communities with different language folks? 

Oh given that we seem to have enormous resources, we have relaxed our approach to being efficient. A framework based approach is preferred to getting it done rather than writing simple custom code. 

We have come into the industrial age of software. Of building software using assembly line of components, using frameworks and continuously delivering new features rapidly.

So what does this mean to testing ? How does this way the way we evaluate? And do we really need to test that much? Do we need to test differently? Well this is the subject of another article for later!


About SmartQA The theme of SmartQA is to explore various dimensions of smartness to leapfrog into the new age of software development, to accomplish more with less by exploiting our intellect along with technology.  Towards this, we will strive to showcase interesting thoughts, expert industry views through high-quality content as articles, posters, videos, surveys outlined as a SmartQA Digest weekly emailer. SmartBites is soundbites from smart people”. Ideas, thoughts and views to inspire you to think differently.


#9 – The changing face of development

SmartQA Digest

Welcome to a special edition of SmartQA Digest on the theme of “The changing face of development”. 

 
The way we develop software today has changed significantly. Vivek Mathur outlines his thoughts on this theme in this edition of SmartBites. The featured article “The changing face of development” outlines the key changes in terms of approach, technology, build-vs-integrate succinctly. Enjoy this edition of SmartBites!
software testing changes

SmartBites

||VIEWS FROM INDUSTRY LEADERS||

10 Habits to Help You Speed Up Testing

by T Ashok @ash_thiru on Twitter

Summary
In today’s age of speed, technology/ automation is seen as the key enabler for rapid QA. Yes, it is indeed, but the limiting function to speed is one’s skills. And this is where good habits come in. Here are TEN good habits for QA that can help you speed up significantly.


Habit #1  Practice… Practice… Practice..
Practice exploration. Practice looking for bugs. Practice modelling behaviour. Practice writing tersely. Practice scripting. Practice observation. Practice.. Practice.. so that you can unconsciously do, speedily and well.

Habit #2  Focus… Focus…
Focus on the who. Focus on the what. Focus on the where. 
Focus on the what-for. Focus on value. 
Relentlessly discard the noise, the unnecessary.

Habit #3 Analyse… Analyse…
Should I regress this? Should I look for this issue? 
Should I test on this environment? Should I document so much?
Should I really do? How much should I do? Can I do lesser?
Constantly analyse as to how to do less.

Habit #4 Steer… Constantly steer…
Course correct. Adjust. Revise Improvise. Adapt. Repeat.
As you do, continually revise becoming quicker and better.

Habit #5 Immerse… 
Be aware of the act now. Stay in the present. Be mindful.
Immerse yourself ‘stopping’ time, accomplishing more.
Explore immersively, centering to see everything.   

Habit #6 Sharpen…
What issues matter for who, where and why? What is the business benefit? What is the user experience? What may be the potential impact?
Stay purposeful. Sharpen the objective.  Setup the route. Stay on it.

Habit #7 Simplify… Simplify…
Too complex to understand. Break it down. To complicated to execute. Decompose.
Relentlessly simplify. Never muddle the clarity. 

Habit #8 Discard… 
Learnt that this is not working? Discard. 
Figured you were wrong? Discard.
Saw something better? Discard what you did.
Metamorphose all the time.

Habit #9 Organise… 
Setup goal. Plan. Do. Observe. Take notes. 
Distractions happen. Problems surface. Chaos threatens. 
Yes, that is natural law. Stay organised, in the mind. 
Discipline, structure smoothens disruptions, in the mind.

Habit #10 Leverage… 
See patterns and exploit it. Observe others work and improvise on it. 
See parallel in other disciplines and apply it. 
Use smart checklists.  Use tools. Reuse strategy, scenarios, scripts.


About SmartQA The theme of SmartQA is to explore various dimensions of smartness to leapfrog into the new age of software development, to accomplish more with less by exploiting our intellect along with technology.  Towards this, we will strive to showcase interesting thoughts, expert industry views through high-quality content as articles, posters, videos, surveys outlined as a SmartQA Digest weekly emailer. SmartBites is soundbites from smart people”. Ideas, thoughts and views to inspire you to think differently.


#8 – “Testing in the age of speed”

SmartQA Digest

Welcome to a special edition of SmartQA Digest on the theme of “Testing in the age of speed”. 

 
The pace of dev and release and therefore of test is very rapid. Agile/DevOps and Automation are the key enablers. Srinivasan Desikan in the SmartBites outlines his thoughts on this. The featured article takes a different look at how good QA habits can speed up an individual to do faster.

SmartBites

||VIEWS FROM INDUSTRY LEADERS||