Are High Level Design and Low Level Design documents needed to follow Agile development process?

Our team is developing a project using an Agile development process. All of our requirements are converted into product backlog items and task are broken down based on that. One of my team member suggested to maintain the High Level Document (HLD) and Low Level Document (LLD) for the requirement.

Do we need to have these documents to follow the Agile process?

Performance management in Agile teams. How to evaluate cross functioning teams

With the clear roles of Scrum members and the self-management Development team, how to evaluate individual performance?

Who is the person responsible for evaluating and promoting/demoting team members?

What are the processes to collect continuous feedback and build this up to appraisal?

How frequent should the appraisal be performed, after each sprint or annually?

Who should handle customer support within an Agile team?

We currently have a maintenance role within our team which the developers on our team rotate each 2 week sprint.

This consists of:

  • Responding to user bug reports & creating stories/issues for them
  • Responding to negative app store reviews
  • Troubleshooting user problems
  • Responding to overall user feedback & feature requests
  • Fixing urgent defects that were not known at the time of sprint planning

Are all of these tasks within a developers domain or are some of these Product Owner or Scrum master responsibilities?

Does every member of an agile team need to be a software developer?

We recently started using agile methodologies at my company. Because I am quite new to agile, I wonder if our way of implementing it is correct according to the basic principles of agile.

Previously, we had roles such as business analyst, QA tester and software developer. But now management has decided that these roles should be removed and everyone will work as a software developer.

In practice, this means that one software developer will have the same responsibilities as three separate roles previously did (i.e. one business analyst, one QA tester and one software developer).

They justify the change with the fact that this is agile. Is this the way other companies also implement agile?

Agile software development teams don’t need project managers, am I wrong?

I’ve been working as a software developer for coming up on 12 years and during this time I have worked as part of a number of successful agile software development teams. Interestingly on most of these teams there was no one fulfilling the role of project manager as the teams in question adhered to the values & principles set out in the Agile Manifesto.

Therefore I have come to realise the following;

If a software development team adheres to the values & principles set out in the Agile Manifesto they do not need someone fulfilling the role of project manager.

My reasons for thinking this are as follows :

  • Agile software development teams are cross-functional by nature, which means they consist of software developers and business clients. This adds a high level of transparency to the teams activity, thus negating the role of project manager in relation to tracking and reporting on the team progress.
  • Agile software development teams are self-organising, which means the entire team decides on deliverables and associated timelines. In my opinion this removes the need for a project manager in relation to scheduling a teams activity.
  • Agile software development teams advocate adaptive planning, which means software developers and business clients can react to shifting requirements. This removes the need for a project manager in relation to scoping estimates for features.
  • Agile software development teams encourage rapid and flexible response to change. Therefore having a project manager on an agile software development team would be counter-intuitive as they would add unnecessary process to a lightweight process.

I would be interested to hear the opinion of other software developers on this topic. Do we need project managers on agile software development teams?