SOFTWARE PRODUCT DEVELOPMENT & QUALITY TESTING
Entrance’s software development services team utilizes a tailored version of the Microsoft Solution Framework (MSF) Agile methodology to manage and deliver projects. The Agile process enables Entrance to focus on delivering working software that provides the highest business value at all times. Customer engagement and collaboration is key and, employing Agile allows our Clients to see and touch the software at the end of each iteration, typically 2-3 weeks long, which allows us to be highly responsive to our client’s changing needs.
To ensure the solution delivered meets our high standards, all solutions are delivered with our quality testing services.
We have team members solely focused on the following areas to delivery better software for our customers:
Project GovernanceMainly involved with management of resources, quality, and communication between the client and the team.
DevelopmentDevelops the line of business solution based on the design and Entrance custom software development best practices.
User Experience/User InterfaceFocused on user interface and usability.
Architecture and DesignResponsible for the design of the overall solution and ensuring that design optimally satisfies all requirements at scale.
Quality Assurance in Software testingPerforms independent testing, ensures quality and smooth deployment.
Product Development Phases
This model defines five distinct phases for a project. These phases overlap, define what needs to be accomplished and define a goal for quality. When used in combination with Entrance’s Agile methodology, these stages are small in scope and performed quickly.
Agile Software Development Methodology
MANAGING THE WORK
The Product Planning process is a pre-cursor to any development activity. Depending on the scope of the problem and solution this process can take from one to five days of effort. This typically involves all of the members of the team, but can be limited to the Product Owner, Scrum Master, and Team Members who specialize in Business Analysis and Architecture.
The Product Planning process is a pre-cursor to any development and produces the following outcomes and artifacts:
- Understanding and documenting the business problem and processes
- Problems/limitations of the current solution or process
- A vision for the end state
- Developing an initial Product Backlog consisting of User Stories that detail the functionality required by each type of user based on role
- If possible each User Story should be assigned a Business Value to help determine the priority for the follow-on Sprint Planning
- Each user story should have clear acceptance criteria that will drive both developer testing and our software testing service
The Sprint Planning process allows Entrance and our Client to work together to prioritize and schedule User Stories in the Product Backlog for development. This is accomplished at the beginning of each Sprint by pulling items from the Product Backlog into the Sprint Backlog. As the User Stories are placed into the Sprint Backlog, Acceptance Criteria are written against the User Story to ensure that developers, testers, and users have a shared understanding of the definition of “Done” for a given User Story. The end result of Sprint Planning is a Sprint Backlog that contains User Stories and Bugs the team will work on until the end of the Sprint.
This process involves using tools and Agile development practices to turn the User Stories into functional software. This is driven by the order and priority of the User Stories contained in the Sprint Backlog. Throughout the Sprint, as the User Stories are turned into functional software, the software is tested and evaluated by our developers, Quality Assurance (QA) team, and the Client against the Acceptance Criteria in the User Stories to ensure we are building the right solution. The Team will meet at the Daily Stand-up to discuss yesterday’s accomplishments, today’s planned work and any impediments to getting the work done.
To increase quality and productivity, the Entrance team leverages market-leading tools and Agile practices:
Static code analysis tools
Automated UI Testing
Kanban boards for Work Item Management
Source Code Management via TFS
Database Source Code Management via Redgate
Quality Assurance Services
Entrance incorporates quality into all aspects of project delivery tailored to the type of software product development we are engaged in delivering. Document-based deliverables go through internal review for content accuracy, style, and voice. Additionally, Entrance incorporates input from Client via draft reviews throughout the delivery cycle.
Software based deliverables are put through a rigorous independent software testing and quality assurance testing process that involves the following steps when appropriate:
- Definition of Acceptance Criteria for software based functionality
- Unit testing done at the developer level
- Functional testing done by Quality Assurance resources
- Automated regression testing intended to streamline the development and deployment process as software based solutions evolve
- Software Code Reviews when appropriate
User Acceptance Testing Eliminating all defects from non-trivial software can be cost prohibitive, therefore, Entrance monitors the costs and effort associated with resolving defects to keep those costs within acceptable tolerances and Entrance company standards.