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.
...
➦