We work in iterations. Each iteration encapsulates the whole process of taking requirements, designing and developing. This methodology is aimed at speeding-up the delivery of working solutions and being more cost efficient. You can invite your users and clients to a solution while still working on the new functionality. Having a great idea is not enough. You need to be the first who deploys this idea into the world - only then will you win the race.
While using the Agile methodology we do not need to conduct a full analytic process. It is done on the go during the development process and later on. This doesn’t mean that our methodology does not look towards the future. It only means, that we start working instantly and during the first few sprints we can simultaneously develop basic functionality and analyze the whole approach.
Using Agile methodology means we can deliver results as soon as they are developed. The most important parts of a solution are delivered first, then we work on frontend and sprinkle the whole solution with glitter. We deliver a new functionality step by step. Not only can you test it while we work on it, you can simply use it. The whole development process is incremental - we repeat the steps of creating requirements, designing business flow, wireframing, developing and deploying every week. This approach works great if you need an MVP of concept as soon as possible with minimum cost.
In many cases, development is not only the process of creating the code. It’s everything that follow, looking for even better solutions - not only in the code, but the whole business process. Requirements change overtime, it’s completely normal. By using Agile we are not restrained in any way by documentation, budget or anything else. We can simply change our goal on the middle of a project. This doesn’t have to mean that the cost will increase. Sometimes simplicity is key.
You only pay for time spent and material used while creating the functionality you chose. The total price is not certain, but is shouldn’t be too bad. We do not want to strain you with unnecessary work, a safety margin or additional tests. You can fully manage your budget to help expectations meet reality. If you work closely enough with us, this approach will be cheaper in the long-term rather than using the fixed-price option in Waterfall methodology.
The whole process is based on creating a well documented project, which is necessary to establish an accurate fixed-price. Using this methodology we start with an analytic process and create a schedule with estimates, which do not oblige you to any further cooperation. Every document, wireframe, mock or requirement which we’ll create in the “understanding” step can be used by any team working with any technology. If you decide to implement a solution in another technology that we use or create your own team - you can do that. This step is absolutely necessary to work with anyone using the Waterfall methodology with fixed-price approach.
A full analytic process is the key to success in this method. We need to create full documentation of each functionality, each key-press, business process every mouse click. This will be the base of an efficient development process. A complete solution will be ready to go from day 1 without any adjustments. You will pay exactly what we agreed upon in the documentation. Nothing more, nothing less.
Knowing the full price of solutions is sometimes the key of staying within budget. To fully understand each component of the project, estimate our work time and create a timetable we need to create a thorough documentation. Both sides need to understand every aspect of business, IT projects and hidden costs. This is precisely why in the Waterfall methodology development needs to be preceded by an analytic process which allows for measuring the final cost, which will include possible danger and will not change until we deliver the final product.
In our Waterfall mode, we offer way more than just a warranty for the whole solution. We offer a lifetime guarantee for our code and algorithms. This means that we guarantee you, that the final solution will be fully in compliance with documentation created at the beginning. You do not have anything to worry about.
A major part of our documentation is the timetable. We build a full Gantt schedule, marked with milestones and an estimated delivery date. Then we work with a focus on the milestones and punctuality.
Our primary goal is not so much to provide software, but to actually address the needs and solve problems of our customers. Before we start creating a vision of the software's functionality together, we will conduct a deep analysis to reveal the needs. We will then prioritize them based on business values. We will also look for paths to optimize the operation of your business processes, not only from the perspective of the software itself.
For us, the key value in working with non-technology-savvy clients is to bring them as close to technology as possible. That's why we devote a lot of time and attention to carefully explaining each stage of the software development process. We also provide advice so that design decisions are fully conscious and based on understandable values.
Many clients are afraid of disclosing the budget at the early stage of the project, believing that it will negatively affect the valuation of the project. This is the most common mistake and cause of frustration in the software development process. Really defining the budget allows you to look at functional needs from many perspectives. Being aware of the limited budget, we can look for more economical solutions that may not be fully satisfactory, but at this stage they will address the needs and will be sufficient. As the business value of the entire project increases, these areas may be developed, but this does not have to happen immediately. There are several proven solutions that allow for controlled budget management - we will present them and help you with this task as soon as we get to know each other.
This is one of the most common concerns that arises at the early stage of talks about implementing a new project. In short: no. An agile approach to a project does not preclude setting clear goals and points on the timeline that are to be achieved. However, frequent and small design iterations allow you to obtain the desired functionalities faster with a reduced budget. The combination of lean development with continuous validation of requirements and assumptions perfectly verifies the previous needs analysis. In fact, the analysis progresses with the development of the project and naturally optimizes its scope by limiting unnecessary steps.
If our portfolio is not enough of an argument, we will be happy to present technological possibilities and talk about the challenges we have encountered over the years of working on other projects and how we found solutions to seemingly unsolvable problems.
In communication with clients, we focus primarily on honesty, openness and transparency. This allows you to avoid understatements while building lasting, mutual trust.
We look at each project on two scales - micro and macro. On a macro scale, we define milestones for modules and functional areas that we want to achieve in specific order and points on the project timeline. On a micro scale, we manage tasks in iterations no longer than 2 weeks, so we have full control over the implementation stage and can dynamically respond to emerging threats by e.g. increasing internal resources.
Implementation is not the last stage of the software development cycle at aveneo. We help with user training and training. We are the best partner for this because we know all the design assumptions and full mechanics of the delivered solution. This will guarantee satisfaction and understanding of the solution, and will also allow you to collect conclusions from users regarding potential optimizations and new functionalities.
For large projects, it is difficult to bring all stakeholders together at every meeting. It is completely natural for different departments to have mutually exclusive expectations. Our role is to collect all the needs and design a solution that will take into account all business processes and reconcile those that stand in opposition to each other into a coherent and logical whole.
This is completely normal! Every investment carries some risk. Depending on the source of the concern, additional levels of security should be implemented. For our part, we will try to find tools that will help you get rid of stress and guarantee the success of the project. For example, if concerns concern the functional scope, we suggest identifying the most valuable functionalities and building a small section of the software, and then validating the assumptions and checking in a real environment whether the solution is satisfactory.