Agile, Requirements and DevOps: Your standards for success

Article by DSoft Technology
Published on 23-01-2024

Requirements are precursors to development and are vital to the success of a project. In the Scrum framework, requirements are created...

tags: agile methodology DevSecOps requirements roles Project Sponsor Project Manager Scrum Master Business Analyst Quality Assurance development ...

Share This Article

Requirements

Requirements are precursors to development and are vital to the success of a project. In the Scrum framework, requirements are created collaboratively with the users during the project. Business analysts will conduct requirements workshops, mock-ups, and prototypes. This approach departs from the traditional Waterfall approach of gathering all the requirements up front before development work begins. Having regular demos keeps the business informed of progress and risks. Estimates can be revised as new information is provided. A team can get back on track quickly if problems develop. Using Scrum helps reduce the risk of misunderstood requirements, technical issues or changing needs and ultimately helps reduce cost overruns.

Roles

In Scrum, the team consists of several important roles:

The Project Sponsor is a traditional term for a person or entity responsible for funding a project and gathering resources to start the process. They sometimes are the visionary on the project or represent a group or organization that will benefit from the project.

The Project Manager (PM) is also a traditional role, and they are still important in Agile in some organizations. They keep track of the big picture, budgets, resources, risks, and timelines. They usually help or write the project charter in conjunction with the Project Sponsor and keep track of required documentation. In addition, they are responsible for status reporting to executives and for the overall success of the project. The Product Owner (PO) represents the business entity and they understand the needs and priorities of the business. They help manage the product backlog by ‘grooming’ or helping to prioritize work, removing roadblocks, engaging Subject Matter Experts (SMEs) and by holding the product vision for the team. The Product Owner is the go-to role for removing roadblocks and interfacing with the project manager.

The Scrum Master is like a music conductor for an orchestra and their orchestra is the team. They ensure the team is following scrum principles and that all team members perform in their roles. They typically set up daily stand-up meetings and will conduct these short meetings with the team asking the questions: “What did you accomplish yesterday? What will you do tomorrow? Do you have any roadblocks.” They often help set the schedule and set all the touchpoints and meetings needed in the project. Sometimes, they set up the project board in JIRA or the tracking tool that is being used. A Scrum Master will also do Sprint Retrospectives and Sprint Planning meetings. The planning meeting is to determine priorities for the next sprint and the retrospective is held at the end of the sprint. In addition, they generally keep the team on track and work with the Product Owner to remove any obstacles the team may face.

The Business Analysts (BAs) work closely with the team throughout all phases of the project. Typically, a business analyst will work directly with the sponsors, product owners and end users to determine what is needed from a business and technical perspective on a project. At the beginning of a project, they will work with the project manager and project sponsor to help define the vision and scope of the project. At this stage, they often do high level business requirement documents to help further define the business outcomes of the project. Business analysts are responsible for requirements of all kinds. Some artifacts the business analyst is responsible for include Business Requirements Document (BRD), Functional Requirements Document (FRD) including user requirements, data requirements, and non-functional and technical requirements. In the Scrum methodology, requirements are broken down by the business analysts into user stories and put into the product backlog. Business analysts are considered an interpreter between the business users and the technical team. Additionally, business analysts often help with quality assurance testing, user testing, and user training. They often work with the training team to develop, document, and implement Train the Trainer programs.

Quality Assurance (QA) team members are brought in to assist the software team in testing. They concentrate on testing the software, usually beginning at the system testing phase. They write test scripts and will often use a tool to keep track of tests and results. They plan, develop, and run tests on all phases of the software. They keep a defect log and documents and report defects to the project team. And they prepare the software for turnover to the users for User Acceptance testing (UAT). Sometimes a Business Analyst (BA) will help the QA team write tests as well as help them understand the business rules and nuances of the software.

The Development team includes business systems analysts (BSAs), software architects and engineers, developers, security engineers, cloud architects, database engineers, stewards and designers, report writers, quality assurance engineers and UI/UX designers. Each role is an important part of the success of a project just as each role on a sports team contributes to a win.

In summary, Agile methodology has been around since the 1970s and over the last 20 years has become the methodology of choice for many organizations. However, it has been criticized for its lack of documentation, artifacts, and need for multiple resources from the business. Most organizations use a hybrid approach and end up with a mixture of Waterfall and Agile. For example, the work breakdown structure (WBS) recommended in this document includes some traditional project planning and reporting previously used in waterfall projects. This is not always the case in a pure Agile project. Our approach works and has been successfully used on projects for many years. Government agencies especially appreciate the added reporting, accountability and deliverable structure.

Development, Security, Operations (DevSecOps)

DevSecOps automates the integration of security at every phase of the software development lifecycle, from initial design through integration, testing, deployment, and software delivery. DevSecOps represents a natural and necessary evolution in the way organizations approach security. An important part of the DevSecOps is creating an operations pipeline.

Interested in Knowing More?