As an ordinary engineer, I was writing the DR scripts then in Japan.
The technology updating is fast and exciting!
I’m not young anymore, and I always hope that I can produce something memorable.
Solution Requirements/Design/Describe the Design
Before we started the realization, we took much time on the design.
Writing a program is the different concept in design software. Design is the place where software quality is established. Before starting of designing software, the requirements should be analyzed and specified first.
In the software design process, design engineering is the one of the concept. While beginning software, requirements have been analyzed and modeled. This model can be accessed for quality and improved before code is generated.
In a software engineering context, the first need is to develop the models of program, but not the program themselves.
Software design is different from coding.
At first it is very clear that, design is not coding and coding is not design. It is created from program components.
Design is the description of the logic, which is used in solving the problem. Coding is the language specification which is implementation of the design. It runs on the computer and, provides the expected result. (via https://www.chegg.com/homework-help/software-engineering-8th-edition-chapter-12-solutions-9780078022128)
What is a good design?
A good design should be the process of envisioning and defining software solutions to one or more sets of problems, and you must agree that one of the main components of software design is the software requirements analysis. while in our project, it comes from part of specifications from customer, also, since what we are working is kind of CA components, that should be considered during our whole process of solution design, I mean, we need to think about making that work better based on our product, our official solution.
Once we have a clear picture on the requirements analysis, we should get a couple of problem lists to solve, this is important, some of them might be the items existed in the punchlist/user storys later, and each of them should be traceable and reflected in requirements and design.
After that, we can continue the solution design, design is kind of process and model, if you are working within a design team, please understand that multiple designs for the same problem can exist and will exist, while if you are working as a solo player, try to explain that to yourself could be helpful for you to find something different, like Rubber Duck Debugging from The Pragmatic Programmer.
Design is not coding, coding is not design.
The solution should be improved over time.
The solution should be as clear as possible.
“A picture is worth a thousand words.”
Time, Scope and Cost
Split the goal into some sprints/milestones.
Bash OR Python
- A language is a tool, that’s it.
- Define the stacks and version before kickoff, and keep them aligned until the
COMPONENT VERSION OS Ubuntu 16.04.7 LTS 64-bit PC (AMD64) server Docker 20.10.6 Jenkins 2.249.1 Ansible 2.7.0 Python 3.5.2
-> Who will be responsible for the deliverables packaging? the documents? and the monitoring?
An effective communication is the precondition to effective co-operation.
-> Is English your official language in your team?
Role and Responsibility
Clear Role is not enough, define what his responsibility should be.
Using effective tools to manage the projects.
Git, Pipeline, Jira, Teams…
Editor OR IDE
Keep monitoring/following-up during coding.
The realization and design should always be aligned, monitored, as always.
The assigned tasks should be monitored and followed up.
We must have difficult time.
Packaging and Release
The documents are important deliverables.
The Markdown/Org can be helpful on the uniform format and style.
Presentation and Handover
# EOF: You’ve come a long way.