House cleaning doesn’t look like the interesting topic at first glance unless you have 100 employees, hundreds of happy customers, and you want to take it to the next level. That’s the Strykfritt story.
If you live in a busy city as Stockholm then probably cleaning the house or apartment is not one of your favourite things to do. The modern world requires a lot from us and most of us are happy when we can delegate some housekeeping tasks. That’s the reason why the Strykfrit was established.
But what if you are the leader on the local market and you want to take your business to the next level? Then technology should become your best friend!
When Strykfrit contacted us we knew that the business is doing great in the capital city of Sweden and the main goal was to extend the business to other cities and to reduce management cost by automating the booking and payment processes.
We were aware that Sweden is a very specific market and population density is very unique – ~23% of the Swedish population lives in Stockholm. We had to take it into consideration because different business strategies should be applied in big cities and different in smaller cities.
All these strategies and decisions have a direct impact on the digital product we build.
Product Discovery & Product Design
It’s all about the user
We started our journey with the project from understanding the customer journey and customers profiles. It’s always crucial to know and to feel who will be the end-user of the product which we want to design and develop. There’s often the temptation to skip this stage to start talking about technology, wireframes and other things.
Please remember – for example, if you want to build an application for citizens of a big city then you need to understand their busy life, their behaviours, their everyday routine. If you achieve it then you have much more chance to build a product which will meet their expectations.
Visualization… don’t worry, we will not be talking about coaching stuff here. We just want to show you how important it is to transform an idea into something visible. We all have different experiences, different mindsets and as you know if you ask several people to draw a house then you get several different drawings.
Most of the house elements will be very similar but probably someone will sketch some fence, someone else will colour the drawing and sketch the dog outside the house. The point is – they will be different.
Exactly the same we can expect about app design. Until we visualize the user interface our visions will differ. That’s why we used tools like Miro.com and Moqups.com to prepare lo-fi sketches and wireframes visualising the client’s idea.
We used the same way in Strykfrit project. When we discovered users profiles then we were ready to write down user stories for 4 roles: guest, client, employee, manager.
Based on roles and user stories all application views were designed and we could easily get feedback from our client and to adjust all elements to meet the client’s expectations.
We’ve built a lot of applications before and we knew that we have to use an agile approach for this project as well. So based on those assumptions and our experience we used designed style guides and app views as a foundation for the product, but they were rigid and fixed requirements.
This approach allowed us to be flexible and to improve designs during a whole project in an incremental and iterative way.
We’ve built the cross-functional development team to deliver the product:
- Marcin as Backend Developer
- Wojtek as Frontend JS Developer
- Daniel as Frontend Developer
- Sebastian as Backend Developer
- Krzysztof as Backend Developer
- Oskar as UI/UX Designer
- Piotr as Scrum Master
The project’s schedule has been divided into 8 weekly sprints.
Challenge #1 – Employee availability and scheduling
Regardless of whether you are a free bird or management ninja then probably you know how challenging is task management in time. It can be really frustrating in our private life, let alone managing over 100 employees in different locations.
If your idea includes complex modules or features and you want to validate your product on the market quickly then the first steps should be:
- Check if there’s available software on the market fulfilling your needs.
- Check if you can use this software, libraries or available APIs for your project. For example if your app should include calendar then Cronofy.com or Google Calendar API can be worth checking. Of course, you need to check if the solution meets your expectations. There are always pros and cons of using existing software. Hardly ever all your assumptions and expectations can be meet without additional effort. Check this carefully from the business and technical side.
- If you are not sure if the chosen solution is the right one you can build technical proof-of-concept. You should find with your team a way to build PoC in days – only to validate your assumptions. Don’t expect that PoC will be the final feature. In most cases, it’s a kind of low-cost test. Based on PoC results you should be able to decide what to do next.
That’s exactly what we did in this project. Idea was to integrate existing time scheduling software (https://www.timewave.se/) which was used in the company already to manage all employees.
As the first steps, we checked API documentation and we contacted TimeWave support to verify if available documentation is the most recent one.
We found out that there’s upcoming v2 with the features we need. Because we didn’t have a chance to work with this software before we decided to do research and to build a small Proof-of-concept to validate the project’s assumptions.
In this case, results of PoC were negative – we found out that TimeWave can’t be our foundation for team scheduling modules. API didn’t allow us to change scheduled time and it was not planned as a TimeWave feature in the near future.
After this test, we checked other possibilities. The tool with required features was not available on the market. There was only one possible solution – to write own, custom software.
That sounds like an easy solution. But it’s not. Companies like Google or Timewave worked years to build Calendars as we know today. If we don’t have 7-digits budgets then we need to find a way to choose crucial features for end-users, for our customers. If we solve their problems then we can expect happy, loyal and paying customers.
So we had to take a step back to discover stage and understand even better processes required in the custom time scheduling software. It’s one of the most important things in the software industry – to understand and define problems that we’re trying to solve. Without this understanding, valuable software cannot be built.
When requirements have been defined we could start the app development. After a few iterations, a new version was released for alpha testing.
Challenge #2 – E-invoicing & Charge-by-invoice in Sweden
On the market are hundreds of payment providers. Most of them are easy to integrate. But if you want to add a payment gateway to your project you have to consider possible solutions for the specific market or country.
Project’s requirement was to deliver a Charge-by-invoice payment method to Swedish customers. We decided to do research about available options and move forward based on the knowledge we have acquired. If we will be lucky enough to avoid any unexpected issues then in most cases research + PoC should be ready in 5 working days.
Challenge #3 – Eat the frog. Priorities
As the main initiator, you probably have a big vision and a lot of outstanding ideas. It’s very valuable to have a vision for your company in the long run, for 5, 10, 15 years.
However, it’s impossible to materialize your vision into results in 1 day. The final result depends on how good you are in taking small, everyday steps. Growth mindset is something that can help you to achieve your goals. It’s the same with the success of your product.
“Big things have small beginnings.”
If we are aware that we can’t finish a project in just one day then it should be clear for us to set priorities. From our experience, it’s one of the most important things in product development.
Experienced Product Owner who can decide about priorities like samurai wielding a sword is priceless in every project.
In Strykfrit’s project Product Owner was not available and we faced the challenge of starting the work with small features which were easy to understand. In the result, after some time, small features have been done, but the product backlog filled with large-sized user stories was still there.
During the project review, we collided with the situation when results were not satisfying and there was a huge risk of project failure.
We decided to stop the development process, refine backlogs, verify the project’s priorities and remaining work. As GMI we believe in transparency in relation with our clients, so we decided to talk openly with our client and find a solution together.
After the product backlog refinement, we were not worried about “frog to eat”. We knew that we have to solve crucial problems and after that, we can move forward with remaining scope.
That’s why now we ask “uncomfortable” and difficult questions at the beginning of every cooperation. Please, don’t be mad at us for that 🙂
The main technologies we used
- PHP Symfony
- CSS / HTML
Daily remote communication was based on Google Meet and Slack. Our task management tool was Trello which made our cooperation smooth and transparent.
As a result, we released a booking and scheduling web application for a house cleaning company in Sweden. We were able to support our client from concept drawings to the online software. We’ve learned a lot about the Swedish customers and we are very glad that our product has been launch on the Scandinavian market.
So, are you planning to create a booking and scheduling software? Then you came to the right place! Reach out to us for a project estimation!