how to specify a software project

Client Case Story: Windows Apps Development for Commercial Aviation

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 flight efficiency, improving safety, and saving money.

With over 25 years of experience in providing electronic documentation tools to hundreds of operators and fleets, 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 flexible, precise, and efficient 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 files.

System Requirements Specification

Our team worked alongside OBDS team on defining 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.

Screen Shot 2019 03 26 at 6.02.07 PM e1553616180703 - Client Case Story: Windows Apps Development for Commercial Aviation

Backstage

Using a sustainable communication framework (daily emails, Skype audio and video conferences plus Kanban boards ) allowed our team to efficiently support the client—side specialists, to plan and execute the development, and implement the solution that meets the client’s every need.

Daily Scrum

Screen Shot 2019 03 26 at 6.04.06 PM - Client Case Story: Windows Apps Development for Commercial Aviation

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 efficient 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 efficiency and drove innovations.

Project Management Methodology 

Mindful of the project’s requirements, our team implemented a hybrid project management methodology that combines the benefits 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 flexible in the face of changing requirements and unexpected issues.

Screen Shot 2019 03 26 at 6.05.11 PM e1553616333673 - Client Case Story: Windows Apps Development for Commercial Aviation

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 efficient 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 final round of QA was performed after the deployment.

Screen Shot 2019 03 26 at 6.06.44 PM e1553616430574 - Client Case Story: Windows Apps Development for Commercial Aviation

Outcome

Upon scaling the client’s in-house software development department, our team implemented critical upgrades and introduced new features to the outdated flight documentation management web and mobile applications. Efficient 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%

Screen Shot 2019 03 26 at 6.07.54 PM e1553616497530 - Client Case Story: Windows Apps Development for Commercial Aviation

The current solution is used by Bombardier operators and aviation fleets.

8allocate team will have your back

Don’t wait until someone else will benefit from your project ideas. Realize it now.