How we tried to work in a team, and what came of it
Let's go in order
What does this picture mean a little later, and now let me start with an introduction.
On a cold February day, nothing boded ill. The group of innocent students came for the first time for a couple in the subject, which they decided to call "Methodology for the organization of design and development of information systems." There was a regular lecture, the teacher talked about flexible development methods, such as scrum, nothing boded of trouble. And at the end, the teacher announces:
I want you to experience all the hardships of teamwork, divide into groups, come up with a project, appoint a leader and go through all the design stages together. In the end, I expect from you a finished product and an article on Habr.This is where our story begins. Like balls in billiards, we bounced off each other until the energy of the blow was dissipated and a group of 7 people gathered together. Perhaps this is too much for a training project, but in order to better distribute the roles, that is. The discussion of ideas for the project began, from “Let's take the finished project” to “Emulator for the formation of space objects”. But in the end, an idea passed, the name of which you read in the first picture.
Stop Procrastination - what it is, what it is eaten with and how we developed it and what came of it
The story will be conducted on behalf of the project manager, who fortunately or unfortunately appointed me. So what is the idea that came to our mind? Inspired by the popular “Shake Alarm Clock” alarm clock from SupperCommon, namely, the function to completely block the smartphone’s operation until the user performs a certain action, which will most likely make him wake up, we decided to create a similar application that will help get rid of telephone dependence, by the same principle as “Shake the Alarm Clock”
Principle of operation
The user sets the timers
-Time that can be spent on the smartphone
-Time without a smartphone (lock period)
After the timer expires, an overlay appears on the screen that cannot be minimized
-To close the overlay you need to pass a small test (enter the password on the confused keyboard, solve the math problem, shake phone a couple of minutes)
After unlocking in this way, the time that can be spent on a smartphone is reduced by half, and so on up to one minute.
Building a team
To begin with, it was necessary to determine who will do what and in what language all this will be written. I think that this has little to do with project management, because when you assemble a team for a real project you immediately gather those who you need. As a result, I also took on the responsibility of the designer, chose one team leader who had good experience in application development, three programmers were assigned to him, and two more became testers. Of course, the programming language was chosen by skill. As a result, it was decided to use Java, since all programmers were familiar with it.
We set tasks
On the recommendation of the teacher, a task board was created on the free Trello service . It was planned to work on the Scrum system, where each stream will be a kind of complete application.
However, in fact, one big and long stream came out of all this, into which edits, additions and corrections were constantly introduced.
Writing specsUnder the influence of Savin’s book Testing.com, I had in my head my idea of how everything should be arranged. It all started with writing specifications, as I believe without a clear description of what we expect, what and how it should work, nothing will work. Programmers will program everything as they see, testers test another, the head waited for the third, and as always the fourth will turn out.
Writing specifications is not easy, you need to think through all the details, all the nuances. Of course, nothing happened the first time. As a result, the specifications were supplemented, redone 4 times. You can find the last option at the end of the article, in the links section.
Design in a mobile application is the most important thing. However, not everyone understands this, including from my team, many vigorously argued with me that the design is not needed, that this is the most important part of the application, etc. Don't be so naive. Firstly, the finished design is a relief to the work of the programmer, he does not need to think about where and where to cram, he just takes and typeset what is drawn. Together with specifications, design almost completely frees the programmer’s mind from unnecessary things, and gives him the opportunity to concentrate on logic. In general, a prototype (terrible) design was first drawn:
But then the design was combed and brought back to normal appearance.
(Link to all design elements at the end of the article).
Programming is difficult, but possible. I will omit this moment, since I personally did not do this. The programmers did a great job, without which everything would be pointless. Of course, I managed to realize some of the ideas. And the program still needs refinement. A lot of bugs and features that need to be removed. If we had more time, we would crawl out of deep alpha, but for now you can test the application at the end of the article.
Well, about testing
What is the main thing in programming? In my opinion, the main thing is that everything works and looks as it should. As it comes out, it is not always and not immediately. This requires testing. For my testers, I proposed a test model using test cases. First, test cases are written in full accordance with the specifications, and then they are tested. What came of this can be seen below in the links.
Thanks for reading. I hope you find at least something useful here, maybe an idea for your startup, or maybe good advice or a tool.
Latest specifications .
Design by Figma .
Test cases and bug reports .
The application itself on HokeyApp . - The application was built under the name HandsOff, do not even ask why (because Stop Procrastination is too long).
Well, at the end
Do you think all this made sense?
Only registered users can participate in the survey. Please come in.
Is such practice necessary in educational institutions and how useful and applicable is it in real life
- 52.3% needed, invaluable experience 33
- 34.9% needed, although a little experience 22
- 4.7% Almost useless, maximum understand the general features of teamwork 3
- 7.9% A waste of time and effort 5