Saturday, March 7, 2020

The Shadow of the Past

One morning long ago in the world,
when there was less noise and more green…*


There was a time when Developers were Programmers. Or maybe Programmer-analysts.

People talked with customers and business users about their needs for software or changes to that software. People talked about requirements and design. They talked about file systems and how information should be stored, referenced and accessed. They looked at other forms of file systems and found solutions to data problems. People looked at databases and designed changes to them.


People wrote code and developed software. They talked with each other. They talked with loads of people who might have ideas. They helped other people with their software problems, just as they received help with their problems. They talked with the customers and business users while working on the code, talking about what pieces did what things. They showed them what screens and reports looked like and had demos the customers could talk through and give feedback on.

They sat down together and figured things out without regard to title or position to make the best software they could make, to fill the needs of customers and business users. They worked to deliver functionality as quickly as they could - sometimes one piece at a time.

People tested software. They found unexpected behavior. They asked questions. They looked at the answers and compared the answers to what the design and requirements described. If they still could not find a complete answer, they went back and asked the customers or business users.

These were all the same people.

To be successful, teams and individuals needed to support each other. Of course, not everyone was equally skilled in all areas. Everyone had skills that complemented everyone else on the team. Everyone could help others be better at the tasks at hand.

People NEEDED to help each other. Everyone learned and grew.

This was long before “Agile” or “lightweight development methodologies” which Agile grew out of. 

This was before the push to commoditize and monetize software development. 

This is when I started working in software. My memory stretches across several ages of software.

I remember well the banners and slogans that came after these eldar days. I remember how they proclaimed things would be better. I remember how they said software would be made faster and be more predictable. I remember when the company where I worked reorganized everyone into different roles.

Before, their “reorganizations” had involved people reporting to different managers or being given systems they would be responsible for.

This was different.

A Dark Shadow fell over Greenwood. People began calling it Mirkwood. “Modern Scientific Management Theory” began getting applied to making software. No longer was it “research and development. It was not considered “Manufacturing.”

Programmers would program. Sometimes they would do “analysis” work. Sometimes they would be given a set of requirements and told to make that software. Except, things were different now. 

Programmers would not “gather requirements.” That was for a new class of worker, “Business Analysts.” Programmers would unit test their code, but other people would test it “fully.” 

In time, “Designers” would do “design” work. And “Architects” would “architect systems.” and DBAs would handle anything to do with database structure. Programmers could still write code to access it, but needed to make sure any code they wrote which might “update” the database was “of sufficient quality” to not cause problems for the database.

In time, Programmers became “Developers.” They did more than simply program. They developed “solutions.” 

People were expected to focus on their immediate tasks. “Working together” was to be avoided unless there were significant problems. Everything was to be clearly documented. 

Developers "developed." Designers "designed." Testers "tested." Project managers supervised everyone's work and made sure they stayed on task and on time.

If someone didn't, the Project Manager made sure "the Boss" or "the Great Eye" knew about it. There would be "repercussions." 

The story continues here.

*JRR Tolkien, The Hobbit, ©1937 JRR Tolkien, renewed 1982, Houghton Mifflin Harcourt Publishing, Boston, 2014, p 5.

1 comment: