Goals
Defining the reason for going agile and what you hope to accomplish is a very important first step in going agile. Linking goals to overall business goals will help keep the team aligned and focused on the same end results.
Having the entire business invested in agile is very important to actually going agile. Moving an enterprise waterfall team to agile is virtually impossible, in my opinion, without agreement from the individual teams up to top level executives. Taking some time to define an initial set of goals will help give a common target to focus on while you begin your going agile journey.
Perspective
These goals are overwhelmingly slanted towards my automation team and achieving continuous delivery. Automation and continuous delivery goals from our executives was the primary accelerant in our going agile story. The perspective gained from formulating goals based on core business goals gave us a clear target to shoot for.
To give you some perspective on the reason for our team going agile, below I present the goals I laid out for my small team. These goals are linked to the overall team and corporate goals. In addition to goals, I included some important principles and practices to help achieve each goal.
These goals have evolved as we came to better understand where we wanted to go with agile and they continue to change to day as our perspective changes and situations change.
My Team Goals
Increase the amount of value delivered to end users
Increase the quality of the product we deliver to end users
Improve automated testing
Create maintainable tests
Use Page Objects
Reduce duplication
Care for test code like production code
Reduce feedback loops
Keep tests fast
Test in environments that are as close to production as possible
Infrastructure as code
Validate new server nodes and network before use
Measure the amount of value to end users
Monitor value measures to determine success and failure
Increase the flow of value to end users
Identify, protect, and improve bottlenecks
Map value stream
Decouple the architecture so that delivery (build, deploy, test, rollback...) can happen at component level
Make delivery easy... push button
Reduce feedback loops
Keep delivery pipeline fast
Provide continuous feedback for each step of the delivery process
Measure the flow of value to customers
Monitor flow measurements to determine success and failure
Improve the work experience
Blameless culture
Self organized teams
Improve communication
Make feedback openly visible
Conduct postmortems and poll team to determine success and failure
Last updated
Was this helpful?