As network organization is evolutionary and must be constantly adjusted to actual value being delivered you must have evolutionary architecture. Both approaches are aimed to decompose “Big Ball of Mud …”
Even though i think it is essential for network organisation company structured in any way will benefit from this type of product architecture.
You can read more about that in this great article – https://www.thoughtworks.com/insights/blog/microservices-evolutionary-architecture
Microservices meet this definition because of its strong bounded context principle, making the logical division described in Evan’s Domain Driven Design a physical separation. Microservices achieve this separation via advanced DevOps practices like machine provisioning, testing, and automated deployments. Because each service is decoupled from all other services (at the structural level), replacing one microservice with another resembles swapping one Lego brick for another.
Working agile means you need to be more disciplined, not less! Think it’s one of the main reasons why is it so difficult to implement Scrum in a team (not speaking about whole organization). Here are several aspects:
- Estimation and planning
- Iteration planning with clients
- Daily follow-up with a whole team
- Iterative reviews of results and further adjustments
- Team work
- Definition of Done: list of requirements that all team has to contribute to – qa and capacity testing, documentation, presentations, monitoring.
- Time boxes
- Team has to deliver best possible results in a limited time. Requires lot’s of focus and determination
- Team is seeking for improvements at the end of each iteration. Normally each two weeks!
- Results must be presented to clients or main stakeholders at the end of each iteration
p.s. Stumbled upon the same topic in InfoQ – The Importance of Discipline in Agile
In self-organized structures you never really know when and where things start.
Are you ready for that? Are you sure it motivates you?
I was covering “Process and Responsibility” topics in my last post.
To finish my analogy with Football Coach i want to suggest three main aspects that will help you to distinguish great Scrum Master from mediocre one.
1. Process is more important than value
Process is only a tool that can help to achieve results. Great Scrum Master will experiment with various practices and approaches to find what fits best his team, which depends on team’s maturity, experience, mentality and etc. And what is more Great Scrum Master will always think about the value being created by the team.
2. Suggests decisions only, but provides no information
Great Scrum Master will work towards increasing the transparency and bring as much information as possible to the team, so they understand the problem and would be able to participate in the decision making. Great Scrum Master will make sure big picture is not lost and everybody knows what is important and why it’s important.
3. Maintains status quo
Great Scrum Master is always focused on improvements. Without challenging status quo nothing much can be achieved. You can’t win two tournaments in a row if you are not going to change tactics and strategy.
What is next?
Professional Football team has several coaches. This is another interesting discussion to have… But remember – Scrum Master is team member with different skills set. Good luck in finding a great Scrum Master and right balance between number of team members and number of “Scrum Masters”!
Presentation is available here
Protection can lead your team to a comfort zone instead of desired process improvement. Who is better to get your team out from comfort zone? Market or ScrumMaster?
What is “Comfort Zone”? Wikipedia says:
The comfort zone is a behavioural state within which a person operates in an anxiety-neutral condition, using a limited set of behaviours to deliver a steady level of performance, usually without a sense of risk
So, you definitely don’t want your team to be in that condition.
This person is often considered a coach for the team. And the goal is to make sure that team does the best work they possibly can. To do that there are tons of tools that can be grouped like this (at least from my point of view, suggestions for more tools are welcome :)):
- Gamification: e.g. playing scrum with lego
- Power questions during retrospectives
- Visualization techniques + 1000 sticky notes and colourful pens
As you might understand all this requires a lot of determination and patience at least from Scrum Master. You often get natural resistance when you want to introduce something new or challenge a status quo. This process is not necessarily effective because it depends on a lot of factors and mostly on experience of a Scrum Master. And for “experienced” teams it’s very easy to stay in comfort zone and defend their beliefs.
It’s much easier here! Either you satisfy your customer and provide value for him or not. You know what will happen If you stay in comfort zone:
- they will laugh at you, if you are lucky
- client will not get back to you, if you are not lucky and they have this possibility
You might still need to educate your client to work according your process: participate in planning and reviews, give feedback.
Don’t protect your team from end-users/market, and enjoy watching how your team achieves hyper performance!