The purpose of management process is to have clear strategy to achieve the project objectives, with clear definition to scope, budget and quality attributes.
According to Agile methodology, it uses the time-boxed iterative model in order to achieve the continuous delivery, that guarantee the delivery and build strong relationship with the customers.
1- Initiation Procedure
2-Agile Communication Events Procedure
3-Estimatation Procedure
4-Risk Planning Procedure
5-Plan Finalize Procedure
6-Monitoring and Control Procedure
7-Project Closure Procedure
Due to the increase of team size, project size, and projects complexity, the scaled agile model take place, with additional advantages in the following areas:
Team responsibilities: We have product managers team, and DevOps teams
Agile practices: Agile release train(ART) as different teams are working together
DevOps: As we have to deliver smoothly, and in higher traffic, we need to have DevOps practices
Team Building: Tribes, Squads
Due to the change from applying traditional agile to SAFe, new terminologies has take place:
SQUAD: the scrum team
Chapter: Same function team members, like mobile team, QC team
Tribes: multiple SQUADS
Guild: Team with the same interests, like innovation team, which may be selected team members from different SQUADs
Theme
Initiative
Epic
Story
As the classification of DevOps can be as following:
Theme
Initiative
Epic
Story
But still the user story is totally different from the following as in the opposite graph, user story is functional, sprint focus, and cannot be considered as single repoitory of truth.
Sprint readiness
Sprint planning
Daily standup meeting
Sprint review meeting
Retrospective meeting
Most important meeting in agile, from enterprise perspective is: Retrospective. It used for :
1. improving the overall process
2. Resolving internal communication issues between team
3. Resolving external communication issues with customers
4. Resolving staff issues within the enterprise and resolve cultural issues
Without this meeting, and real corrective actions : Enterprise will expect zero growth, zero improvement, and turn over that may lead to potential failure.
Scenario-Based
Persona-Based
Channel-Based
The key deliverable for confirming the quality of software developers' source code before deployment to the quality team.
The key benefits of implementing unit testing:
Having rerunnable tests
Detect source code change impact before production
Proactively resolve issues
Guidelines:
Test function behavior, not technical function implementation
Add positive and negative scenarios
Increase code coverage to confirm that you write exact-match source code
Key measurement:
Code Coverage
Unit testing effort: <10% of task effort
Testing Tools:
JUnit
XUnit
MSTest
Measurement tools:
SonarCloud
SonarQube
The process of reengineering the code, as you have continuous delivery, you have modifications all the time, by adding, removing, slicing, and creating new objects.
Moreover, you need to maintain code quality in each sprint, which requires exerting additional effort, in order to:
Maintain code smells
Decrease duplications
Reduce source code complexity
Scrum Poker cards (Agile) android application from the following location:
https://play.google.com/store/apps/details?id=artarmin.android.scrum.poker&hl=ar
Dr. Ghoniem Lawaty
Tech Evanglist