Business Analysis For Dummies
Book image
Explore Book Buy On Amazon

Process in business analysis refers to the project processes that are in place at the company where you’re working that you can use as a guide. There are four different methodologies: waterfall, agile, spiral/rational unified process (RUP), and rapid application development (RAD)/evolving prototype.

As the business analyst, you must figure out what needs to be addressed when planning under these project processes. Having familiarity with them helps you adjust and understand why certain deliverables are required; it also ensures that you plan the time to perform them.

Most companies use some form of these methodologies, often taking the best of each and sometimes coming up with a combined version that best meets the culture of an organization while focusing on business value.

Asking the following questions can help you understand more about how you should execute the project with certain accepted processes, techniques, and document templates for deliverables. All this information goes into your work plan:

  • What methodology will be used for this project?

  • Are the stakeholders familiar with the planned methodology?

  • Are the project roles and responsibilities clear?

  • Is the process tailored appropriately for this project?

  • What deliverables are required?

Waterfall

In the waterfall approach, the team completes each phase before moving on to the next.

Phase Roles Involved Tasks Deliverables
Planning Project sponsor; business analyst (BA); subject matter expert (SME) Initiate project; define project scope; estimate costs, time schedules, and resource requirements Project statement of purpose; project objectives; project scope document; funding approval
Analysis SME; BA; data administrator; facilitator Elicit detailed business requirements; bring multiple organization units to consensus Detailed business requirements document
Design BA; database designer; system designer Lay out user interface; design database; design programs and interfaces Screen layouts; report layouts; database definition; program specifications
Construction Software developer Write programs; unit test programs; create database Completed programs; databases
Testing QA tester; BA; SME Test integration, system, and user acceptance Fully tested software
Implementation Software developer; trainer Install software; set up parameters; train users Production application
Maintenance SME; BA; software developer Perform impact analysis; design system modifications; make and install changes System modifications and enhancements

The benefits of this approach are that it’s a well-documented, structured, proven approach that focuses on eliciting business requirements before designing a solution. The limitations are that you have to complete each phase before starting the next phase, which makes it difficult to go back when problems arise.

If you use textual requirements, plan on adding time for more-formal reviews so you can ensure everyone has the same understanding of a requirement.

Agile development methodologies

The emphasis in an agile project is on building a tightly knit, highly skilled, collocated (in the same place and working side-by-side), and self-managed team that follows the project through from start to finish and delivers software quickly. Typically, the only formal project deliverables are the actual working software and the required system documentation that’s completed at the end of the project.

The benefits an agile approach brings to your work plan include the following:

  • Rapid feedback from users that increases the usability and quality of the application

  • Early discovery of design defects

  • The ability to easily roll out functionality in incremental stages

  • The ability of future deliverable phases to capitalize on lessons learned in earlier phases (called iterations)

  • A more motivated and more productive team because of face-to face collocation

  • Knowledge-sharing for the duration of the project

  • Adaptive analysis (techniques are employed as needed)

The following limitations can impact your work plan:

  • Difficulty in coordinating large projects

  • Slower buy-in for major project process change than often expected

  • A tendency to not adequately document what’s necessary after completion

  • Difficulty in predicting exactly what features are possible within a fixed time or dollar budget

Agile development is iterative (a repeating process), tightly time-boxed (has a fixed time for development), and geared for dynamic requirements (those that adapt and change) and frequent measurements.

Spiral model/Rational Unified Process (RUP)

The spiral approach requires the project team to perform risk analysis before each iteration and to work on the portion of the system that has the highest risk. It also involves implementing portions of the system as they’re completed. Benefits include the following:

  • It’s a risk-driven approach, addressing the highest risk areas first.

  • It tries to eliminate errors in early phases.

  • It provides one model for software development and maintenance.

  • It works well for complex, dynamic, innovative projects.

  • Reevaluation after each phase allows changes in user perspectives and technical architecture (the hardware and software pieces arranged so as to support the objective).

Of course, the spiral method has its limitations:

  • It lacks explicit process guidance in determining objectives, constraints, and alternatives.

  • It provides more flexibility than is convenient for many applications.

  • It requires risk assessment expertise. Significant experience in software projects is necessary for success.

  • Rational unified process (RUP), an adaptable process framework, needs to be tailored to a company’s needs.

RAD/prototyping

Rapid application development (RAD) and prototyping are approaches that were developed to speed up the time needed to develop an application. RAD involves a short analysis or requirements elicitation phase. The team then starts the user interface design by developing a prototype very early in the project as a method of validating user requirements.

A prototype, such as a mockup of a screen layout, is a graphical representation of how a user interfaces with an automated system. Typically, prototypes are created for online screen interactions.

Benefits of these approaches are that they give the end-users of the system an idea of how it may look and help the business analyst and subject matter expert (SME) clarify their mutual understanding of the recommendation.

The drawbacks: Mockups presented too early in the project can cause SMEs to get distracted by the aesthetics of a screen.

About This Article

This article is from the book:

About the book authors:

Paul Mulvey, CBAP, Director, Client Solutions, B2T Training, has been involved in business analysis since 1995. Kate McGoey, Director, Client Solutions, B2T Training, has more than 20 years' experience in application development and life cycle processes business. Kupe Kupersmith, CBAP, President of B2T Training, possesses more than 14 years of experience in software systems development. He serves as a mentor for business analysis professionals.

https://www.b2ttraining.com/about-us

This article can be found in the category: