Blog Article BACK Client Case Story: Windows Apps Development for Commercial Aviation Vik Bogdanov Head of Marketing 7+ years promoting tech solutions! March 26, 2019 On-Board Data Systems (OBDS) designs and develops digital documentation solutions for commercial aviation. The OBDS mission is to provide customers with digital tools to replace paper both on the ground and in the cockpit increasing ﬂight efﬁciency, improving safety, and saving money. With over 25 years of experience in providing electronic documentation tools to hundreds of operators and ﬂeets, OBDS is an industry leader. Cessna, Bombardier, Dassault, and Pilatus aircraft owners are among the company’s regular customers. Our team joined the OBDS in-house development efforts to update the existing architecture and introduce new features while removing persistent bugs. With a clear understanding of the client’s functional and nonfunctional requirements, we selected software engineers to join the project and implemented high-performance indexing solutions with full-text search capabilities along with several APIs. The OBDS existing system had the following weaknesses: Outdated web application’s architecture and technologies; Tight project schedule with insufficient time to scale the internal software development team; The apps had a lot of bugs and errors. However, the company couldn’t find enough qualified software engineers with required skill-sets within Canada to help eliminate its technical debt, upgrade existing applications, and build new robust features. Lack of onshore resources was the main reason why the company started considering team outsourcing options and chose us as their software development partner. Business process mapping The OBDS in-house team performed the initial business process mapping and identified the critical features to be implemented in the updated version of the solution. Our team received a comprehensive system requirements specification (SRS) alongside a list of functional and nonfunctional requirements. Having analyzed the client’s business process modeling, our experts identified critical weaknesses within the existing application and suggested architecture improvement and an alternative technology stack. The approved software development strategy ensured the seamless performance of the autonomous driving system software upgrade. To ensure timely and efficient system development, our team designed a detailed step-by-step plan: they focused on the implementation of critical features such as indexing and file synchronization, while the OBDS in-house team worked on the solution’s large-scale architecture. Digital platform and technology The development process comprised of two parts: web application and Windows app implementation. Our team suggested the technology stack which was best suited to meet the client’s requirements. ASP.NET MVC + C# Since ASP.NET was used for the older projects of the client, our team suggested using the same framework to ensure seamless integration. ASP.NET MVC enables agile pattern-based development of sophisticated web applications that conform to the latest web standards. Lucene.NET This open—source search engine library was suggested as a high-performance replacement for the BrFullTextSearch used by the older versions of the client’s application. Lucene.NET is a Java-based library ported line-by-line to C#. It indexes all types of content and enables ﬂexible, precise, and efﬁcient full-text search features. ASP.NET Core Our engineers suggested this cross-platform high-performance framework for the development of the new features for the client’s cloud application. ASP.NET Core supports web application and server-side architecture development and enables local and cloud-based software deployment. SyncFusion Essential WPF This suite of WPF Ul controls enables rapid implementation of multiple features for line-of-business applications. Our team suggested the use of a .NET PDF library for opening, editing, and creating PDF ﬁles. System Requirements Specification Our team worked alongside OBDS team on deﬁning the scope of web and mobile applications’ update. Taking into account the client’s new functional and nonfunctional requirements, the international distributed team mapped out the implementation schedule and deliverables. Backstage Using a sustainable communication framework (daily emails, Skype audio and video conferences plus Kanban boards ) allowed our team to efﬁciently support the client—side specialists, to plan and execute the development, and implement the solution that meets the client’s every need. Daily Scrum Keeping the distributed team on schedule and within a budget was possible because of short and to-the-point daily scrums. Discussing progress, future plans and occurring issues helped quickly resolve problems and consistently keep software engineers on track. “8allocate’s high-quality code maintains the business’s software in excellent condition. Their team is proactive and meticulously reviews the code for errors. Their ability to autonomously handle QA and competence in their field are impressive.” Roger Sarazin, VP of Products and Services, OBDS Brainstorming All members of the distributed team took part in the initial brainstorming session. Criticism-free web conference enabled the engineers to play ideas off against each other and come up with creative, non-trivial, and efﬁcient solutions to meet the OBDS requirements. Feedback Session Apart from daily scrums and sprint retrospectives, regular feedback sessions were scheduled. The two-way exchange of ideas, issues, and suggestions fueled the team’s efﬁciency and drove innovations. Project Management Methodology Mindful of the project’s requirements, our team implemented a hybrid project management methodology that combines the beneﬁts of Scrum and Kanban. Daily scrums and short sprints set the development pace, while Kanban boards enabled the team members to track each task’s progress from assignment to completion. This approach enabled the team to stay ﬂexible in the face of changing requirements and unexpected issues. Software engineers rounded up the sprints with interim testing and demonstrations of the new features. Code Development Our engineers evaluated the assigned tasks and selected the most efﬁcient implementation approach. The new code was tested by our developers and published to Dev for the second round of client-side testing. Upon successful QA, the code was transferred to the continuous integration (CI) and deployment platform. The ﬁnal round of QA was performed after the deployment. Outcome Upon scaling the client’s in-house software development department, our team implemented critical upgrades and introduced new features to the outdated ﬂight documentation management web and mobile applications. Efﬁcient collaboration framework resulted in a strong development performance that brought about the following results: Outstaffing and first version delivery time: 11 months Testing and final deployment time: 1 month System downtime after the final launch: 0 days Meeting the client’s budget: 100% Timely delivery: 100% The current solution is used by Bombardier operators and aviation fleets. Do you need help building a dedicated/extended Team or getting ad-hoc resources for your software development project fast and cost-effectively? Submit your request!