Service Philosophy
SI Service
What is SI Service?
It is to help customers (various companies, organizations, and individuals) achieve what they want to achieve by using software.
What you want to accomplish may be solving a problem or starting a new business.
Creating software is not the goal. The goal is to use the software to help our clients achieve their goals.
Difficult and challenging
In a nutshell, SI service means, as mentioned above, "creating software to help customers achieve their goals," but it is very difficult to actually implement, and the goal can only be reached by taking the most appropriate methods and actions each time while constantly considering various points. There are countless things to consider, but some of the most common are as follows.
-
-
Comprehension
- The client is a specialist in the problem they want to solve or what they are trying to implement, but we need to talk to them at a stage where we have a limited understanding of their field, and we need to understand their problem correctly and find a means to solve it. In other words, we need to be able to understand quickly.
-
communication skills
- Customers are naturally human, and there are many different types of people. No matter what type of person they are, you need to be able to talk to them and find out what they want to do. Also, since it is the first time to meet someone, you need to be able to break down barriers.
-
Know-how on development methods
- Some customers want us to define the functionality of the software to be created first in documentation, while others want us to be flexible and create the software without the need to create documentation. Selecting the most appropriate development method that meets the customer's requirements will bring us one step closer to achieving our goals.
There are several development methodologies such as Waterfall, Agile (Scrum), and XP, but they often fall somewhere in between, so it is important not only to know how to use Agile, but to actually use it and sublimate it to your own way of doing things so that you can apply it to various situations. It is not just a matter of knowing how to do Agile.
- Some customers want us to define the functionality of the software to be created first in documentation, while others want us to be flexible and create the software without the need to create documentation. Selecting the most appropriate development method that meets the customer's requirements will bring us one step closer to achieving our goals.
-
Software Design
- Even if you say, "Software that can do ________."
● I just want something fast.
● I want something beautifully designed.
● Ability to handle large amounts of data is important.
● Must be completed in 3 months.
There are a variety of points to focus on, such as
To achieve the points that should be emphasized,
● What should the language be?
● Will servers be in the cloud or on-premise?
and require a lot of experience and knowledge to make such decisions.
- Even if you say, "Software that can do ________."
-
mounting
- It is not so difficult to make the most basic patterns work. However, it is not so easy to make one that does not behave strangely in unexpected situations. Other,
Again, a variety of knowledge is required, as not understanding the inner workings of a computer can slow down its speed.
Also, it is not often these days that we build everything from scratch. We select the best of many libraries and frameworks and use them in combination. Libraries vary widely, from insufficient functionality to slow speed. It is important to always watch the latest information and try out the libraries to choose the right one.
- It is not so difficult to make the most basic patterns work. However, it is not so easy to make one that does not behave strangely in unexpected situations. Other,
Again, a variety of knowledge is required, as not understanding the inner workings of a computer can slow down its speed.
-
team building
- There is a vast amount of knowledge about the most software, and it is impossible for one person to acquire all of it. However, it is impossible for one person to have all the knowledge needed to create good software. The solution to this problem is to bring together a team of people who are experts in their respective fields to create software, but it is not easy to bring the full potential of the assembled people to bear.
Therefore, a leader is needed to lead the team. It is not easy to unite people with disparate ideas, backgrounds, and knowledge, but it is essential to create software, and it is important to create a system that allows members to maximize performance and to continue to improve it.
- There is a vast amount of knowledge about the most software, and it is impossible for one person to acquire all of it. However, it is impossible for one person to have all the knowledge needed to create good software. The solution to this problem is to bring together a team of people who are experts in their respective fields to create software, but it is not easy to bring the full potential of the assembled people to bear.
-
R&D
What is R&D?
In R&D, we think up and create services that we believe are necessary for the world. The completion of a service is only the starting point, and it can be called a success only when that service is accepted by the world.
Difficult and challenging
As mentioned above, even if you create a service with the assumption that it will be necessary for the world, you cannot be sure whether it will be accepted. This is a very difficult point. However, you can increase the probability of success by thinking strategically about how to get the world to accept your service, rather than creating a service based on guesswork.
-
-
Strategies to increase the probability of success
- There are a number of strategies to increase the probability of success, but we often use the "test if it works in the simplest and most direct way possible" method.
For example, let's say you are trying to create a very useful e-mail software. To make it "useful," you need to create features that are not available in other email software.
The normal flow of thinking is "create an e-mail software with a function" → "have people use it and check if it is useful", but if they do not find it useful, the time and money spent on creating the e-mail software will have been wasted. To avoid this, we take the "verify first" method.
Specifically, we will "express functions that may be useful in hand-drawn pictures or parapara cartoons, and have them confirm ahead of time whether they seem useful or not.
It is not so easy to make e-mail software, but it does not take much time to make a picture or a parapara manga.
If the result "looks useful," we will actually create the mail software. If it "doesn't look useful," we can rework the picture slightly and check it again, or if it just doesn't feel useful, we can give up on "useful mail software" and start thinking of something else.
- There are a number of strategies to increase the probability of success, but we often use the "test if it works in the simplest and most direct way possible" method.
-
-
-
UI(User Interface)・UX(User experience)design
- Nowadays, a variety of devices such as smartphones and tablets have appeared on the market, and we must not only pay attention to the age and gender of the user, but also consider the "usage environment".
Similarly, "flat design" has become the mainstream, and skeuomorphic design, which was popular a few years ago, has become something to be shunned.
In this way, "beloved designs" are constantly changing from day to day. It is important to be sensitive to the needs of the times in order to provide users with designs that will continue to be loved for as long as possible.
When considering the age and gender of the target audience, we design the UI with visibility and operability in mind, as well as layout, typography, colors, icons, metaphors, etc. to ensure consistency.
In addition, when considering usage environments such as at the office, at home, or while traveling, it is necessary to respond to various devices, so it is very important to construct UX designs that match the operability of each of these devices.
- Nowadays, a variety of devices such as smartphones and tablets have appeared on the market, and we must not only pay attention to the age and gender of the user, but also consider the "usage environment".
-
- Production Achievements
Relationship between SI services and R&D
We run SI services and R&D at the same time. There is a reason why we do both at the same time. We do it because it creates synergy.
Characteristics of each
- Because SI services are always changing clients, it is possible to be involved in the construction of services for various industries with various people, and it is easy to gain various knowledge and skills. In addition, since we are paid by our clients, we need to deliver reliable results, and "certainty" is an important factor when choosing among various means. As a result, the probability of adopting new technologies is not very high.
- R&D is Because we are ultimately responsible for whatever services we provide and whatever results we achieve, we are relatively free to choose different things, and it is easy to adopt new technologies and put ideas into practice.
synergy
-
-
SI Services → R&D
- They can come up with their own services based on the specialized knowledge in their field gained from SI services and put it into practice in R&D.
-
R&D → SI Services
- New technologies and systems (ways of proceeding) introduced in R&D can be used in SI services to improve work efficiency and software quality.
-