Agile Learnings

Characteristics of Good Agile Teams

The majority of team members should be “generalizing specialists”. Team members should be:

Agile Team Roles

  • End Users, Decision Makers, Development & Support Team, Partners.
  • Typically a developer committed to delivery of work for the iteration.
  • Goes to the product owner for domain information and decisions.
  • Works with the architecture owner to evolve the architecture.
  • Responsible for the effectiveness and continuous improvement of the team’s process.
  • Facilitates close collaboration between team members and keeps the team focused on the project vision and goals.
  • Removes impediments for the team and escalates organizational impediments.
  • Protects the team from interruptions and external interference.
  • Maintains honest communication between everyone on the project.
  • Coaches others in the use of agile practices.
  • Prompts the team to discuss and think through issues when they are identified.
  • Facilitates decision making (but does not make decisions or mandate internal team activity).
  • Guides the creation and evolution of the solution’s architecture.
  • Mentors and coaches team members in architecture practices and issues.
  • Understands the architectural direction and standards of your organization and ensures that the team adheres to them.
  • Ensures the system will be easy to support by encouraging appropriate design and refactoring.
  • Ensures that the system is integrated and tested frequently.
  • Has the final decision regarding technical decisions, but doesn’t dictate them.
  • Leads the initial architecture envisioning effort.

Agile Model

The Inception Phase

Also known as project initiation, startup phase, iteration zero. The goals of this phase include:

The Construction Phase

The goals for this phase are:

  • Eliminate technical risk early by proving the architecture with proof-of-concepts or working code.
  • Every iteration results in a potentially consumable solution.
  • Slice the use case into user stories
  • Upfront work required is very little — just need to know the structure of the use-case story as per example shown below.
  • Scoped: when it has been scoped and the extent of the stories covered has been clarified.
  • Prepared: when the slice has been prepared by enhancing the narrative and test cases to clearly define what it means to successfully implement the slice.
  • Analyzed: when the slice has been analyzed so its impact on the components of the system is understood and the pieces affected are ready for coding and developer testing.
  • Implemented: when the software system has been enhanced to implement the slice and the slice is ready for testing.
  • Verified: and finally when the slice has been verified as done and is ready for inclusion in a release.
Define work in progress limits that suits the team

The Transition Phase

  • Short and sufficient.
  • Short iterations are a sign of good preparation during Construction.
  • Multiple iterations of Transition may make sense for large roll-outs.
  • Proven deployment/installation.
  • Good continuous integration and deployment practices streamline Transition.

References

  • Disciplined Agile Delivery
  • Use Cases 2.0

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store