An Agile Squad executed the analysis, writing, and refinement of requirements for a Britânia system

Client
Britânia 

Area
Home Appliances 

Summarized Problem
Need for written analysis and refinement of software requirements for a performance management platform development project. 

Summarized Solution
Visionnaire appointed an Agile Squad of specialists who worked collaboratively with Britânia, promoting increased productivity and cost reduction simultaneously. 

Results
With the Agile Squad assembled by Visionnaire, Britânia was able to rely on a specialized and rapid team for the analysis, writing, and refinement of software requirements for its performance management platform project. 

Visionnaire's team took care of all aspects involved in the analysis and requirements refinement, such as identification, documentation, and validation of the needs and expectations regarding a system in development. Thus, all relevant requirements were addressed and understood by everyone involved before the development stage itself. 

The extensive work resulted in a detailed system vision document as well as a business requirements document, where the needs for the requirements gathering for Britânia, more specifically for the company's Human Resources team, were collected, analyzed, and defined. 

In short, Visionnaire provided Britânia with increased productivity and cost reduction through a highly specialized software development team focused on delivery with agile and cloud-based processes, as well as the use of Scrum and weekly Sprints. 

Technologies
Visionnaire has been developing software for over 28 years, adapting to its clients' needs with various system development processes. The main process used is Scrum, following the Agile philosophy with Sprints (weekly or bi-weekly), using cloud tools intensively (using Atlassian products, primarily Confluence for integrated system documentation, and Git-based platforms like GitLab and GitHub). 

Visionnaire has long used (and still uses for many clients) the Unified Process, following PMI PMBok project management concepts, more recently adapted to Agile and Scrum processes. 

In recent years, agile development philosophy based on Scrum has gained traction worldwide, and Visionnaire has been implementing this agile development philosophy in its processes. For most cases, being a software factory and adapting to our clients' development processes, Scrum is not used, but we recommend it when possible. 

For systems analysis and design, we use the entire UML (Unified Modeling Language) philosophy of the OMG (Object Management Group), using both open-source tools and IBM/Rational tools (Visionnaire is an IBM development partner and has all the tools). 

As version control software and configuration management, we use Git-based platforms like Atlassian Bitbucket, GitHub, or GitLab. For Scrum projects, we use Atlassian Jira integrated with Git (using Sourcetree, GitKraken, or command line) for configuration management, planning, and project management. 

For documentation, we use Atlassian Confluence. For other development process activities, we use Atlassian Wiki. For administrative tasks/activities, we use Trello and Jira. We use communication tools like Slack in all areas. 

For prototyping, we use Balsamiq and Mockflow (in addition to prototyping tools in some IDEs like Xcode for Apple systems). As IDEs (Integrated Development Environments), we use Eclipse, Visual Studio, Visual Studio Code, Sublime Text, Xcode, among others. 

For system monitoring in datacenters and Application Lifecycle Management (ALM), we use New Relic. For datacenters in Visionnaire-developed systems for clients, we use AWS (Amazon Web Services), Google Cloud, Azure, Weblink, Emmex, and our servers (choosing the most suitable solution for each case). Especially when using advanced cloud platforms like Amazon's AWS, Visionnaire leverages the platform's advantages such as developing systems in microservices architecture (Serverless philosophy), distributed databases, and system integration through REST APIs. AWS is one of the best platforms available for this purpose, providing load balancing for microservices, powerful databases like Redshift and Aurora, and the ability to run code without provisioning or managing servers with AWS Lambda. Google Cloud Platform is also heavily used for some clients. 

For clients more advanced in CI and CD (Continuous Integration and Continuous Delivery) concepts, we use GitLab and extensive process automation via YAML scripts, with heavy use of micro-virtualization with Docker and Kubernetes. 

However, it is important to emphasize that, in all cases, we prioritize adapting to our clients' needs and tools, as we are a software factory with nearly three decades of history. 

Visionnaire - Britânia

Detailed Problem
Established in 1956 in Curitiba, Paraná's capital, Britânia began its operations manufacturing stoves, burners, and metal furniture before expanding to include home appliances such as coffee and sandwich makers, and fans in its production line. Today, it is one of the leading companies in the small appliance sector. 

In early 2020, Britânia was developing a performance management platform and needed consulting for software requirements analysis, writing, and refinement for the project. Requirements analysis, writing, and refinement are crucial stages in software system development, fundamental to the success of a software project, ensuring that the final product is functional, high-quality, and aligned with stakeholders' expectations. 

Requirements analysis involves identifying, documenting, and validating the needs and expectations of stakeholders regarding the system to be developed. This stage ensures that all relevant requirements are understood and any ambiguity or inconsistency is resolved before proceeding to the design and implementation phases. 

Requirements refinement, on the other hand, is the process of further detailing and specifying the identified requirements during the analysis. This can include decomposing general requirements into more specific ones, defining clear acceptance criteria, and prioritizing requirements based on their importance and impact on the project. Refinement is an iterative process that can continue throughout the development lifecycle, adapting to changes in stakeholder needs and business conditions. 

The importance of these stages lies in several factors, including:

  • Risk reduction: requirements analysis and refinement help identify potential problems and conflicts early in the development process, reducing the risk of rework and unmet user expectations;
  • Clarity and communication: these processes promote better communication between stakeholders and the development team, ensuring that everyone has a common understanding of the system's objectives and functionalities;
  • Development efficiency: well-defined requirements facilitate the creation of a more precise design and efficient implementation, as developers have clear guidelines to follow;
  • Product quality: a system developed based on well-analyzed and refined requirements tends to be more aligned with users' real needs, resulting in greater satisfaction and better usability.

Detailed Solution
Visionnaire is one of the pioneering companies in offering its clients the option of contracting a complete solution based on agile processes. From team assembly to well-defined processes and agile cloud tools, Visionnaire helps its clients enter the world of modern and agile software development. 

Following Silicon Valley's best practices, Visionnaire offers:

  • Specialized software development team to meet clients' professional talent demands;
  • Agile and cloud-based process focused on delivery;
  • Use of Scrum and weekly or bi-weekly Sprints to accelerate projects;
  • Integration of Development (Dev) and Operations (Ops), delivering a complete DevOps solution to our clients;
  • Use of 100% digital cloud tools for project tracking;
  • Use of modern software technology such as Microservices Architecture, Virtualization, Continuous Integration, and Continuous Delivery;
  • Over 28 years of experience in developing and delivering successful projects with modern technologies;
  • All this allowing increased productivity and cost reduction in clients' projects.

The importance of Agile Squads in software development lies in their ability to increase flexibility, speed, and collaboration. They allow rapid adaptation to changing requirements, ensure continuous value delivery to clients, and promote a sense of ownership and responsibility among team members. This approach leads to higher quality software and more efficient development cycles. 

Visionnaire quickly appointed an Agile Squad for this project, a multifunctional team that worked collaboratively to meet Britânia's needs. In Visionnaire's Agile Squads, each team includes members with various skills, allowing them to handle all aspects of the software development process, from planning to deployment. 

Visionnaire's team had frequent contact with Britânia employees, including face-to-face meetings with users of the system in development, which was crucial for conducting a thorough analysis and producing a comprehensive and detailed document. 

This project had a hybrid scope, a balanced approach that combines the best of traditional and agile methods, promoting both predictability and control, as well as flexibility and adaptability. Concepts from traditional and agile approaches were combined for project scope definition and management, leveraging the benefits of both methodologies to better meet the specific needs of a project. 

Thus, following a closed scope approach, an initial detailed planning was carried out to define the main functionalities and system requirements, providing a clear view of the project's objectives and expectations from the beginning. At the same time, following agile approach concepts, the initial project incorporated short and iterative development cycles (Sprints) so that parts of the scope were adjusted as the project progressed, allowing adaptation to client needs changes and new technical discoveries. 

The hybrid scope also allowed incremental deliveries of functionalities, providing continuous feedback from stakeholders and enabling quick adjustments. It combined strict change control practices with agile flexibility, ensuring that scope changes were managed in a structured manner without compromising adaptability. 

Brochure
Case Brochure  

Presentation
Case Presentation