The true meaning of the clients requirements Jan 04, 2025 in • HILLAKER
harry hillaker falcon air force agile manifesto collaboration requirements aircraft client business speed
3 min read

In general, what is business analytics? If we break down this phrase word by word, it is the analysis of business requirements. It is not design, it is not programming, it is specifically the analysis of requirements. The main task is to help the client understand what they actually need. However, clients and end users often present what they think are effective solutions to a problem as requirements. In other words, they believe they have already found all the solutions and want them implemented. The effectiveness of this is quite questionable, as it leads to project overload with requirements, which often contradict each other, and significantly increases its cost. In exceptional cases, the project becomes completely unfeasible. A classic example of this kind is provided by Harry Hillaker, the chief designer of the F-16 Falcon fighter jet.
...
Comment only on what the code not say Dec 31, 2024 computing mcgraw-hill kernighan plauger brake code comments comment programmers blocks
3 min read

The discrepancy between theory and practice is greater in practice than in theory. This observation definitely applies to comments. In theory, the general idea of commenting code looks commendable: to give colleagues a detailed explanation of what is happening. What could be more useful than providing useful information? But in practice, comments often do more harm than good. Like any form of writing, writing comments requires skill. This skill largely involves understanding when not to write comments. If the code is written with syntax errors, compilers, interpreters, and other development tools will definitely object. If the code is functionally incorrect, most of the errors will be identified through review, static analysis, testing, and real-world deployment in a commercial enterprise. And what about comments? In the book “The Elements of Programming Style” (Computing McGraw-Hill), Kernighan and Plauger note that “a wrong comment has zero or negative value.
...
Do not touch this code Dec 21, 2024 development server testing code team
3 min read

Each of us has had something like this happen at some point. Your code has been uploaded to the staging server for system testing, and the department head Testing informs you that there is a problem. You are immediately ready to respond: “Let me quickly fix everything: I know what the issue is.” However, in a broader sense, the problem is that you, as a developer, believe you should be granted access to the server where testing is being conducted. In most cases, when it comes to web development, the architecture can be broken down into the following parts: -Local development and unit testing on the developer’s machine Development server where automated or manual integration testing is conducted Staging server, where the quality control team and users conduct acceptance testing Combat (production) server Yes, there are other servers and services, for example, for managing source code or software defects, but the idea is clear.
...
Try before you decide Dec 21, 2024 in • JAVASCRIPT
mary tom poppendieck javascript architect decision team solution information
3 min read

Many choices must be taken during the attachment-forming process. Some may be related to the library or infrastructure selection, while others may be related to the application of particular design patterns.In any event, the architect is often in charge of making the choice. The architect gathers all available data, considers it for a period, and then specifies the guidelines that the developers must follow. The fact that there is an improved method won’t surprise you. The decision-making process is described by Mary and Tom Poppendieck in their work on lean development. They think that the ultimate choice should wait until the most crucial moment, when the team’s inaction will have permanent (or difficult to reverse) repercussions and a decision will be made on its behalf if no decision is made.
...
Try not to alter the timetable Dec 20, 2024 express start problems delivery project quality times schedule time
2 min read

There are several reasons why a software project might not succeed. One of the most common reasons projects fail is modifying the work schedule in the middle of the project without adequate planning. These kinds of failures can be avoided, but it will require a large team effort to do so. Changes to a project’s schedule or resource allocation usually don’t result in any problems. Problems occur when you have to work longer hours in the same amount of time or shorten the schedule without reducing the task. The myth that you may shorten the schedule to save costs or speed product delivery is one that is widely held. More hours are typically put in, or “less important tasks” (such as modular testing) are abandoned in order to produce a product faster or with better functionality that doesn’t delay delivery.
...
The myth of the guru Dec 17, 2024 in • GURUS
guru people myth context questions
3 min read

Everyone who has been working in the computer industry for a long time has had to hear questions like: I am getting an XYZ exception. Do you know what the problem is? Those who ask such questions rarely bother to show the stack trace, application log, or provide any context that would help understand the problem. Apparently, they think you operate on some other plane where solutions are revealed to you without any analysis of the facts. They consider you a guru. We expect such questions from people who are not familiar with software, from those for whom the system’s operation seems almost magical. What worries me is that we encounter this even within the programming community. Similar questions arise during software design, for example: “I am writing an application for warehouse management.
...
Commentary on comments Dec 09, 2024 in • BASIC
basic programming interface code comments program programming reading
3 min read

At my first programming class at the university, the instructor handed out two sheets for us to write the program text in BASIC. On the board, he wrote the assignment: “Create a program to input and calculate the average of 10 bowling scores.” Then the teacher left the room. Is this task difficult? I don’t remember my solution, but it seems there was a FOR/NEXT loop and no more than 15 lines of code. In each form for the program code, we would write the code by hand before entering it into the computer – it was about 70 lines. I had no idea why the teacher gave us two forms each. Since my handwriting has always been terrible, I used the second form to neatly rewrite my code, hoping to earn a couple of points for style.
...
Give developers their own space Nov 12, 2024 api developers architect work system design
2 min read

Nearly all architects begin their professional lives as developers. Although the architect has more duties, he also has more say over how the system is designed. It will be hard for you to give up some of your programming habits in your new work as an architect. Even worse, you might think that in order to put your concept into practice, you have to keep an eye on the developers and everything they do. But it’s critical for your success—as well as the success of your team—to provide each of your coworkers with enough autonomy to showcase their abilities and originality. It is rare for a developer to have time to sit down and consider the overall coherence of the system. The architect should give this their whole attention at the same time.
...
Do not rely on miracles Nov 08, 2024 in • COBOL
grace hopper cobol dll magic work project need programmers
3 min read

If you look at any activity, process, or discipline with sufficient long distance, everything seems simple. Managers who have no experience software development, believe that the work of a programmer is simple, and programmers who have no management experience feel the same way about the work of a manager. Programming is a certain activity that some people spend some of their time on. And the most difficult part of the work—the thought process—is the least noticeable and the least appreciated by the uninitiated. For decades, attempts have been made to eliminate the need for skilled thinking personnel. One of the earliest and most memorable attempts was Grace Hopper’s efforts to make programming languages less mysterious. Thanks to this, as some predicted, the need for narrowly specialized programmers may disappear.
...
When programmers and testers collaborate Nov 03, 2024 in • FIT
интеграционный tests programmers code testers time
3 min read

When testers and programmers start collaborating, miracles happen. Less time is spent playing ping-pong with defects in the defect tracking system. Less time is spent discussing whether the behavior is a bug or a new feature, and more time is spent on developing quality. software that meets customer expectations. There is many opportunities to establish collaboration even before the coding begins. Testers can help clients write acceptance tests in the language their subject area using tools such as Fit (Framework for Integration test). If these tests are given to the programmers before they start writing code, they will be able to apply the practice of acceptance test-driven development (ATDD). Programmers write frameworks to run the tests, and then code to ensure they pass. these tests.
...