Quote on this page: Code, Environment and Testcase inspects, by a second party, are must haves.
If you want to grow in maturity, You need the feedback to improve.
Do code and environment inspect to grow to the next level of quality
There are many reasons to do code quality control, such as:
Find hidden functionalities
Enforce standards and regulations
find (syntax) errors
find dead end software
But there is more to do: optimize and use the latest technics.
I have seen really huge improvements by doing code inspects and also environment inspects done by specialist.
These improvements, like:
0.9 seconds back to 0.3 seconds within a week.
from 218 transactions per second into >1800 transaction per second.
>99% reduce of Database deadlocks.
Real example 2:
Business requirement >500 Transaction per second
lot of incidents by database deadlocks
mixed transactions coming from batch load and online transactions
up to >300.000.000 transactions a day
The way we used to find a solution:
Ask 2 companies to inspect our environment, including Operating system, Subsystems and our way of programming.
Expensive path, but great value. Even after several years, still a lot benefits on this inspect.
Conclusion in this report:
huge technical depth on:
Operating system (parameters and not use of new benefits).
The way of programming.
DB2 parameter setting (special: commits).
DB2 workspace and indexes.
CICS parameter setting.
Real example (1):
Java programming done by a team of juniors.
Juniors are working in India.
Application migrated from SUN/OS into RS6000/AIX
FINTECH: means huge amount of transactions
We are on the backend of the landscape, Business requirement 0.5 seconds response time.
The application did 0.9 seconds.
Sometimes 1.5 seconds (every full hour... a bad peak)
Several (internal) experts looking at the code and environment.
at the environment they found a wrong priority setting in LPAR (sorry very technical). Into another LPAR there starts, every full hour, a storage management process what delays all other LPAR-partitions.
this bad peak issue was solved within 1 or 2 days.
The internal experts could not deliver how we could speed up the application response time.
We hired an JAVA code expert to do a code inspect and asked him to deliver a report an advice to improve the application, including application performance.
Expensive guy, € 2800,00 a day. But he deliver his report in two days. Great report, great value.
We send this report and advice at Tuesday afternoon to our team in India.
Application runs at 0.1 to 0.2 seconds at Friday that week.
Actions by example 2:
below is only a small subset of what is done:
reconfigure Workload Manager using the latest released benefits.
deep analyse to improve and improved indexes
The way of programming
because the huge amount of transactions (read database inserts) we changed the way of programming. Inserts done for example every 5000 transactions and then do a commit.
CICS parameter setting
>1800 Transactions per second.
reports running faster (one sample was 17 times faster as before)
several other mainframe Z/OS running faster/better as ever before.
number of Database deadlocks >99% reduced
The availability and the reliability of the application landscape was improved. Landscape feeling changes from doubtful to best of breath. Business happy, team happy and management happy.
A few lessons learned here:
Every upgrade, look into it and use the benefits.
Technical depth will kill your performance and your application and your business
Code and environment inspects will bring you expert advice and helps you moving to a higher maturity level and engage your team members
These inspects cost you money but delivers you a huge amount of benefits. Probably delay of invest new Hardware or Software.
2nd quote on this page: there are people who can program, and there are programmers. Totally different people. Programmers will deliver structure and documentation in the code. Programmers will deliver error handling into the code.