Application Development, Release and Deployment challenges with Enterprise Applications
-Chandan Lal Patary
How do we involve all of these Team Members in one release cycle?
Their goals used to be different? Development Team, Release Team and Production Team...
Development team owns only the development environment and developers build and deploy code in a test lab, and the development team tests the application at the most basic level.
In the System Integration Testing environment, the application is tested to ensure that it works with existing applications and systems.
In the User Acceptance Testing environment, the application is tested to ensure that it provides the required features for end users. Here more or less product like environment team used to maintain in the Production environment, the application is made available to users. Feedback is captured by monitoring the application's availability and functionality.
All these activities were completely owned by different team, goals were different, silos were built for last so many years, competency were different, career path were different.
Silos occur due to job specialization as well as differences in time zones, cities, and countries.
Distributed team using different solutions and processes often discover that these differences double or triple their efforts and make them unable to deliver on time.
It is always difficult to unite them with one vision. Besides road map development, especially within the set time line is also challenging.
Who will create that Family environment? Organization decided that let us hire Coach, they are supposed to break these silos and build the path. There were many Monsters waiting to eat alive whoever comes on their way. Last 20+ years they were doing these monotonous job and someone comes and take away routine work!
To satisfy Customer or End Users we have to pass through all these stage gates and increase the speed of delivery.
In every toll gate, there are gate keepers whose expectation from the project has to be aligned, else the project will veer in different direction after each toll gate review. The more critical and large the application is, the time and checklists will be big and stringent. The more legacy is the technology, so much manual effort will be.
Larger the team size, higher the conflicts. Since, the automation pressure is increasing, manual efforts are reducing, and man power requirement is coming down every team member is worrying. Release time has to come down.
How do we improve the shorter feedback loop? When we have so many cycles and so far is the end users are? We have many silos to break.
How do we break all these silos? How do we reduce the timeline?
It will be always overloaded with partial CD implementation.
How do we collaborate such large team?
The amount of time that customers are willing to wait for a desired new service keeps shrinking.
How can we streamline a common department goal for all these departments? How can we motivate all these different team when we are working on large, mission critical application?
a) How can we create a common goal for all these team members?
b) Would they get reward and recognition based on the delivery speed?
c) Would the cost of failure owned by all these team members.
d) How to do common events to increase cultural transformation?
e) How can we ensure people's career and their growth by achieving execution speed?
f) How to design cloud based, virtual, physical, local environment helps team members?How we can involve changes for individuals, interactions, processes, and solutions.
g) We should prepare our teams for the mind shift, accept? resistance, and remain aware of what works and what doesn't work for our organization.
h) We should educate all team members to help each other, they should know each other's challenges and extend help to each other. Everyone's KPI should have some common elements.
Let us reward for collaboration among development, operations, and release engineering.
Let us encourage collaborative release planning and execution.
Coordinate across all groups and individuals with an interest in the release, by creating a single source of truth, updated in real time, which helps eliminate surprises for stakeholders.
Collaboration will help to achieve below result.