Planning It Out
Gaining understanding
We try to get the full understanding of customer's business, philosophy, strategy, goals and expectations. Meetings are held in person: either in our or customer's office. Usually it takes us 1 or 2 days to learn all we need to proceed.
Putting up a team
At this stage guys self-organise into a team. Depending on a skillset, level of interest and availability.
Determining project features
It is easier to understand a project fully, if all features are well-determined, structured and prioritized. We start from essential ones.
Composing a roadmap
For team to stay focused, it is important to realize all stages, that the project is to go through. That's why we create project roadmaps: simple and efficient way to keep the team informed on important milestones, dates, events.
Designing it
Describing use cases
In the very beginning, we need to understand how users will interact with the product. To find it out we write/draw possible use cases.
Designing UI mock-ups
We try to simulate user's expected behaviour and make it comply with the use experience we'd like to deliver. At this stage UI mock-ups are designed. That's how smart, user-friendly interfaces are born.
Developing graphic design
We believe in importance of beautiful, aesthetic designs. People must enjoy using the product, easily understand how it works.
Roadmap update
In the process of UI prototyping, fundamental features may be re-evaluated. The entire team gets a better understanding of product's strengths and weaknesses. As a result, product strategy may be altered a bit.
Developing it
Creating a product backlog
Once list of features is determined - it becomes an early version of a product backlog. The list is put into task registration system. Further backlog organisation, prioritisation is performed. Now we are ready for the first sprint planning.
First sprint
Team decides which backlog items will appear in the first sprint. During each sprint it is important to conduct daily stand-up meetings. All project team members should participate. Such meetings help to keep a track on the progress, identify possible difficulties at the early stages.
Demo and retrospective
Usually it is a 4-hour meeting at the end of each sprint. Purpose of such meetings is to present sprint results, discuss project metrics, define mistakes and find the way not to make them in the future.
Pair programming as an accelerator
Pair programming can save you time. Depending on the challenge, working together at one computer gives better results, than working apart. Sometimes for the problem to be solved, it needs to be looked at from a different angle.
Deploying it
Securing the data
In most cases, clients that come to work with us- already have data for their websites. Or sometimes, while supporting the project, we face the task of protecting client's information. To secure the data on the client side, we use several proven techniques. The main directive, we adhere to in such matters, is the integrity of client's databases. All updates are implemented through the code. For each of the stages of development process, we use individual instance-environments.
VCS
Version control system. In our work we use Git. Thats a decentralized, flexible and very effective tool. Git was developed by Linus Torvalds, - the creator of Linux. There is great number of companies that rely on this system in their projects, including such giants like Google, Microsoft, Facebook and LinkedIn. In the capacity of our branching strategy we have been successfully using a model described by Vincent Driessen in his article A successful Git branching model.