How to Use Current Company Processes in Your Business Analysis
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?
In the waterfall approach, the team completes each phase before moving on to the next.
|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.
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.