Agile software development through Scrum
Among other software development frameworks like Lean software development Springtimesoft uses an agile approach, in specific Scrum, to deliver the best possible software and web applications to their clients.
Springtimesoft has successfully carried out government and non-government projects within New Zealand and overseas using this approach.
What is Scrum?
- A Product Owner creates a prioritised wish list called a Product Backlog.
- During Sprint Planning, the team pulls a small chunk from the top of that wishlist, a Sprint Backlog, and decides how to implement those features.
- Each feature request get broken down into Tasks.
- Each Task get assigned to a member of the Development Team.
- Along the way, the ScrumMaster keeps the team focused on its goal.
- At the end of the Sprint, the work should be potentially shippable, as in ready to hand to a customer or show to a stakeholder.
- The Sprint ends with a Sprint Review and Sprint Retrospective.
- As the next Sprint begins, the team chooses another chunk of the Product Backlog and begins working again.
In bigger projects a Daily Scrum meeting should be held among the team to ensure good communication. In smaller teams a Daily Scrum does not add much value as long as constant communication within the team is practiced.
Why Springtimesoft is using Scrum?
- Lower risks of failure
- Higher customer satisfaction
- Bugs can be found earlier which makes fixing therm cheaper
- Better communication with the client
- Continuous changes are possible
- Very flexible and transparent
Additionally Springtimesoft is using source control which makes it easy to deploy and also roll back changes with literally one click. It also makes Springtimesoft’s development even more transparent as each single code change is documented and accessible for the client.
Principles behind the Agile Manifesto
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development.
- Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals.
- Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development.
- The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity - the art of maximizing the amount of work not done - is essential.
- The best architectures, requirements, and designs emerge from self-organising teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
|Scrum||Agile software development framework|
|ScrumMaster||~ Project Manager|
|Daily Scrum||Team communication meeting|
|Product Owner||Voice of the customer|
|User Story (US)||Feature|
|Product Backlog||Ordered list of requirements|
|Task||User Stories get broken down into smaller Tasks|
|Sprint Cycle||See graphic on page 3|
|User Acceptance Testing (UAT)||Actual software users test the software|
|Sprint Planning||Which features can be put in the next Sprint|
|Product Release||At the end of a release is the deployment|
|Sprint Backlog||List of work for a Sprint|
|Sprint Review||Which work was completed?|
|Sprint Execution||Implementation of the Sprint Backlog|
|Sprint Retrospective||What could be improved in the next Sprint?|
|Sprint Velocity||Amount of hours that can be put into a Sprint|
See how Springtimesoft is using Trello for Scrum.