Right nowAgileis already the industry standard of development of IT industry, most companies adopt the agile in product development to solve some problems caused by waterfall model.
The agile iteration cycle is short, each iteration has a predetermined target, and each iteration has corresponding output, can greatly improve the satisfaction of the project stakeholders.
A typical cycle of product development is:
Maintenance, release, testing, development, demand clarification.
When the product matures, the new features and improvements will be reduced, while the amount of maintenance and customer support will be increasing. Maintenance includes: Technical support, project management, engineering maintenance, version management.
For mature organizations, waterfall models are a good way to perform all maintenance activities (e.g. product improvements, bug fixes) based on customer requirements.
However, agility has become more and more widespread. Not only the development team, but also the maintenance team is moving towards agility.
I have worked as an agent of the maintenance team, Scrum Master, to implement the agile transformation of maintenance projects in our team.
why abandon the old mature model and adopt the new model?
In the old mode of work, our team is basically completely passive: what problems the customer reported, to us, we solve according to the priority assigned by the problem definition engineer. After the problem is found, the engineer submits the relevant changes and waits for the SCM to develop the package. After the SCM is out of the package, submit to the I&V test. After the I&V test is passed, the SCM is out of the formal customer package.
In fact, from the customer reported problems to get changes will wait a long time. If the problem is more troublesome, basically the customer will complain very much.
At the same time for the maintenance team, our work is unbalanced, we are sometimes very busy, and sometimes very busy. This results in the allocation of team resources.
So we try to be agile, hoping that the maintenance team can draw on some of the best agile methods to solve some of the maintenance team's problems.
when it comes to adapting to agility, we have a few more changes than before:
1. Iteration Checklist: This is the standard for agility. In software development, the sprint backlog is a user stories that records some of the columns that need to be implemented. For the maintenance team, this could be a new concept. A maintenance team's sprint backlog basically contains all the bugs/issues on the sprint. There are also a number of bugs based on the predictive model. At the same time, the Scrum team and the product owner have come across the backlog before each sprint begins. Scrum team can start planning which Bugs, improvement team can commit in sprint. Previously, bugs and improvements from customers were basically what I had to assign to the right engineer to do. The scrum team is now given the expectation to review and examine the problem, as well as to identify the problem-corresponding scenario and avoid the problem again. It also ensures a reliable maintenance commitment for Scrum team in a sprint.
2. Maintenance variability: It is generally known that the backlog of maintenance is basically a constant change. This makes the sprint plan very challenging. A customer's very urgent problem will interrupt the previous plan, while occupying the team's time and resources.
3. Dynamics of agile teams: according to Sprint's plan, we can dynamically adjust the human resources of the Agile team according to the workload of maintenance. Of course, the actual situation does not necessarily coincide with the plan, which requires dynamic adjustment of team resources.
4. Manage customer Expectations: Most companies have customer satisfaction metrics (and so do we). The important content of the indicator is the response and resolution of time and quality. The Sprint backlog will contain content that manages customer expectations. such as the management of customer response, to provide a way to circumvent the scheme and so on. Sprint's plans and retrospectives need to focus on managing customer expectations.
5. Release process: The Customer package is released after the cycle compared to the waterfall model. Agile requires packages to be released every day. And for the maintenance engineer to submit the code, you can also trigger the SCM to release a new package to facilitate the company's QA validation.
after the agile transformation, we observed a number of benefits:
1. Cleaning defects: The Sprint's planning steps require the scrum Team to commit the sprint plan. The maintenance team needs to clean, review, and consider the corresponding user scenarios based on the backlog of the sprint. This allows scrum master and scrum team to go through a series of bugs. Unlike before, the Scrum team went through the backlog, finding the user scenario for the problem and pre-analyzing the problem.
2. Timely iterations: As a mandatory requirement for agility. A sprint should be three weeks. And for the maintenance team, this is a new concept. That is, the requirement problem must be solved in this iteration and tested by QA. This brings the mindset of the time requirement of the problem. Can effectively improve customer satisfaction.
3. Close collaboration between QA and development: In a waterfall model, the developer submits the code, and then submits the issue to the test. The test then starts to measure the problem according to the plan. Agility makes the process more like a fountain than a waterfall. This requires development and testing to work closely together in the sprint, and development provides test image testing that can be validated while being fed back to development. and the different angles of development and testing help to better understand the problem. This helps to build a healthier maintenance team.
4. Visualization: Agile processes require managers to participate in team activities. The management's participation in the team's planning and review makes the team's output more known to the manager, and also allows the maintenance team to get the managers ' expectations and opinions. This makes the team's visualization greatly improved, and the relationship with the management staff, in some activities with the support of managers, can greatly reduce the team management of the wrong behavior, resulting in customer response to senior leadership.
And there are many benefits to scrum Master, which is me .
Agile allows scrum master to manage the team's output in a more structured and time-critical manner, while shifting the attention of managers to the success of the support team.
In general, we do not feel the immediate benefits of transitioning to agile. But our team in the agile transformation, really in the team's morale, productivity and improve customer satisfaction has been effectively improved.
Maintain a project's agile transformation