What does agile software development mean at Hurja?
In short, agile software development means that the project is carried out through a series of iterations in collaboration with the client. As a software development methodology, agility involves dividing the implementation into smaller parts, known as sprints. Each sprint includes setting objectives, implementation and reviews.
Agile software development is, in a sense, a philosophy that can be applied to software development. In this blog post, we explain what agile software development means to us at Hurja and how our clients benefit from agility in software projects.
- Agile software development – software development methods, terminology and tools
- The benefits of agile software development for our customers
- Agile software development – the stages of a software project
- Sprints from a developer’s perspective
- In agile software development, the aim is customer satisfaction
Agile software development – software development methods, terminology and tools
Software development methods can generally be divided into three categories: the waterfall model, the rapid application development (RAD) model, and agile software development methods.
In the traditional waterfall model, the process proceeds downwards step by step, just like a waterfall. In the waterfall model, the specification phase is longer and the requirements are finalized at this stage. In many cases, the waterfall model can be too rigid for carrying out a complex project if the software requirements and objectives are not entirely clear right from the start of the project. The rapid development model aims to complete the process as quickly as possible, but the model is mainly suitable for developing very simple software.
Agile software development, which is the subject of this blog post, aims to carry out a project through a series of iterations with the client, to produce exactly the solution the client needs, and to break the implementation process down into smaller parts. This approach brings flexibility to the project and also minimizes risks, while keeping the client continuously involved in the development process.
You’ve no doubt already noticed the clear similarities with the well-known ‘lean’ philosophy developed by Toyota, in which risks and waste are minimized, and the most important thing is always to deliver value to the customer. The best-known tools in agile development are Scrum and Kanban, which adhere to the principles of both lean and agile development.
The benefits of agile software development for our customers
Highly agile software development involves close collaboration with the client, rapid response to changes, risk minimization and an overall ‘Just-In-Time’ philosophy. In the agile model, a deeper mutual understanding is achieved between the client and the team, as communication between them is closer. Responding quickly to changes reduces the risk of locking in features too early that do not contribute to the objectives. The aim is therefore to add value to your product or service through reliable and long-lasting code.
Agile software development is a modern, efficient, customer-focused and professional approach to software development. Using a flexible and agile approach, we tailor a solution that is just right for you, taking your needs and budget into account. We consider your requirements right from the initial kick-off meeting and refine them as the project progresses. In an agile model, it is generally not advisable to use fixed pricing, as requirements can be refined flexibly as the project progresses. Changing requirements often affect the amount of work involved in the implementation in one way or another.
Thanks to the agile model, you will also be able to participate in testing the system under development at an early stage, thereby ensuring that the solution will definitely meet your business objectives. Active communication, open discussion and the ability to adapt to changes that arise during the project are the cornerstones of development. During a software project, we usually hold daily stand-ups – short daily meetings – as well as sprint reviews with the client.
In the agile model, a software project is broken down into sprints – that is, smaller development cycles – and the project progresses one sprint at a time. Agile software development makes it possible to identify problem areas and the need for changes at an early stage. As features are implemented in cycles, at the end of which the outcome is assessed, feedback is also received more quickly than in the traditional waterfall model.
Agile software development – the stages of a software project
An agile project progresses in sprints. A small project may last just one sprint, while a large software program consists of several sprints at different levels. A single sprint usually lasts between 1 and 4 weeks
- Setting objectives and planning work
- Implementation phase
- Review
- Retrospective
Sprints move forward through agile iteration, so active and trusting interaction within the project team is of the utmost importance at every stage of the project! Our clients’ involvement is particularly needed when setting objectives and during reviews. At the start of the project, we agree on common practices: who communicates, where and how often.

Defining objectives
During the specification phase, we work with the client to define the software’s user stories. A user story is a description of the situations in which different users will use the software and how they will do so. We also identify other requirements for the software and consider what the user interface might look like. It is also important to understand how the software owner and end-users will benefit from the service. The Design Sprint, a workshop method popular in service design and product development, can also be used to help define objectives. The Design Sprint ensures that all project stakeholders share a common understanding of the current situation, that the solution being designed will certainly work for the user, and that it supports the business objectives.
Examples of specifications:
- User groups and goal-oriented customer journeys
- Features and the scope of their content
- Technical requirements and the roles of any third parties
Work planning
In an agile model, requirements are defined in concrete terms during the design phase, including those relating to the user interface, software architecture and technical implementation. Prototypes of an agreed standard can also be used to aid user interface and functional design. A quickly produced demo helps to flesh out the plans and speeds up and simplifies the workflow during the implementation phase.
Demos and prototypes
Wireframes, mock-ups and prototypes help with the piloting of software projects and turn ideas into something tangible. They can also be utilized within sprints and as an aid during reviews. Demos and prototypes make it easy to get an overall picture of the implementation! For example, a prototype with a few functionalities is often built before the final product is developed, as the prototype can be used to present the idea, gather feedback and explore implementation options.
Implementation
The actual coding work also proceeds in an agile, step-by-step manner. This step-by-step workflow allows for rapid responses and requests for changes. To this end, the team also holds short daily internal meetings (daily stand-ups). Although the specifications were carefully defined at the outset, more detailed specifications are drawn up as the project progresses. New ideas and requirements also almost invariably emerge during implementation. Interaction with the client is therefore also important during the implementation phase! We agree together on the use of suitable communication channels to facilitate quick and flexible discussions.
Implementation always includes testing the solutions to the agreed extent and using methods appropriate to the nature and requirements of the project.
Review
During the review, the project team meets to review the results achieved during the sprint. Once the review is complete, a retrospective is held, after which a new sprint begins, focusing on the tasks selected for it, such as the implementation of new software features. We want you to know how the work is progressing and what stage the development is at, so regular reviews are held with the whole project team. The review schedule is agreed on a case-by-case basis with each client. Reviews are always held at the end of a sprint, typically every 1–2 weeks, for example.
Alongside the review, the developers hold an internal retrospective, or ‘retron’. During the retrospective, the sprint is examined, particularly from the perspective of the team’s performance. The purpose of the retro is to analyze the success of the sprint so that lessons can be learned from mistakes and even better results can be achieved. During the retrospective, the developers discuss internally what went well, what could be done better next time, and what measures will be taken to rectify mistakes and improve operations in the next sprint.
Implementation and publication
Once the sprint deliverables have been approved during a review or acceptance testing, that part of the software is ready for release (integration). In iterative and agile development, releases often take place during the sprint as well, and the aim of each sprint is to produce a new component of the software for the product or service under development.
Sprints from a developer’s perspective
The roles and responsibilities of software developers and the client differ during sprints. If several people are writing the code, the division of laborr is agreed in line with the sprint’s objectives.
Developers hold daily meetings during sprints to review progress and identify any potential issues. The specifications and design are adjusted on the fly where necessary, if this is required to achieve the best possible result. This also requires a flexible response from the client – we do not ignore your wishes and needs, but work with you to find the best solutions!
During internal reviews and retrospectives, developers work together to review the completed sprint and areas for improvement, such as how development could be improved in future sprints and work phases.
In agile software development, the aim is customer satisfaction
Now you know what agile software development means at Hurja and how we launch a software project that’s tailored to your business and delivers added value. As you’ve seen, we tailor our software development to our clients’ needs and develop even large-scale software projects using agile methods, while listening to your requirements.
If you need software designed to meet your objectives, please get in touch!
Shall we get started?
"*" indicates required fields
