My experience is limited to waterfall, but I have certainly heard of agile. I have not given the SLDC much thought. Do you have any suggestions?”
BA: “I recommend that you schedule a vision and scope meeting3 after the kick-off. I can help you facilitate4 that meeting. The purpose of the meeting is to describe what the software product will look like via brainstorming5 and set a boundary for the project,essentially, what we will do and not do on the project. Our deliverable will be an initial list of prioritized software features. I suggest we use a technique called “user stories6” to document these features. From this information, characteristics of the project team and what we learn about the stakeholders, we can determine the appropriate SDLC.”
PM: “Aren’t user stories an agile technique? Doesn’t this mean we will use the agile approach?”
BA: “Not necessarily. Regardless of the SDLC, we need to define the vision and scope and user stories are just a good way of writing the software features.”
PM: “OK, I follow you. I was going to have a planning meeting with the team members after the kick-off. But, perhaps the vision and scope meeting should go first.”
BA: “I agree. After the vision and scope meeting, I suggest two planning meetings: one for the entire project and one for the analysis. The result of the analysis meeting is the Requirements Work Plan (RWP)7.”
PM: “What goes into the RWP?”
BA: “Well, it depends on the SDLC. Let’s say this project uses a waterfall SDLC. Together with my analysis team, we will build a Work Breakdown Structure (WBS)8 of all the analysis tasks from identifying and interviewing stakeholders to modeling the AS-IS and TO-BE9 business environment. The deliverable is a Business Requirement Document (BRD)10 signed by the project sponsor. From the approved BRD, the IT system experts translate the business requirements into technical specifications, which programmers later transform into software code and finally test.
If this project uses an agile approach, we still need to plan, but it takes a form of releases and iterations. There is no BRD; in fact, there is minimal documentation. In this case, I will work with the stakeholders and project team together to elicit the software requirements using the user stories as the basis. As we elicit the requirements, the project team writes and tests the software code directly.”
PM: “Which is the better SDLC approach?”
BA: “Actually the question is, which SDLC is best for this project? As I said, the SDLC is determined after the vision and scope meeting.”
The best SDLC is the one that matches the characteristics of the project, the stakeholders, and the project team.
PM: “OK, I get it. The SDLC depends on the characteristics of the project, the stakeholders, and the project team. By the way, I am very familiar with the WBS tool; I can help you with your planning effort assuming the waterfall approach.”
BA: ”That would be great.”
PM: “Are there other tools and/or techniques that you will use?”
BA: “There are several techniques and best practices. Besides expanding the user stories into detailed use cases11, I will be developing various models12 to represent business data, rules, and processes. The important thing is that we produce documents that the team members can use throughout the project. Our goal, of course, is to realize the benefits of a working product.”
Documentation is not the end goal, the benefits of a working product is.
“For instance, use cases will be our basis for writing test cases and, in fact, will facilitate developing our test plan prior to coding the software. This is an extreme programming technique called test driven development13.”
PM: “This conversation has really helped me understand what to expect during the analysis phase. I definitely want to participate in your WBS and integrate your RWP into the project plan.
Let’s look over our schedules and set dates for the kick-off and the vision and scope meeting. After these meetings, we can decide on the appropriate SDLC together.”