When developing a system, there are various development methods, so it is necessary to make a selection.
“Scrum development” has the highest recognition among the “agile development” that has been spreading recently.
And an important element in Scrum development is ” sprint “. You can get various benefits by repeating the procedure of repeatedly planning and reviewing.
This time, for those who are investigating system development methods, we will explain in detail what you need to know about agile development, Scrum development, and sprint.
table of contents
- 1. Flexible and speedy development method! What is agile development?
- 2. Shorten the period! What is a sprint?
- 3. What are the advantages and disadvantages of sprints?
- 4. How do you make a sprint? Explanation by dividing into steps one by one
- 5. Ask outside for agile development
Flexible and speedy development method! What is agile development?
In conventional system development, a development method called “waterfall development” was famous. The waterfall is a method of developing and launching in the following procedure.
- 1. Define system contents, budget, and personnel in requirement definition
- 2. Design the basic UI and internal functions
- 3. create the system
- 4. Run a single program or multiple programs to verify the operation
- 5. Verify the operation of the entire system and launch if there is no problem
Waterfall development was a good development method in the old days when there was little liquidity in the system field. But now things are changing. The biggest strength and weakness of waterfalls is “long-term development as planned once decided”. Once a plan change is decided, there is no change, only the site creates the system according to the decision procedure.
However, the Internet is now widespread and society is highly liquid. There is a risk of launching a system that does not meet your needs unless you develop it by carefully reviewing and considering the plan while receiving user feedback diligently. That’s where “Agile Development” came in. Agile development is done by the following procedure.
- 1. Move customer satisfaction first
- 2. Providing software quickly
- 3. Clients and developers work together on a project
Agile is a development method that assumes trial and error and creates a system in weeks or months. The feature is that we are constantly developing while considering reviewing the plan each time. Compared to the waterfall, which requires long-term development without change once decided, it has the following advantages.
- You can immediately launch a product with the minimum functions
- Planning and development work including flexible changes are possible
- You can adjust the function by feeding back the user’s voice diligently.
Of course, there are disadvantages, but as a mainstream development method in the future, development personnel will need to understand the basic mechanism. This agile development is suitable for the following development projects:
- Native app development
- System development where customer needs change frequently
- Development that requires the launch of a minimum product in a short period
For native apps that receive frequent reviews from users, there are many situations where functions are added or deleted in agile development after being released in the app store. Agile development can also be useful for system development where customer needs may change frequently, or for projects where simple products must be released in a short period.
By the way, there are various methods for agile development, but the most famous one is “Scrum development”. As the name suggests, it is a development method derived from rugby scrum and emphasizes cooperation between team members. Understanding Scrum development will make it easier to understand the goals and concepts of agile development. If you want to know more about agile development, see the articles below.
■ What is agile development? Advantages and disadvantages of development methods that can not be heard now
Divide the period short! What is a sprint?
Sprint has the meaning of “sprinting” in Japanese and is the standard idea for Scrum development. To briefly explain, we divide the time into small pieces and set goals in the development.
In the sprint, we build a period called “timebox” based on about one week to one month. The feature is that specifications are designed, developed, and released for each time box, and development is repeated. Good management of sprints is required for smooth development in Scrum development. When assembling and developing a sprint well, collect resources with the following roles and team up.
- Product owner: General manager who manages projects, etc.
- Scrum Master: Coordinator who solves problems in development and explains rules
- Development member: A member who has the skills to design and build a system.
By the way, there are cases where sprints are called “iterations” (meaning “repetition” in Japanese translation). In conclusion, there is no difference in meaning between the two. To explain the difference, iterative development is often referred to as iteration in agile development as a whole, and sprint in Scrum development. In Scrum development, it would be better to use the word sprint for unified development so that it would not confuse.
What are the advantages and disadvantages of sprints?
Sprints have the following advantages and disadvantages:
|Advantages and disadvantages of sprint
|Easy to respond to specification changes and unforeseen circumstances
|It takes time to learn
|Easy testing and feedback
|Management becomes complicated
|Short-term goals lead to increased motivation
|Communication between members is essential
I will explain each of them.
● Advantage 1: Easy to respond to specification changes and unforeseen circumstances
By utilizing Sprint, you can proceed with the development and release of functions in short periods. Since one sprint is completed in about one month at the longest, frequent review is easy. Therefore, even if a client’s request causes a major specification change in the system, or a malfunction occurs in a function due to an unforeseen situation, the problem can be resolved immediately. On the other hand, in waterfall development, it is difficult to respond immediately when the above situation occurs.
● Advantage 2: Easy testing and feedback
The great thing about sprints is that they can strongly reflect the voice of the user who uses the system.
If you decide the user needs once and then proceed with the development like waterfall development, you may get dissatisfied later that “it is not such a system that we wanted to use”. To eliminate the discrepancy between user needs and the system to be developed, it is effective to listen carefully to user needs and reflect them in the system. The idea of sprints is a good way to positively reflect this user’s need. This is because of the testing and feedback process, such as:
- Develop new features in a short period
- Feedback of user feedback in operational tests and releases
- Consider adding or reviewing functions, and deleting if necessary
Now that the liquidity of user needs is high, frequent system updates are indispensable for the continuous use of the system. Run sprints in Scrum development to achieve continuous system improvements.
● Merit 3: Short-term goals lead to improved motivation
At the base of Scrum development and sprints are the working members. It is important to have an attitude of working on development while communicating closely among members. Since goals are set in a short period, it is an advantage that developers can easily have the meaning that “the work they are doing now has this meaning” for each sprint. As a result, you will be more motivated and it will be easier to create high-quality systems.
In the case of waterfall development, there is a final goal, but we do not set a goal for each process. Therefore, there was a concern that the motivation of the development site would drop on the way. If you’re struggling to stay motivated for waterfall development, try new ideas for Scrum development and sprints.
However, sprint is a method used mainly for Scrum development and is not suitable for waterfall development where system development is carefully planned from the beginning. “Let’s put a sprint into waterfall development” is not recommended. Below, we will explain the disadvantages of sprinting.
● Disadvantage 1: It takes time to learn
When setting up and running a sprint in Scrum development, you need to keep the following points in mind:
- Be short-term
- Members concentrate on working within the period
Especially for companies that are accustomed to waterfall development, it is necessary to learn the concept of Scrum development and sprint from scratch. It will be difficult to get used to it immediately because the items and development processes that are important during development are completely different. To some extent, it is also important to practice developing with sprints.
● Disadvantage 2: Management becomes complicated
The basic idea of a sprint is to set goals and plans diligently and develop each function. The disadvantage is that as the number of sprints increases, it becomes more difficult to manage the entire system, and it becomes difficult to properly manage “how far we are making the system now”. Therefore, to create a sprint and manage it properly, it is necessary to secure resources such as an administrator (project manager) who is familiar with development in-house.
Another disadvantage is that if the number of sprints increases due to client requests, the development period will be prolonged. Depending on the development requirements of the system, it may be a good idea to choose waterfall development, which creates the system with a clear development period.
● Disadvantage 3: Communication between members is essential
Again, communication between members is essential for development within the sprint. If even one person misses or delays the communication of information, the entire project will be affected. Not only do we have the skills necessary for development, but we also hold the key to successful development in terms of “building a team relationship where we can share issues and progress without hesitation.”
Engineers who have been working silently may feel that they are not good at communication. Before performing a sprint in your work, it is a good idea to train in communication tips and how to work as a team.
How do you make a sprint? Explanation by dividing into steps one by one
From here, I will explain how to create a sprint.
● Product backlog creation
First, we will create a “product backlog” that summarizes the system requirements. Let’s create it mainly by the product owner who is in charge of the project. The product backlog describes the priority of functions in the system. It is also important to make a sprint plan based on the contents described.
● Sprint plan
This is the process of deciding how to proceed with basic development in Sprint. Based on the product backlog, we will create a plan called “sprint backlog”. The following items should be included in the sprint backlog.
- Sprint goals
- Development period
- Detailed system specifications
- Contents of work
- Each person in charge of work
● Sprint implementation ・ Daily Scrum
After the production of the sprint backlog is completed, the next step is to carry out the sprint. Meetings called “Daily Scrum” are held regularly during the sprint. In Daily Scrum, it is ideal to share the work status so far, today’s work schedule, current issues, etc. in a short time. If you have a problem with your progress or find an issue, don’t leave it alone and take immediate action.
● Sprint Review
Sprint reviews are simply system verification. The product owner will be present to check the operation of the completed stem. If necessary, stakeholders such as customers who are not directly involved in development should also participate. If there is no problem with the function, move to the release, and if there is a problem, take measures such as solving it in the next sprint.
● Sprint Retrospective
Once the sprint process is complete, we also need to have a “sprint retrospective” as a reflection meeting. In the Sprint Retrospective, we will reflect on the good points and bad points of the sprint execution, how to utilize the feedback, etc., and exchange opinions so that the next sprint can be advanced better. After the Sprint Retrospective, go back to backlogging and sprint planning and build your system over and over again.
Let’s outsource agile development
Scrum development is a system development method suitable for the present age with high liquidity. However, it takes time for companies that have not been running until now to learn from scratch and get used to development. In addition, resources that can successfully produce and manage sprints are also essential for Scrum development. If you are not confident in Scrum development or sprint execution, or if you do not have a development environment or engineers in the first place, order system development from outside. When outsourced, it is attractive that the contractor will create and implement the sprint. The following pages introduce system development companies that specialize in agile development.
If you ever want to know about similar things, check out the Facebook page Maga Techs