How to find business-related errors at the beginning of software development practice?

I work with a good group of very sharp developers at one of my client rooms. We correctly code for NullPointerException and other exceptions, so we don’t have them. But when it comes to business rules, we have some mistakes and find problems when already in production. Of course, we have a very fast-growing environment, and the deployment to production is controlled by a team of managers, not development. But we passed the green light with data quality and quality teams.

What are the best methods for finding business-related errors at the beginning of the software development process.

+6
java debugging agile
source share
9 answers

"What are the best methods for finding business-related errors at the beginning of the software development process."

A few things.

  • Use cases.

  • Common case-based tests.

  • Case-based device testing.

It is important to connect the system - in general - with real actors, real business value. Focusing on technical issues is too easy. To avoid narrow attention to technical issues, use use cases and test them.

+6
source share

User acceptance testing focuses on such issues.

+3
source share

User stories / Case studies should be specific enough to determine critical acceptance points; Acceptance criteria should include all business rules in order to prevent the described situation, and if your unit tests simply verify technical capabilities, they are insufficient.

Can you find out about the incidents you are talking about, why they were not covered by these artifacts?

In addition, in my experience, this is the # 1 advantage of continuous integration and Deliver Early and Frequent — you should not discover invalid business rules more than a day or two after the functionality is encoded.

+3
source share

I found FitNesse helps in many such cases - essentially, for oversimplification, users indicate important examples of “input” and what corresponding “output" they expect, and the testing environment checks for proper compliance. Check it out, it will not solve every problem of the wrong business rules, but it will help many.

+2
source share

The best way I know to catch business problems early is to listen carefully and ask a lot of clarifying questions. "Do you mean...?" and what about ...? "can slow down the meeting, but it can quickly get a lot of information on the table. It seems that QA and data quality people should be in the room during these conversations.

But if this is the quality of the client’s QA and the quality of the data, the people who subscribe to the things that you later find are not right, they also have a problem, and as a supplier / contractor / consultant this is not a problem for you to solve (without specifying).

+2
source share

As agreement with the answer on akf, I would like to recommend a comprehensive guide, "User stories used . "

+1
source share

Interacting with someone who is knowledgeable about the business. I find that simple flowcharts work well - they can present use cases in diagrammatic form that are easier for the user to understand.

It is also important to have early and frequent interactions with the user - to determine all data requirements at each point of the use case, where the data comes from, data restrictions, etc. Using examples using sampled data is useful for discovering misunderstandings here.

It also helps to have an early prototype. Powerpoint is good for this, as it does not force you to start coding at an early stage.

+1
source share

If these business rules can be (effortlessly) expressed in code, “ Design by Contract” may be useful in your situation. Use statements to make sure that every part of the program plays by the rules.

+1
source share

Your story cards must have

  • eligibility criteria

which will lead to the creation

  • Unit tests to be tested (write unit tests first)
  • automated functional tests
  • a complete regression test is performed at least daily (if not with each test)

In addition, the entire user acceptance test developed by the business should be captured in your automated functional tests.

If your developers use

  • pair development
  • test-based development
  • continuous integration
  • refactoring

then such methods will lead to defects in zero or near zero during UAT and in production. The exceptions are defects found in the UAT or in production. If you do not follow the instructions, then most of the teams will be lost and spent on troubleshooting. We found that if a defect found in development costs 1x, it costs 2 times for correction during a functional test, 3 times for correction during UAT and 4x for correction if it is found in production. As you can see, driving a defect to the left (earlier in the development life cycle) is more than paying for itself.

+1
source share

All Articles