- Short development cycles (Sprints) 2 to 4 weeks.
- Allows changes (between Sprinters)
- Delivers a working product after each Sprint
Contents
System development is a process of creating and maintaining information systems. Systems development process is important because it helps make projects more likely to succeed. We know that many projects never finish. Planning is therefore key to insure better results. There is often a budget that limits how much time and people can spend on a project. It is critical to utilise the resources given and take necessary steps to reach a goal. Even with competent people following appropriate methodology, there is still a risk of failure. It is not a fool proof method. Its also important to ensure that the system meets the requirements and intent of use.
System development projects consist of phases:
Data flow diagram
Data flow diagrams shows the data processes and flow of information in a system. Data flow diagrams is characterized using symbols like circles, rectangles, arrows and short text boxes to show data inputs, outputs and the routes between each destination.
Use case diagrams shows the different ways that a user might interact with a
system. The purpose of this is to visualize what the information system does and
for whom, without actually showing how. The picture illustrates a use case of an
online shopping system. The diagram consists of specialized symbols and connectors.
This is an overview of the relationship between use case, actors and systems.
Use case: ovals that shows the different uses that a user might have.
Here it is to view items, make a purchase and finally complete checkout.
There is also an option to log in.
Actors: stick figures that represent the user interacting with the system.
An actor can be a person, an organisation or an outside system that must
produce or consume data and interacts with the application or system.
According to (Bø, personal communication, 2022), “A user story is an
informal, general explanation of a software feature written from the
perspective of the end user. Its purpose is to articulate how a software
feature will provide value to the customer”. Advantages of using User stories
is that it puts end users at the centre of the conversation. The team will
know what they are creating, and this makes for a better product overall.
User stories defines requirements for the system, system functions and
performance criteria (quality). It defines the who, what, and why of a
product feature. Use case on the other hand, focuses on the functionalities
of a process or feature. In for example Scum the product owner usually has
the responsibility to write user stories.
There are many different system development methods and frameworks, the two most important of which are structured methods (step-by-step methods) and Agile methods. The difference between these methods is that with structured methods you must lay out the entire plan in advance, while in agile methods you can develop parts of the system, go back, change and adapt as needed.
Waterfall model is a linear system of working, which means you need to complete each project phase before moving on to the next. This means that once you leave a phase you do not go back. You must keep flowing downstream. Agile methods on the other hand, encourages the team to work simultaneously on different phases on the project.
Agile methods are an alternative to the traditional system development, which is heavy, rule-bound and guided by directives. It is more flexible to use but still has rules. The agile manifesto was developed by 17 system developers who met at a resort in snowbird, Utah in 2001. Their goal was to uncover better ways of developing software.
There are multiple Agile tools software you can download, some are even free. The most known are Asana, Jira and Wrike.
Scrum is “A framework within which people can address complex problems, while productively and creatively delivering products of the highest possible value.” (Bø, personal communication, 2022). Scrum makes it possible to focus on small, concrete tasks, while always keeping the "big picture" clearly in sight. crum helps create just enough structure for the team to focus its innovation on solving what might otherwise seem like a challenging task.
A Scrum Team is made up of a Product Owner, a Scrum Master, and Developers. The product owner ensures that the team is creating the valuable product they can create. A product owner creates a product backlog, which is a prioritized to-do list. During sprint planning the team takes a part of that list and decides how to complete it (sprint backlog). The team has a timeframe to complete the sprint, usually 2-4 weeks. The Scrum Master is the person with knowledge of Scum and uses it to help the team be as effective as they can be. The developers are the people who work together to create a product. At the end of the sprint the work should be completed. the team then has a sprint review and looks back at the process. Then it is on to the next tasks from the backlog. The cycle repeats.