Showing posts with label project management. Show all posts
Showing posts with label project management. Show all posts

Thursday, February 2, 2023

Real Life Requirements For A Test Framework

The layers

The majority of test frameworks solve the same problem, so it is only natural that even on different projects you end up using the same architecture. The variable part is limited to:
-- tests (they depend on requirements);
-- support of the project-specific infrastructure (you may need to implement support for AWS when assigned to project A, and it will not be required on project B, because the stack is completely different).

Balancing team effort

Personally, I developed a habit of thinking of TAF architecture in terms of layers:
-- a layer of test;
-- a layer of helpers (mainly boilerplate, moved out of tests to avoid duplication);
-- core layer and configuration (start up and shutdown, envrironmnet, logging, working with API of third-pary systems, etc.)
This approach has a lot of advantages, because it allows to share workload across the team without stepping on each other toes.

Test Framework Is A Software Product

When you intend to write a test framework you need to remember the following:

- test framework is a software product, which means everything that applies to a commercial product, also applies to a test framework;

- test framework is not less important than the software under test, it is actually more important (and sometimes more complicated) than the software under test.

Test frameworks are created to help you check if you still meet the requirements (and to do it with less effort than manual test requires). Because if you do not meet the requirements, you do not achieve the project goals and|or create more problems than you solve. For instance, you spend enormous amount of time on manual defect management and dealing with architectural issues when it is too late and too expensive.

So if you decide to create a test framework, you have to:
-- define the requirements;
-- define priorities for the requirements;
-- define stages of maturity (what is to be implemented first and what next);
-- find out how much resource you have (time, technical knowledge, congitive ability, ability to delegate);
-- build the schedule of implementation (preferably by using a Gantt diagram).

Otherwise, I am sorry to say, your test framework will be nothing but a cost.

-------------------------------

Related posts:
Real Life Requirements For A Test Framework
More On Designing TAF Layers

Friday, September 9, 2022

IT suffers from its own popularity

IT suffers from its own popularity. People go to IT not only because they love it or know how to do it, but because they need money, a reputation and a little bit of power. Because of this, a significant part of decisions are made out of greed, vanity and for the sake of a line in a resume. And an attempt to change priorities in favor of the interests of the project often leads to a conflict. The problem is equally common among both management and engineers, although it manifests itself in each group in its own way

2022-09-09

Wednesday, May 29, 2019

Self-education - Using learning matrix to plan and assess your progress

When you are learning something new and you are doing it by yourself, you may want to avoid the usual problems associated with learning, such as losing control and being unable to assess the results. I would like you to consider using learning matrix -- something I designed for myself when I need a really quick start with a new project at work.

In my experience, this approach may be useful when you cannot study full-time and have to do it alongside other activities. Or maybe you are creating a competency matrix or need an assessment tool.

The principle behind this learning matrix is simple. You list all the major areas vertically, and you put levels of qualification horizontally, and what you get is a 2D matrix that describes the area you would like to assess or master. The cells of this matrix contain criteria a learner should meet in order to be able to say, for instance, 'I have level A in functional programming' or 'I have level B in yoga'.

A word of advice. Do not try to make it too big, make sure it is feasible to learn everything you have planned. If you are not sure about some criterion, mark that criterion appropriately, to prevent it from mixing together with the clear ones. If possible, try to make your criteria SMART (simple/specific, measurable, attainable, reasonable, time-bound).

The example below is for starting with a project, but you can apply it to an academic subject or learning a skill as well. Please note that criteria add up (which means that you cannot get level B without successfully passing level A).


Sunday, June 17, 2018

Some ideas to help you explain to your project manager why things just do not happen by themselves

You can't always get what you want


Result is not something guaranteed, not something you can count on, no matter what. Result is something you can get, if you are lucky and all the conditions are in your favor, and you can focus, and you are prepared to invest some extra effort, if you, despite all the desperate measures, run out of your resource.

I observed that planning is often done without even attempting to check if the goal or its parts are really feasible. The industry seems to be forming this habit of not questioning the task unless problems are too obvious. They pay you for doing something. And that means there's no way back, because some other people have already committed to do it, so now you have to provide a solution to support their commitment.

This way of doing things is not very helpful when it comes to planning, especially if area is not sufficiently familiar.


Thursday, November 24, 2016

The major three - Health assessment for a test project

Let me start with some trivia. No project is the same. No project is dull. Every project is what you make of it. The interesting part is what you should do if you wanna make it.

Personally, I hate doctors. But in situations like this I have to act like one, which means, I start with collecting a medical history. And here are some hints regarding what to look for (as they say, including, but not limited to):