[PYTHON] A story about a war when two newcomers developed an app

This article is the first day of the new Advent Calendar 2016.

Full of Tsukkomi elements! ?? App development by newcomers

I am writing about the application development that I did in the training for newcomers. For app development, we have developed a task "** Web app that newcomers can use for meetings! **" given by a team of two newcomers. When a newcomer developed an app as a team, there were three wars. Moreover, there is no doubt that you will want to put in Tsukkomi!

Introducing your partner

The partner has the technical ability to compete for the top among the four newcomers in the same department! It is a very reliable existence for me who lacks technical skills.

Development was done according to the following schedule. 開発スケジュール.png

Self-introduction

I am a new engineer for a certain SIer. Currently training in the R & D department. I mainly study app development and machine learning in Python and Django. I didn't do much programming when I was a student, so I was overwhelmed by the high technical level of the department.

The war broke out in this way

Our future is bright-a smooth start-

From the content of the hearing, our team agreed that the issue of new sales is "** There is a big gap between knowledge and experience with veteran sales! **".

To "close the gap between new sales and veteran sales," we focused on ** preparing for meetings **. I heard that I don't have much time to communicate with my seniors in the hearing, so we decided to create a chat app as a place for timeless communication. The purpose is to ** to fill the gap between knowledge and experience by asking what you don't understand ** </ font> in chat.

Rewarding and fulfilling-App development is fun-

After deciding to create a chat app, we will start creating the finished image and dividing the roles. It was still peaceful. I was mainly in charge of screen design (HTML, CSS, JavaScript). At this stage, the results were visible in proportion to the time, so both individuals and teams were able to spend a fulfilling time.

Outpost Battle-Disagreement Recognition-

Preparation for interim presentation

A serious problem is discovered in the development that has been proceeding smoothly. Notice that there was a ** gap ** within the team. When I finished making the presentation materials and had my partner check it, I was pointed out that there were some differences.

One of them

** "Ask what you don't understand" instead of "question", right? ** </ font>

Was pointed out. This point is about the explanation of the usage scene of the application.

"Hmm?" "Eh?"

At the same time, I felt that my partner was very angry. When I consulted with my seniors because I didn't know what the problem was and my partner was angry and couldn't talk, he advised me, "Did you want to say ** consultation ** instead of ** question **?" I got As expected, he is a senior.

After some time, we talked once to clarify the discrepancy between the two. As a result, it was discovered that the two people's perceptions of the keywords of this application development, such as "understanding", "recognition", "communication", and "coordination of opinions", are misaligned!

Two people who want to fill the ** gap ** are not able to fill the ** gap ** ...

Interim announcement feedback made into a beehive

We will sort out the discrepancies between each other, complete the presentation materials, and make an interim presentation! So, I announced it at the subcommittee. as a result

  • This app has no concept!
  • Is it for new business?
  • You can do it with existing apps!

It was splendidly scattered. For us, the concept was "chat for meaningful discussions". However, when you think about it again, "meaningful discussion" is a matter of course. It's not a chat. When I realized that, I decided the concept and thought that the second half would start.

Mid-game ~ Don't talk! For the time being, hit each other! ~

The second half of the game, where additional functions will be developed based on the feedback received from the interim announcement. However, the first half of development is about one month, while the second half is ** 1 week **! Development policies clash here!

Self: ** Focus on quality ** Companion: ** Emphasis on delivery date **

The difference between "what to make" and "what can be made". Personally, the point that "there is no concept" was most heard in the interim presentation, so I thought that after deciding the concept, I proposed to think about additional functions and got the consent of the other party.

But, but

The concept proposed here is not adopted. Rather, he dismissed it as "not in time". (Self) "The concept is XX, how about adding XX functions?" (Companion) "XX cannot be made within the period" Get angry here (Self) "Then, do you have any ideas?"

The partner's proposal is to make something concrete, "make △△". Naturally, I ask, "What is the concept?"

(Companion) "Create △△ function" (Self) "What is your concept?" (Companion) "Significant discussion (concept at the time of interim presentation)" (Self) "No, you said that there is no concept, right?" (Companion) "If it is 0 or 1, it is not 0, so there is!"

(Self) " ** That's not it! ** </ font>", (Companion) " ** I don't admit that there is no concept ** </ font>" … The beginning of a no-guard fight

After three days of such exchanges, I was running out of time, and I combined the concept I had in mind (in an interview with the development of new sales staff) and the function I had in mind (inviting bots to participate in chat).

"** Bot will listen to what is difficult to hear instead! Interviews are realized with a chat app! **"

I settled down. We overcame many conflicts and successfully completed it within the development period.

Final Battle-Commitment to presentation materials! Tsukkomi inevitable ultimate weapon! ~

The development was completed, and I was in charge of the presentation materials for the final result announcement. Since the application development this time was "** Gap " in both rabbits and corners, I used " Gap! **" as a keyword in the presentation materials (7 times in total). Then, I was angry with my partner because I overused " **! ** </ font>".

However, I couldn't give up here. As for the materials for the interim presentation, I was advised by my seniors that "it is better to clarify what I want to convey", so if I insisted that "** Gap! **" could never be handed over, my partner would say this. I did.

"Overuse of **! ** makes the impression less impressive. ** Wolf Boy ** </ font> can't be heard at the end, right?"

Overuse is certainly ...? e? ** Wolf boy? ** </ font> Wolf Boy ** Lie ** (ry I was wondering, but in the end I erased some "!", Announced the final result, and finished the application development. Congratulations, congratulations.

Reflection and improvement

Reflection

The biggest reflection point in this application development is

** It was late to notice that the two people were not aware of each other **

That is. Because of this, they deny each other's opinions and suggestions and hit each other. After exposing everything, I finally realize that the roots are out of alignment. As a result, the time I was thinking about the things and ideas I made by the time I realized it was wasted. The impact on development has increased.

Improvement

As an improvement, I thought that it would be possible to prevent misunderstandings and misunderstandings by first creating and visualizing documents and presentation materials, clarifying goals as a team, and then proceeding with development. Also, even if there is a gap, you will not have to suffer from rework work because you have not developed anything yet.

Actually, when I developed another application (team development with 3 newcomers), I did the following as a preliminary preparation before starting development.

  • Clarify the goal of "visualization of the entire system"!
  • "Role sharing" Focus on your work!
  • "Prototype small things" Understand what kind of things will be completed!

As a result, there was no war during development. I think it was a big influence that everyone had a clear goal to go to.

If you are developing a team for the first time, why not try it as a reference?

Finally

I've experienced app development and team development for the first time, and I've done good things, bad things, things I've done, and things I've done, but if I have another chance to develop apps on the same task, everyone I want to make an app that makes me want to use it.

Thank you for reading until the end.

Recommended Posts