2

We're building a website to manage our company asset, and apply Agile/Scrum to this project. We started with the Product backlog as in attachment. We planned to start the first Sprint but the team concern about system requirement - things outside PB such as hardware/software architect, database design, security, user role/permission,.. They said without these requirement, they cannot start.

So, may questions are: 1. Our PB is a good one 2. Do we need to conduct System specification. If yes, how detail it needs and when to conduct it (before or after getting user story)?

I thank you very much.enter image description here

Vu Quang Huy
  • 21
  • 1
  • 3
  • 1
    Some things have to be agreed in advance: programming language, deployment environment (hardware, networks, OS etc) and the like. Things like the database design and user roles arise out of the needs of the user stories so absolutely must not be defined in advance. – David Arno Oct 05 '16 at 10:39

2 Answers2

2

You can start with that backlog. Anything the team needs to address the priority issues, it can put forward in the first planning session as stories. These will be included in the stories taken aboard for the first sprint.

The whole point of SCRUM is to communicate as you go and to do what is required when it is needed, in a transparent way. Saying "we cannot start until we get the requirements spelled out to us" is waterfall. It is up to the team to get those requirements if they are not there and make it count as work.

There are several approaches possible. The team could agree to just create something to their best judgement and show it to the PO to get feedback, then iterate. This is one way to get the specs clear. The team could also try to find fully documented agreement before it starts writing any code. The latter approach would not be considered very agile but it could still fit SCRUM. Whichever way is chosen, finding agreement on a feature is work and requires interaction with stakeholders. Sitting back as a team waiting for a signed document is definitely not agile and not SCRUM.

Martin Maat
  • 18,218
  • 3
  • 30
  • 57
1

Something that Scrum (and even Nexus) doesn't do well is project inception. Project inception includes things like team formation, project vision, organizational direction, initial scope, creation of the work environment, technical strategy, and risk management. Instead, Scrum is focused on construction activities - choosing what to work on now, working toward a solution, and addressing changing needs throughout the project. Both the Scaled Agile Framework (SAFe) and Disciplined Agile Delivery (DAD) address these activities in an agile context.

Now, SAFe and DAD are designed for use in an enterprise, with multiple agile teams working in coordination with each other to deliver products. If you have a single team, they may be overkill, but you can learn about what they have to say and apply portions of it to your environment.

Some of the things that you are concerned about - choosing hardware and software architecture and security, for example - are part of a technical strategy. In Scaled Agile Framework, there are System Architects and Release Train Engineers (at the Program or Value Stream level, working across development teams) and Value Stream Engineers (at the Value Stream level) who are focused on these cross-cutting technical involvement. In Disciplined Agile Delivery, there is the role of an Architecture Owner to own these decisions. Still, they may make them as a group with other members of the organization or team. In both of these scaled frameworks, these people begin creating the initial backlog that goes to development teams early in the project.

Some of your other concerns, such as database design and user roles and permissions, will come from the design and implementation of features. They will come from business requirements that are prioritized by Product Owner (in Scrum or DAD) or Solution Management, Product Management, and Product Owner (in SAFe). You can perform iterative and incremental database design, and there are other resources (including questions here) about that.

Yes - you should be doing some level of up-front work to establish your architecture and development environment before you begin your delivery iterations or sprints. The amount of detail depends on how much risk you are willing to accept. If you need to capture a formal system specification, that depends on your requirements for configuration management. In a regulated industry, you should have documented and consistent policies regarding development, test, and production environments and tools. In other sectors, it may not be necessary. Scrum, as a framework, doesn't specify how you do this, so you'll need to look at other process models.

As far as if your backlog is a good one, work with your team. Is it good enough for them to estimate? Is each item reasonably scoped and can be broken down into subtasks and then executed by the team? Only they can answer those questions.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
  • I strongly recommend [Software in 30 Days](https://www.amazon.com/Software-30-Days-Customers-Competitors/dp/1118206665) for a better understanding of why the Scrum framework and other agile paradigms do not include a classic Project Inception phase. Here are some brief points. Agile software development is about reacting to opportunities; cumbersome pre project rituals reduce competitive advantage. Scrum focuses on _products_ and not _projects_ which is an important distinction. Short iterative and incremental efforts, each resulting in a potentially releasable product, is risk management. – Alan Larimer Oct 11 '16 at 12:26
  • @AlanLarimerPSM I'm familiar with why the creators of Scrum chose to focus on other aspects of projects. However, that lack of consideration for any pre-project rituals leaves a lot of questions in the eyes of people implementing Scrum. Sprint 0 is a common solution to this, but both Disciplined Agile Delivery and Scaled Agile Framework provide guidance for how to implement these activities in a manner consistent with the principles of agile and lean methods - they don't need to be cumbersome or reduce competitive advantage, but will also yield a higher quality product. – Thomas Owens Oct 11 '16 at 12:40