There are a lot of options on the IT&C market when you are looking for a dev team to help you create something like a webpage or an Android and iOS mobile app. Nowadays, anybody can learn a programming language on their own, like Java, Python, and PHP from books and online resources. However, before choosing your team you need to ask yourself if they will be able to deliver in time. In addition to the question of delivery time you also need to ask yourself if the final product will be optimal from a performance point of view and maybe even more importantly you need to ask if cyber-security concerns are being taken into account during project development.
Deliver Quickly but with Quality
A self-taught and/or freelance team may have the coding skills necessary to complete a project from functional point of view, but that does not mean that they will be able to deliver a product on time, within customer expectations and with an assured level of quality. An experienced team with proven IT skills organized by a Scrum Master, Product Owner, and Project Director, will turn out better results than a hastily assembled dev team made up of whatever profiles were available in your area at the time of recruitment. Although programming languages can be learned relatively quickly, it takes time to develop the insight necessary to build products not just quickly but successfully.
This being said, we obviously aren’t discouraging young people from pursuing a career in programming and everyone needs to get their start somewhere, but it is important to realize that an experienced software development team, following a quality-certified process, is more suitable for industry projects. The pizza and cola programming environment is fun, but when clear expectations are defined, in terms of dead-line and budget, more attention is expected in order to ensure a stable, performant and secured product on the market, on the previewed date.
The Scrum Approach
IT project management at Pentalog is based on Agile principles and uses Scrum or Kanban methodologies to ensure quick product deliveries with assured levels of quality. Let’s take a look at the phases of software development when using a Scrum approach:
1. The discovery phase is when a group of business analysts and technical experts try to completely understand the Customer’s needs. At the end of this first phase, a technical architecture is proposed together with the technology that will be used to complete the project. A workload estimation is also provided, based on the dev team’s organization (number of engineers – developers, testers) and their level of experience.
2. Project kick-off is the phase where a Scrum team is proposed (with candidates chosen from our 850 full time developers or profiles that are specially recruited from our talent pool of 100 000 skill tested developers at SkillValue), including IT profiles that best match the specifications defined in the discovery phase. Pentalog evaluates all team members based on the Dreyfus scale specific to the selected technology. Once the Scrum team is validated, the project infrastructure is put in place (Continuous Integration tools, etc.) with the help of our DevOps experts. The Scrum Master and the Product Owner collaborate to set up the Product Backlog (using specific tools, as Jira for example).
3. The execution phase is based on Sprints that are usually 2 or 3 weeks long. Each Sprint starts with a planning meeting, when the Definition of Ready (DoR) and the Definition of Done (DoD) are checked and finishes with a Sprint Demo and a Sprint retrospective.
4. Intermediate releases until the final product delivery: Agile methodologies focus on frequent and multiple releases until the final product is reached. A finished Sprint means that an iteration of the product is released and the next sprints will continue where the previous one left off. Eventually, as more and more sprints are completed and more and more iterations of the product are released with more and more features, the team will progress towards the final product delivery. Pentalog assists their Clients from the very beginning until the very end of a project’s journey. If we talk about a mobile application, for example, the end of the project’s journey is when it is published on the Google Play or Apple Store.
Audits Ensure the Project
Throughout this entire project development process, one or more audits will be performed to ensure that everything is running smoothly, correctly, and securely:
• An Internal Quality Audit may be issued by Pentalog’s Quality Assurance Departments to verify that all quality processes are being respected. The output of a quality audit is a report that includes a set of tickets that outline the strong points, the improvement points and the critical ones. The quality audit is based on the Collaborative Framework that is signed between Pentalog and the Client.
• A Technical Audit is sometimes requested by Pentalog’s Technical Department during the project execution phase. During a technical audit the implemented solution is compared with the architecture proposed during the discovery phase. At the same time good design practices will be checked with specific attention paid to technical indicators (Technical Debt, Code duplication, Code coverage with unitary tests, etc.). This audit will make sure the project is keeping up with the best technical practices for your specific project.
• A Security Audit will also be initiated to check all the sensitive points of a project related to cyber-security. Our client’s data safety is one of the most important concerns Pentalog has during software development projects. Your data is your project, and a security audit will help make sure it is properly protected.
Pizza in the Process
The phases mentioned above are just a part of the complex development process we follow. Even a detailed process like this will not give 100% guaranteed success rate, but it does bring us close to this target. An organized and well defined process with a strong level of collaboration from all parties will help ensure that deliveries are not just on time but are also high quality.
And even if we do eat pizza during software development, this is just one step in the process. We have fun because we love to code, but as you can see, we are very serious about it.
Check out our price list if you are interested in staffing an expert development team for your next project.
About the Author: Cristian Anghel
To learn more about Agile Development, take a look at these articles: