What is the system development schedule? Explaining how to create WBS etc. and tips for managing it well

What is the system development schedule? Explaining how to create WBS etc. and tips for managing it well

table of contents

"What is the basic schedule for system development?"
“What methods are there for schedule management?”

Some people may have questions like these when developing a system. The schedule flow for system development varies depending on the method, but it basically goes like this:

  1. Requirement definition
  2. Various designs
  3. development
  4. test
  5. Operation

Although the flow itself is simple, schedule management is extremely important in system development.This is because deadline management, resource allocation, etc. are performed based on the schedule. Therefore, today, various schedule management methods such as WBS and Gantt charts have been created. It's a good idea to use these techniques to keep your schedule running smoothly.

In this article, we will explain the basics, management methods, tips, and important elements of schedules in system development. We will also touch on frequently asked questions, so if you want to understand system development schedules, please read this article.

Requirement definition and more! Explaining the system development schedule

The system development schedule basically proceeds as follows.

  1. Requirement definition
  2. Various designs
  3. development
  4. test
  5. Operation

Requirement definition

The first thing to do in system development is "requirements definition."The following items can be determined in this step:

Example requirementsConcrete example

Functional requirements

Data Entry

User Management

report generation

Non-functional requirements

System response time

processing speed

Performance in throughput

Security Requirements

Access Rights

Data encryption

backup

The requirements defined here will become the standards for system development, so it is necessary to define them as strictly as possible. If the requirements definition remains ambiguous, changes in specifications are likely to occur during development, which may increase construction time and costs. We recommend that you take the time to define the functions you think your system will need from a variety of angles. Keep that in mind when scheduling.

Various designs

We will perform various designs in accordance with the requirements definition document.There are mainly two types of design: "external design" and "internal design", and their respective roles are as follows.

External design exampleInternal design example

Servers required to provide services

Client used by the user

system hardware

The foundation of the system that runs internally

Logic that processes software

Internal data structure

Simply put, "external design" refers to the step of designing the visible parts such as the operation screen. Since it will be a part that you will touch when using it, you will need to pay attention to its appearance and ease of use.

On the other hand, "internal design" refers to the design of the software parts that run behind the scenes, such as data structures. It can be said to be the step where you consider things like, "How can the system functions defined in the requirements definition be realized?"

development

Once the various designs are completed, we will start the actual development.Programmers basically work with their hands based on the design documents created during the internal design stage. The languages ​​used in programming are as follows.

Programming Language ExamplesExample of use

C language

It is used in programming, embedded system development, etc.

C#

It is used in the development of web and mobile applications.

Python

It is used in data science, artificial intelligence, scientific calculations, etc.

*The language used varies depending on the development purpose and situation. Also, the above language is an example, and it may be used in a different way in reality.

Code using a programming language and implement each component or module. We edit the software source code based on the specifications established at the design stage. Even if a single programming letter is different, the system will not work properly, so it can be assumed that the larger the system, the longer it will take to develop it.

test

After development is complete, we conduct various tests to ensure that the system operates correctly.The types of tests are as follows.

test nameConcrete example

unit test

Does the function return appropriate exceptions when given invalid input?

Combined test

Do your payment processing and inventory management systems work together?

system test

Does the application work properly throughout the search, selection, and purchase process?

Unit testing is the process of verifying that individual components or modules function correctly. We mainly focus on the smallest units of software, such as functions, and check whether they operate as specified. By performing unit tests early on, you can prevent bigger problems down the line.

Integration testing is the process of verifying that modules or components developed separately work together correctly. It verifies how different parts of a system work together. It is an essential process to ensure the quality of the system as a whole.

Finally, system testing refers to the process of verifying whether the entire developed system functions correctly according to the designed requirements and specifications. Thorough verification at this stage is crucial to ensure the quality of the product and increase user confidence.

Operation

After the system is released, it will be put into operation.Operation here refers to a state in which the completed system is used and maintained correctly on-site and functions stably for its intended purpose.

Example of operationConcrete example

System Usage

Use correctly according to regulations and manuals

System monitoring and management

Monitor system performance and more

maintenance

Perform regular system updates, etc.

Problem solving and improvement

Identify and resolve problems when errors occur

security management

Regular security checks and updates

It goes without saying that you need to use it correctly, but you also need to perform regular maintenance and promptly deal with any problems that may arise. It is also required to identify areas for system improvement and continuously improve quality through monitoring of operational status.

When you think about this, you might say that ``system development is all the way to achieving the goal.'' In fact, it can be said that the real work begins once the operation begins.

For more details about the system development process, please refer to the following article.
What is the system development process? Explanation of the different types, such as flow and waterfall model

Explains how to create and manage schedules, including WBS!

The following two methods are typical for creating and managing schedules for system development.

  • WBS
  • Gantt chart

WBS

WBS (Work Breakdown Structure) is a tool for clarifying the scope and requirements of a project.Translated into Japanese, it is called a ``work breakdown structure diagram''. The purpose is to hierarchically break down the work and tasks that make up a project, making it easier to manage them into smaller units.

The advantages of using such a WBS are as follows.

  • The task becomes clear
  • The division of roles becomes clearer.

By picking up work tasks, you can visualize the tasks needed to move forward with the project. By visualizing your tasks, you will be able to see everything that needs to be done.

Additionally, since WBS structures tasks, highly related tasks can be grouped together. If highly related tasks are grouped together, it is possible to clarify the division of roles as to who should handle which tasks.

The key to using a WBS is to structure it after you have identified the tasks and set the order in which they should be done. Arrange the larger tasks first, and then arrange the smaller related tasks one level below them. By clarifying which tasks depend on the completion of other tasks, it becomes easier to determine the appropriate order of execution. Ultimately, you will have a clearer overall picture of the project, making it easier to manage each task.

Gantt chart

A Gantt chart is a bar graph with time on the horizontal axis and work details on the vertical axis.Displaying a project schedule over time helps clarify the duration and sequence of tasks.

The benefits of using a Gantt chart include the following:

  • You can visualize the project
  • Easier to share progress with stakeholders

Gantt charts allow you to visualize the entire project plan, so you can see at a glance not only your own tasks but also the progress of the entire project. Even if your project tends to be delayed, you can easily see which process has the problem.

In addition, the Gantt chart makes it easy to visualize the progress of a project, making it easier to share the progress with stakeholders. This will make it easier to ensure transparency.

The key to creating such a Gantt chart is determining the time required for each task. Estimate the time it will take to complete a task using examples, but the key is to estimate a large amount of time. If you save too much time, you may end up reconsidering the time allocation for the entire project. It is important not to spend too much time, but please be careful not to allocate your time in a way that makes the person in charge feel too strict.

By the way, Gantt charts can also be created using Excel. There are also specialized templates, so it is a good idea to choose the type that is easy to use.

Explaining tips for managing schedules effectively

In order to manage your schedule smoothly, it is important to know the following three tips.

  • Clarify the OK line for deliverables
  • Pay attention to the skills and capacity of the person in charge
  • Set a milestone

Clarify the OK line for deliverables

Let's clarify the OK line for the deliverables.If it remains vague, it will be difficult to know how far one should strive for perfection.

If the OK line remains ambiguous, the line that is acceptable will differ depending on the individual. Not only does it take different people different amounts of time to complete a task, but the quality of the results cannot be standardized. As a result, you may need to rework it later, or if it becomes more elaborate than necessary, there is a risk that the progress of the entire project will be delayed. Therefore, it is a good idea to set not only the final OK line, but also the OK lines for intermediate results.

SMART standards are useful in clarifying the OK line for deliverables. SMART criteria is a general framework for goal setting. Just by being aware of the following, the OK line for the deliverable will become clear at once.

Each stage of the SMART standardContent

S (Specific)

The goals to be achieved are specific.

M (Measurable)

Measurable

A (Achievable)

is achievable

R (Relevant)

A clear connection to corporate goals and strategies

T (Time-bound)

strict deadlines

Please refer to it.

Pay attention to the skills and capacity of the person in charge

Pay attention to the skills and capacity of your staff.When it comes to schedule management, it is important to be able to complete tasks within a set time.

If a person with insufficient skills is placed in charge, it will be difficult to ensure the quality of the deliverables. Even if the quality of the deliverables is guaranteed, there is a risk that it will take longer than necessary and the entire project will be delayed.

If you assign more tasks to one person than they can handle, you will not be able to proceed with the project successfully. When assigning tasks to a person in charge, carefully consider whether the amount and difficulty of the tasks you are assigning are suitable for the person in charge.

Employee skill mapping can help with this. Skill mapping is a method of evaluating and visualizing the abilities and skills of team members. This helps you understand the strengths and weaknesses of the people in your organization, making it easier to staff and allocate work appropriately. You will be able to bring out the maximum potential of your team.

Set a milestone

Setting milestones* is also effective for managing project schedules.

*Milestone is a word that refers to a kind of reaching point in a project or work.

You will be able to check your progress based on how far you have reached milestones. If progress toward a milestone is faster than expected, you can predict that the rest of the journey will be smooth sailing.

Also, since milestones can be viewed by all project members, it is also possible to check the progress of the project on an individual level. As a result, not only the administrator can manage progress, but all members can accurately manage tasks.

Note that the point at which milestones are set is not determined to be halfway through the project. Also, the number of installations is not limited to just one, so consider the nature of the project and ease of schedule management when installing them.

Factors that can affect system development schedules

There are three factors that influence the system development schedule:

  • Number of features to be developed
  • High level of development of each function
  • Number of linked systems

Number of features to be developed

The development schedule may vary depending on the number of features to be developed.This is because the more features there are, the more time it takes to develop them.

The more features you have, the more time it will take to develop them, and the longer your schedule will need to be. Even if you try to develop it in a short period of time, if you can't get the necessary features together, you won't be able to release it or even test it.

Therefore, rather than forcing yourself to create a short-term schedule, it is safer to create a schedule that matches the number of functions from the beginning.

The number of functions to be developed is clearly determined at the requirements definition stage. It is important to narrow down the necessary functions and incorporate them into your schedule as early as possible.

High level of development of each function

The level of development of each feature is also a factor that affects the schedule.The higher the level, the more difficult the development will be.

In the case of projects with a high level of development, there is a risk that not only the actual development but also the design stage will take a significant amount of time. This is because addressing technical complexity requires detailed consideration of system architecture, data models, interface design, etc. In some cases, it may take time to accurately understand and analyze requirements, rather than at the design stage.

Although it is difficult to take countermeasures against this problem, we recommend that you check the development history of similar functions in advance as a concrete countermeasure. This is because the number of man-hours and period required for development can be predicted to a certain extent. Not only that, you can also research risks in development in advance. By raising or lowering the development level according to the identified period, level of difficulty, and risk, the impact on the schedule can be suppressed to some extent.

However, even for schedule reasons, avoid lowering the level of development to the point where you will no longer be able to achieve the objectives you set at the beginning. In this case, both the original and the child will be lost. We recommend that you consult with management and site managers before making any decisions.

Number of linked systems

The schedule may also be affected if there are a large number of linked systems.This is because development becomes more complex.

For example, suppose a company is developing a new sales support system that will be linked to multiple different systems, such as a CRM system, email system, and accounting system. In order to exchange data between systems, a variety of interfaces that support each system are required. This may complicate the interface design, development, and testing process and extend schedules. This situation should be avoided.

As a countermeasure, it is a good idea to standardize the interface of the system to be developed as much as possible. For example, it is possible to adopt industry-standard communication protocols and data formats as much as possible. As a result, complexity can be reduced to a certain extent. If your company has many existing systems or systems to be integrated, it is a good idea to consult with a business operator.

Frequently asked questions regarding system development schedule

Below are three frequently asked questions regarding system development schedules.

  • What is the difference between rescheduling and recovery?
  • Please tell me what tools I can use to manage my schedule.
  • As a guide, please tell me the average period of system development.

What is the difference between rescheduling and recovery?

The difference between rescheduling and recovery is as follows.

reschedulerecovery

delaying work delivery

Rearranging the schedule

Make course corrections

In some cases, it refers to overtime and staying up all night.

Rescheduling refers to rescheduling a project when it does not proceed as planned. When there is a discrepancy between the project schedule and reality, we correct the schedule by pushing back the delivery date or increasing the number of personnel.

Recovery is a method of recovering schedule delays by increasing the amount of work per person per day without changing the schedule or personnel. There are ways to improve work efficiency, such as using overtime to catch up or using other systems instead.

When a schedule delay occurs, recovery is basically attempted, and if recovery alone is not possible, rescheduling is considered. Rescheduling can be considered a last resort as it will extend the delivery date.

Please tell me what tools I can use to manage my schedule.

An example of a tool that can be used for schedule management is Backlog* provided by Nulab Co., Ltd.

*Backlog is a registered trademark of Nulab Co., Ltd.

Backlog has the following features:

  • Intuitive operation
  • Initial cost 0 yen
  • Free trial available

A major advantage is that it is intuitive and easy to implement, even for members who are unfamiliar with IT tools.

In addition, the initial cost is 0 yen and there is a 30-day free trial (as of January 23, 2024), making it easy to implement in terms of cost. All plans come with email and chat support, so you'll have peace of mind in the unlikely event that you run into trouble.

As a guide, please tell me the average period of system development.

The period required for system development is generally said to be 3 months to 1 year. If it is a small scale, it may take around 3 months, and if it is a large scale, it may take more than a year. However, the development period may vary significantly due to the following factors:

  • system complexity
  • Development company skill level
  • Method used for development

Therefore, it is best to contact the development company for details.

summary

This time, we explained schedule management in system development. For system development to be successful, it is important not only to develop the system itself, but also to manage the schedule to ensure smooth development.

However, even though it is simply called schedule management, it requires appropriate knowledge and experience to do it properly. There may be times when you are so busy with your daily work that you can't even pay attention to schedule management. In such cases, please feel free to contact us.

Achievements left behind

48 years since its establishment.
We have a proven track record because we have focused on what is important.
It has a long track record in both the public and private sectors.

Number of projects per year

500 PJ

Annual number of business partners/customers

200 companies

Maximum number of trading years

47 years

Total number of qualified persons

1,870 people