At Inspeer!ty we know that every project is different and every Customer has very individual needs. Below are the main principles that allow us to satisfy them. Your success is our goal and the greatest reward.
We value and follow the Manifesto for Agile Software Development:
We value people more highly than processes as it is the people who respond to business needs
We strive to produce working software that brings value for your business
We encourage close collaboration with you and your Teams throughout whole development process
We rapidly adapt to changes as they always improve the project and bring additional value
We follow agile methodology to stay flexible and meet your expectations and needs as they change, adjust and grow along with your project. At the same time, we understand that agile movement was not about the process, but about the values. While process is an important enabler of each project’s success, it’s never the goal itself. Therefore, our process is agile and flexible, always tailored to match your evolving needs.
At Inspeer!ty we carefully select each team member, always looking for talent and potential. We define the right outcomes, not the steps to achieve them. We focus on strengths and find the right fit for every engineer. Best teams require complementary talents and skills, aligned with and committed to a common purpose. Understanding that and knowing our people enable us to create high-performance teams that achieve superior results.
For us quality is the key value. We built software well, we built software to last, we built software to easily evolve. To achieve this, we follow principles of quality-driven development and we focus on consistent testing.
We use automated testing tools to exercise our codebase. This enables us to run tests after each code change, makes us confident about any changes and saves our time. We utilize both static analysis tools for continuous code inspections as well as cyclic peer-2-peer code reviews.
We also take advantage of the latest, fully automated continuous integration and continuous delivery tools to optimize delivery and deployment of your software. The DevOps process advocates thinking of the infrastructure as part of the application and allows for more rapid and reliable software release cycles.
We believe in KISS principle as simple solutions are easy to understand, maintain and works the best. Unnecessary complexity is enemy of agility. We instill the value of building the simplest solution that works within optimum parameters. If something looks very complex it is a sign we must rethink it, look for a simpler, better way. We empower our engineers to look for innovative approaches and tools to make it simple again.
We pride ourselves on being able to articulate the pros and cons of available solutions and make smart recommendations in your best interests. We know that the “Perfect is often the enemy of the Good”.
In Inspeer!ty we build relationships based on trust, therefore we understand the need for being open and transparent, as basis for creating trust-based, long term partnerships. And we have nothing to hide.
From the very first day You get full access to our project management system (JIRA) and our repository, where we store your code. You can monitor project progress by tracking cards on Kanban boards or watching burn-down charts. You can review the latest project releases and their content, project contributors with time they spent on particular tasks, you can go through all repository commits or even count number of lines of code we produced.
We are glad to invite you to our daily stand-up meetings and backlog refining sessions to work on priorities for the next iteration. You can always get in touch with the project team via Skype or your project’s chat room on Slack or Mattermost.
In Inspeer!ty we believe that if you are not making progress you are going backward, as the whole world is moving forward. That is why constant learning in our teams is one of our main strategic objectives. We help them grow through collaboration with peers, conference attendance, internal and external workshops, dedicated time to experiment with new tools and frameworks, community engagement and by contributing to open source software. All these activities help them develop mastery of the technologies, tools and engineering practices required to build and scale projects successfully.
By working in scrum teams there are always several team members who are familiar with your business objectives and the technologies behind the project. All accumulated project-specific knowledge is retained inside the team throughout the whole project lifecycle. It is also shared consistently with new team members, and finally transferred to you upon project completion.
Our Engineering Teams have a lot of experience in building software and we apply agile approach that bolsters our efforts to deliver exceptional products. However, we don’t build before we fully understand your needs as it is too easy to build the wrong thing. That is why exploration phase is so important.
During this phase we organize a face-2-face meeting or a call in order to understand the most of your goals and objectives, the business background and your technical requirements. We understand that every company is different and each project is unique – and so are the solutions we develop. We aim to understand the value of (and the need for) each feature we deliver, to make sure we are building the right thing. We strive to understand your vision, to ensure we will propose and deliver a best fit solution, customized for your current and future business needs, within your target budget.
Once we discover your goals, objectives, one we get a clear idea of the business context, needs and user expectations, we’re ready to start the kick-off phase.
We believe that building outstanding software is a collaborative effort and communication is the key factor to achieve it. We start with an Agile Workshop together with your team in which we create a detailed development plan, a backlog for the first release and we select the features for the first project increment.
During this phase, we are also assigning the team members, matching for given assignment. Our team members are experienced in working on complex projects with engineers, designers, product managers, and stakeholders both at Inspeer!ty and on clients’ side. We select them carefully based on their talents and skills aligned with your goals and needs. We compose your team from people that know and fulfill their roles and can collaborate with others.
During development we follow Agile methodology to make our work efficient, predictable, and valuable. We work incrementally. We plan work in intervals called Sprints. They usually last 2 weeks. Each Sprint starts with a planning session where, together with you, we plan which features to include in the development, and decide how we implement them. By splitting our work into small parts we can present the outcomes of our work often and optimize on the go. At the end of every sprint we deliver a testable piece of work, it ends with a demo of a new version of the working product increment.
Using this approach, we deliver working software early. It enables us to quickly respond to the changes and emergent needs. Testing the software early enables you to adjust functionalities on early stage to fully address your business needs.
We value honesty and transparency in giving and receiving feedback. At the end of each Sprint we organize retrospective meetings to gather feedback based on which we can adapt and improve how we work together.
Our engineering teams are flexible and able to meet the emergent needs of your projects. As the project evolves, we continue to optimize the size and makeup of the team to suit your requirements.
Once your product is ready, we are still here to help you with continuous development and support. We know that continued enhancements and changes may occur once the project has launched. Based on feedback from users, we’ll help you in extending your product. We strive to make your product successful!
We select tools according to the project’s specifics and needs, not the other way around. Here you’ll find a few examples of our favorite productivity software.
Mattermost – our basic real-time communication tool for Customes & Teams. Every project has a dedicated private channel (chat room) to discuss all the issues related to our work. This way, your product info is secure and transparent at the same time.
JIRA – project management platform of our choice. There you can see what’s going on in your project, what happened in the past, and what the team is planning to do in the future. Here’s where you track sprints, check timelogs, and observe the progress in your project.
Wiki/Confluence – For every project, we grow a knowledge base kept in Confluence. You can compare it to the projects’ Wikipedia. Here’s where we keep documentation, plans, retrospectives, memos, meeting minutes, and other know-how pieces essential for everyone to make sure the projects are running smoothly.
GitLab – The place to store, share, and send the code into the world by developers. A global platform that enables teams to collaborate and present the effects of their work instantly, no matter what technology they work with.
Jenkins – leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
SonarQube – leading product for Continuous Code Quality. Performs automatic reviews with static analysis of code to detect bugs, code smells and security vulnerabilities. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments and many more.
JFrog Artifactory – leading Universal Artifact Manager. Artifactory is the single tool that “talks” to all the different technologies, increasing productivity, reducing maintenance efforts and promoting automated integration between the different parts.
Docker – leading software containerization platform. It is container platform to address every application across the hybrid cloud. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation.
Kubernetes – open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.