Software Development Process
Profound business analysis and documentation - understanding makes best software
Development process - how we start
We are here to help you solve your problems. Analysis and documentation of your requirements is, therefore, a key to the overall success and your satisfaction. Even following the agile approach (which we usually do) we highly recommend writing down the requirements for the first iteration and then gradually expanding on them throughout later development. Having all needs discussed and written down makes the project well defined and predictable, this helps us and yourself stay focused on targets, reduce the need for changes and facilitate budgeting, testing, and final acceptance. We carry out our analysis in a highly elaborate and standardized way.
- The first step is to learn and understand your needs and draft the product’s vision. We start with a series of analytical & consulting workshops with your and your team. We come to the meetings equipped with our analytical experience and predefined questions, to get to know project scope, added value, and timespan, but also your company culture and working style. Our analysts are a kind of translator between you and the team of product managers and developers. The workshops are also a great opportunity for you to analyze and optimize your internal processes.
- During our consultation process, we produce detailed business and technical specifications. We cut the features into the tiniest elements, prepare detailed drafts of the processes, security requirements, and testing scenarios. We outline user groups, write user stories reflecting the future user’s activities and prepare prototypes. We tend to make it precise, that the ready document could be used by you as a tender specification if you would like to check our valuation. We include these documents in the agreement, which allows us to issue a client’s requirements compliance warranty.
- Our team of analysts doesn’t leave the project when development starts. They are present throughout the entire process, checking the product’s accuracy, helping to optimize development, and updating the documentation to keep it accurate. They come in, when you request changes and update the specification. In that way, we can provide you with the most optimal product features that are available within a given budget and timeframe.
Coding - sit back and wait for the magic
Coding time! That’s when the functionalities are built, and added value is born, therefore we care that despite the nitty-gritty the process is as transparent as possible. Unless you strongly prefer waterfall, we usually follow the agile project methodology, developed and mastered by us over many years, which allows you to closely follow the development process, evaluate the freshly-developed modules and decide about tasks orders in backlog.
- We work in 2-3 week sprints the scope of which we always consult you on. Every iteration has its results in a product that can be shown and discussed with you. The priorities are set according to business and technical documentation. We use the popular Redmine tool to control the orders of tasks and manage their flow.
- We routinely follow the continuous integration procedure, which that means, every piece of newly-written code is automatically sent to the integration server where all the basic functions of the application are vigorously tested to ensure that the introduced changes do not cause any errors in already existing parts of the system.
- In selected, very sensitive projects we utilize the test-driven development method, which means we first produce testing mechanisms for a given element, and then the implementation stage begins - aiming to produce the code that will pass the tests. Repeating this process we produce code that is relatively error-free from the very early stage of development.
- We follow strict code review and versioning rules, to ensure the tiniest bit of disorder never sneaks into what we write.
- We deliver product!