Soft audit practice・Audit day 3: Understanding the outline and scale of the organization (1/2) 

22/01/2021Audit for soft-Develop..

We will proceed by dividing into four areas of software development audit

In an article up here, ready to audit the day and how to proceed with the audit on the day because we have been introduced, such as, from this article check list of software audit while watching also, to introduce the check point of a little more specifically audit I will continue.

Software development audit is the outline and method of software audit 1: Soft audit is the process Kansa + As introduced in the article of technical ability audit , the other party uses the software audit checklist divided into the following four. Confirm the software development capabilities of the previous organization. This article and the articles that follow it will be introduced in this order.

  1. Auditing the development process
  2. Audit of development technology (required specifications)
  3. Development technology audit (test)
  4. Audit of development technology (design / implementation)

But before that, the other party will introduce you to the outline of the organization.

So, before we get into the introduction of the four checklists, let’s talk about one more thing. Software Development Audit Overview / Preliminary Schedule Part 1: If you look at the audit plan introduced in the article on audit plan explanation, you will receive an explanation of the development system / quality assurance system / development flow from the partner organization following the opening meeting. I have time. 

Actually, even with this explanation by the partner organization , if you listen to the story while paying attention to some points, you can understand various things in judging the software development ability of the partner. So, in this article, I would like to introduce what kind of points Father Gutara was careful about when listening to the explanation of the other party.

Outline and scale of development organization

In the explanation by the other party, first of all , understand the organization related to software development and its scale . Specifically, it is a confirmation of what name and role the department has and how many people there are , and who is the leader . 

This is not the correct answer as to what kind of organization is needed for software development. Even if you say software in a word, the purpose and scale are all different, so you can not decide the necessary organization, but since almost all activities are done in the human head, what kind of organization is appropriate I think the truth is that I don’t really understand.

However, as Gutara’s father, who has lived in the field of embedded software development for many years, he confirms whether there is an organization as introduced below and uses the software development ability of the other organization as an aid in making decisions. rice field. Let’s take a look at the functions assumed for these organizations and points to note when listening to explanations from the partner organization.

(1) Status of the development team

This doesn’t need to be explained. It is a team to develop software that gathers designers / implementers / design testers to develop software to be installed in products. Usually, one team consists of several to at most ten people, and the team leader manages the entire team. If the scale of software development is large, I think that multiple teams are sharing the development.

One thing to keep in mind when checking the development team is the size of the team . The size of the software development team is roughly determined by the number of people that one leader can take care of . In my experience with Gutara, about 5 people are best, and 10 people are a little too big to see all the team members. This number is a criterion on the premise that the leader participates in all the design and implementation reviews of all members, so if measures such as attaching a sub-leader and sharing the review are taken, it will be a little over 10 people. I think it’s a scale that can be managed.

(2) Status of the test team

The test team is the team that is in charge of testing the software created by the development team, and refers to the team that is operating as a team separate from the development team . In some cases, there is a test team in the design department separate from the development team, and in other cases, there is a test team in a quality assurance department that is independent of the design department. Of course, if the software development organization is small, there may not be a test team that is independent of the development team.

The first thing to keep in mind when checking about a test team is whether there is an independent test team as a development team . It is also an important confirmation point what the test team’s test is for.

There are various ways to divide the purpose of the test,  but it can be roughly divided into ( 1) finding a bug and ( 2) confirming that there is no bug . The test aimed at finding the bug in (1) is a test performed by software designers and implementers as part of the debugging work to find the bug and fix it, such as unit tests and integration tests. is. The test, which on the one hand for the purpose of confirming that there is no ② of bugs, such as quality assurance department is to make sure that there are no more bugs in the software, whether they reached a good quality to release the This is a test to make a judgment.

Tests for both purposes have the same test design and implementation, but different purposes. However, the development team conducts tests to find bugs, and a test team independent of the development team conducts tests to confirm that there are no bugs, and so on , it is a separate team according to the purpose. It is more secure as a software development organization.

(3) Is there an architect team and what role does it have?

The architect team is a team made up of engineers with high software skills , although many people may not be familiar with it . Teams are called architect teams, senior engineer teams, review teams, and so on. 

There are various names, but the engineers of this team have high software technology and experience, but they do not belong to the individual product development team . Instead, the team’s purpose is to participate in reviews and provide technical consulting at the request of the product development team .

Every company has a limited number of technically skilled engineers. A company that creates an organization that makes those excellent engineers work as a team that widely supports the development of various products without belonging to a specific product development team is a company of excellent engineers. You can see that you are using your abilities efficiently . Therefore, carefully check whether there is a team with such a purpose in the organization, and if so, what kind of activities they are doing.

Continue to the second half page

It’s been a bit long to explain, so this article ends here and I’ll continue on the next page.