Modern business now embraces Big 4 technologies: cloud, mobile, social and big data, like winds at full-blow mode, business need grow agile wings to balance wind power, to become more flexible and elastic.
Agile software development practices iterative & incremental methodology, where requirement and solutions are based on collaboration between selft-organizing, cross-functional teams, it intends to keep software project with its practical business goals;
Agile also continues shaping new muscles such as DevOps, which is a deployment pipeline that stresses communication, collaboration and integration between software developers and information Technology (IT) professionals.
1. Agile & DevOps: The Solid Wings to Lift IT to Cloud
The emerging Agile software development practices, is a less-risky model of what can happen when the product changes with frequent user feedback and minimal waste. Agile has already created a greater sense of collaboration within development teams, and cloud computing initiatives also serve as the catalyst for bringing development and IT ops together, because the cloud model demands a new mindset about how applications are developed, deployed, managed and measured.
That said, Agile also means Agile Mindset. As Agile need for speed, traditional IT operation is risk reverse, prefer stability, the bottlenecks occurs. Therefore, DevOps grows into the new muscle, response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services, produce leaner and more responsive team to deliver business value back to the client.
There’s also a pressing need for IT ops to collaborate more effectively with development teams—so that developers think about manageability requirements before the application rolls out to operations. It’s also about Agile culture and Agile governance.
2. Some Pitfalls to Pull Down Agile/DevOps Wings
- Complexity: That could be a pitfall for agile developments if iterations and increments were to be associated with an exponential growth of complexity.
- Short-term Inertia: Other potential pitfalls for Agile/DevOps, such as defect increase, chaos occurs when just start adopting it, due to change management, culture inertia, lost focus, ineffective measurement or performance incentives.
- Other tensions between development and operations. Software often is developed in one environment, then run in another; Agile tends to focus on testing to confirm that the desired business functionality has been produced but can overlook difficult-to-test attributes,
- Macro-challenges on the enterprise level such as the rate of change to bring up operations and compliance issues.
- The complications of integrating agile development and IT operations also vary with different project, company, and industry.
The potential solution may include partitioning a large project into sub-projects, in each sub-projects, Agile still be used to perform sub-task independently, it is being said, the hybrid model to combine Waterfall’s structure with Agile’s agility, some call it WaterScrum Fall model. At DevOps environment, the challenge also include re-educate people and making sure that they understand the operational indication when developing applications.
3. KPIs for DveOps
DevOps encompasses key governance processes, such as configuration, change and release management to Agile method. The KPIs include:
- Time to Configuration
- Time for change Cycle
- Quantity of deployments weekly or monthly
- Mean time to resolution
DevOps is enhanced “muscles” for Agile methodology: from architectural perspective, it's about how to design/operate more holistically in order to reduce unproductive complexity; from strategic perspective, it's about where to streamline software deployment pipeline, expedite decision making and how to optimize business process; tactically, it's about cross-functional collaboration and iterative project management; methodologically, cloud & social computing platform make it more as reality than hype.