Jason's Braindump

DR

Introduction

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.

Be down-to-earth.

The solution should be improved over time.

The solution should be as clear as possible.

“A picture is worth a thousand words.”

Read more

-> What is good product? - Allen Zhang 2019

Timeplan/GTD

Time, Scope and Cost

Sprint/Milestone

Split the goal into some sprints/milestones.

Roadmap

Risk Analysis

User Story

Bash OR Python

  1. A language is a tool, that’s it.
  2. Define the stacks and version before kickoff, and keep them aligned until the end.
    COMPONENTVERSION
    OSUbuntu 16.04.7 LTS 64-bit PC (AMD64) server
    Docker20.10.6
    Jenkins2.249.1
    Ansible2.7.0
    Python3.5.2

Team

Team Setup

  • SA
  • Developer
  • Tester

-> Who will be responsible for the deliverables packaging? the documents? and the monitoring?

Communication

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.

Tools

Using effective tools to manage the projects.

Git, Pipeline, Jira, Teams…

Editor OR IDE

  • Vim
  • Emacs
  • etc.

Start Coding

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.

Testing

Use CI/CD.

Change Request

Packaging and Release

Documents

The documents are important deliverables.

The Markdown/Org can be helpful on the uniform format and style.

Presentation and Handover

Support Phase


# EOF: You’ve come a long way.