Over time I learned that before getting in front of the keyboard and starting to write code, you need to have an overview of what you need to do. To do this I need to know:
- functional requirements,
- non-functional requirements,
- the customer's targets,
- the available budget.
If it is a question of putting my hand to an existing project, I also ask for documentation of what has already been developed. If the documentation is not there, before evaluating any intervention, I perform a discovery activity to find out the current status of the project.
Once these information has been collected and analyzed, we can design and then develop your project.
I prefer agility in software development, that means short development sessions followed by a delivery meeting presenting the state of the art to the client. This allows me to have immediate and continuous feedback on the project's progress to realize if what has been achieved still satisfies the client targets and expectations.
Hence I try to create a constructive collaboration that allows me to work in harmony with the customer and in order to produce a positive synergy for the project's success.
Do we work together?
If you are convinced too that collaboration is the key to achieving successful projects.