vit_r: default (Default)
[personal profile] vit_r
Priska 2024

The Agile Work Creeping


Most software engineers aren't really engineers because they like to talk. The people who are true engineers use numbers and images in their discussions, not rhetoric.

If you are talking to an engineer, you must only point out the direction of thinking. If you are explaining something to a manager, you must methodically cut off all possible ways of any incorrect understanding.

I mean not simple misunderstandings, but the special managerial ability to confirm their own hopes with facts that contradict them.

Such texts are time-consuming. I spent about 2 minutes thinking out a rough idea of the Agile Tnakh explanation and several hours adapting it to the managerial level of thinking.

I have mentioned the Agile Work Creeping in the previous part The Agile Tnakh Explained / 23 kB / 2024-01-16. This post closes my last debt.

The Agile Work Creeping is obvious to engineers. You cannot save money on quality in one place and get no paybacks in another. Bad software quality is paid for by the users.

This is not a subject for long discussions; this is only a question of measurements, estimations and informed decisions.

I cannot share something real, but we can look at a simple model.

There is some software that reads in some data from an external system, presents it to a user, gives him a possibility to adjust data manually and then confirm it. The user's conformation starts further data processing.

You are a quality engineer, and you get an error report. You find out that the data processing algorithms assume that all numbers are in American format ("2.3"), but they do not recognize German format ("2,3").

If the data reading process gets data from a German source, the further data processing fails because the numeric fields in the data confirmation dialog contain commas instead of periods.

Then you take a sheet of paper and draw the following diagram.

         ...
    Data Reading                    (1.  / Software)
          |              
          |              
          V              
     Confirmation                   (2.  / Software)
    Dialog Window
     Preparation     
          |          
          |          
          V          
       Manual                       (3.  / User)  
   Data Confirmation      
          |
          |            
          V            
       Further                      (4.  / Software)    
   Data Processing
         ...


Please note that there are many kinds of diagrams that can describe the same behavior, but it is better to use pen and paper instead of wasting time playing with sophisticated tools. These tools are more suitable for other tasks.

You read the design documentation, take another sheet of paper, and draw the new version of the same process.

         ...
    Data Reading                    (1.  / Software)
          |              
          |           
          V            
       Internal                     (1.a / Software)
    Data Correction                  
          |              
          |              
          V              
     Confirmation                   (2.  / Software)
    Dialog Window
     Preparation     
          | 
          |             
          V             
       Manual                       (3.  / User)  
   Data Confirmation      
          |
          |            
          V            
       Further                      (4.  / Software)    
   Data Processing
         ...


Then you take your diagram and go to the software development department.

Please note, this diagram represents only one of many possible solutions. There are usually several different ways to solve the same problem, and the true engineers discuss them all at the same time in order to choose not the solution they like, but the solution that is optimal for implementation.

Sometimes you downgrade some elements of a perfect solution to make it cheaper. Sometimes you persuade your manager to extend the project budget to get significant quality improvements.

I'll mention here a short explanation from my notes from another project. [ itSotWC::2024-01-16_1, itSotWC::2024-01-16_2 ]

Managers and politicians are one-dimensional beings: "Five is better than three."

Scientists are two-dimensional: "This is not a linear growth. This is an exponent."

The people who have still not lost their common sense are three-dimensional: "Yes. I see your chart of recent economic growth, but my wallet says that you have forgotten about inflation."

Teachers cut off the child's "but"-dimension and flatten his thinking. (The modern education system is today very effective.)

Engineers are forced to routinely perform multidimensional optimizations. They must simultaneously consider many different parameters. A person who cannot hold his grip on many dimensions is not a true engineer.

By the way, we have reached the software development department and found his manager. He says that the new feature will cost 100 man-hours. It is a waste of time to implement it. The German data is rarely read, and a user can get an error message and change numbers manually himself.

You return to your workplace, open the latest version of your software, load some datasets with errors, perform some tests by taking notes, and estimate the average correction time to be about 5 minutes.

Then you take a pen and add this information to your diagram.

         ...
    Data Reading      ---.          (1.  / Software)
          |              |
       \  |  /           |
        \ V /            |
       Internal          |          (1.a / Software)
    Data Correction      |            [ SAVED TIME      ]
        / | \            |            [ + 100 man-hours ]
       /  |  \           |
          V              |
     Confirmation     <--*          (2.  / Software)
    Dialog Window
     Preparation      ---.
          |              |
          |              |
        \ | /            V
         \|/          Manual        (2.a / User)
          X       Data Correction     [ WASTED TIME     ]
         /|\             |            [ - 0.1 hours     ]
        / | \            |
          |              |
          V              |
       Manual         <--*          (3.  / User)  
   Data Confirmation      
          |
          |            
          V            
       Further                      (4.  / Software)    
   Data Processing
         ...


Then you open a new spreadsheet and write:

ABC
1User time waste:0.1hours per one manual data correction
2Error correction budget:100man-hours


Then you look into marketing data and make the following table using 3 conditional formats:

- green background in case the total user time waste is less than the error correction budget, cell "$B$2";

- orange for time waste from 100% to 1000% of the error correction budget;

- red for the time waste above 1000%.

User Time Waste vs. Error Correction Budget, %
  Number of Users
10 50 90 130 170 210
Number of Manual Data Corrections per User 2 2 10 18 26 34 42
4 4 20 36 52 68 84
8 8 40 72 104 136 168
16 16 80 144 208 272 336
32 32 160 288 416 544 672
64 64 320 576 832 1088 1344
128 128 640 1152 1664 2176 2688


Then you call your boss and arrange a meeting with the development and marketing departments.

I would say, this is a very optimistic example. Usually, work creeps from green to red much more quickly.

Of course, it is impossible to make such estimations in a real agile project.

First of all, the quality assurance department is replaced with agile testing.

The second problem will be the numbers you will get, if you try to measure the real volumes of work creeping. Even the most optimistic estimations without consideration of full work blocking would be very impressive.

Many years ago, at the times when incompetent people doing a bad job didn't yet know they were excelling in Agile, I was sitting at a conference, and a speaker was telling the audience that software requirements are not needed because they are difficult to define and hard to negotiate.

He was not the preacher of the Agile Age, just its prophet. Modern agile experts would call him a formalist and a retrograde.

We had left the room. A brilliant legal expert who has written some books about software development contracts muttered with a devastated expression on his face, "I don't understand… I don't understand who could agree to such terms… This is a sure loss… Hm… No! I don't understand…"

Vit minus R, 2024, Switzerland


Flag Counter
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at [email protected]

Profile

vit_r: default (Default)
vit_r

May 2025

S M T W T F S
     12 3
4 5 6 78 910
11 121314 15 16 17
18 1920 2122 23 24
25 2627 28293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 31st, 2025 12:34 am
Powered by Dreamwidth Studios
OSZAR »