In an international bestselling book The World Is Flat: A Brief History of the Twenty-First Century , Thomas L. Friedman analyzes globalization, primarily in the early 21st century. The book talks about the perceptual shift required for countries, companies, and individuals to remain competitive in a global market where historical and geographical divisions are becoming increasingly irrelevant. When one looks with this view today at the software application development processes, there is no border and it has also become kind of 24×7 with “follow the sun” concept.
Alternatively, today’s ever changing customer needs, and the distance between customer and the developers, demands deployment of creative processes that anticipates the need for flexibility and applies a level of pragmatism to the delivery of the software applications by using methodologies such as agile software development (ASD). Agile software development focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they’re ready. The goal of ASD is to build upon small client-approved parts as the project progresses, as opposed to delivering one large application at the end of the project.
When one looks at the tools that support the agile manner of software application development, for example, the IBM Rational Collaborative Lifecycle Management platform, in my perspective, the following five imperatives are important:
- Real-time Planning accelerates time to delivery by:
-Providing a single plan that spans requirements, development, and test, ensuring a team understanding of the overall scope of a project
-Integrating planning with execution, ensuring the entire team understands the true project status
-Allowing everyone to participate in keeping the plan current and accurate
-Helping teams respond to the unexpected in a timely manner, ensuring the team stays on schedule
- Lifecycle Traceability improves quality by:
-Establishing relationships between software artifacts
-Helping you identify and close artifact gaps, ensuring coverage across disciplines
-Providing visibility into the completeness of planned items by inspecting all related artifacts
-Providing easy access to related artifacts, ensuring everyone shares the same view
-Delivering transparency, which enables everyone to make fully informed decisions based business priorities
- In-Context Collaboration improves product value by:
-Making information immediately accessible to all team members in the context of their work
-Empowering teams to collaborate on and review software development artifacts so they can incorporate feedback early and often
-Providing single source of truth hosted in a shared repository so that team members can collaborate effectively around the globe
- Development Intelligence improves predictability by:
-Applying business intelligence techniques to software and systems development
-Enabling fact-based decision making (to communicate status, monitor progress, diagnose problems, identify corrective actions)
-Steering projects and programs to deliver on time
- Continuous Improvement reduces cost by:
-Improving software delivery through the ongoing adoption of best practices and automation to reduce manual, non-creative and error-prone tasks
-Promoting incremental improvement of a project when needed
-Enabling breakthrough improvement by capturing best practices and reusing across teams
-Allowing everyone to participate with easy-to-adopt best practices at your fingertips.
The other day, I came across a great example of a large hospitality company that is using the Rational solutions on the IBM SmartCloud Enterprise. This enterprise has 100 development teams distributed around the globe, and also outsourced and third-party partners who are participating in their projects. They recognized that they needed to deploy advanced lifecycle development management capabilities for their teams such as those offered by Rational, but their IT organization was concerned that it would be too costly and complex to install, configure, and maintain multiple implementations across all these teams and locations. The development teams were also concerned that the deployments would be inconsistent between each of the teams and that ultimately IT would not be able to react quickly enough to stand up environments for each new project. So, by establishing a predefined and preconfigured environment, hosted on the IBM SmartCloud Enterprise, they were able to provide a centrally managed, standardized, and consistent development environment that could be predictably delivered to all their users and projects worldwide, including their business partners. And, in fact, everything is standardized and automated. The project leaders can now obtain a new environment by self-service, thus eliminating the need to contact IT at all.
Indeed such powerful development capabilities delivered through cloud is a paradigm shift in the software application development process. The following figure describes key changes:
With on-demand provisioning of virtualized resources, IBM Rational Software delivery services for cloud computing can help reduce capital investments, while offering the elastic scalability to handle fluctuating business needs.
After your cloud infrastructure is set up, you can rapidly provision and manage images to support the development, test, and delivery of software applications. These services are optimized for deployment in a private cloud infrastructure hosted by customer or the IBM.
Scenarios supported by IBM Rational Software delivery services include:
- Rapidly accommodating new projects and supporting on-demand application usage
- Responding to excess capacity needs and facilitating easier capacity planning
- Reducing the need for excess hardware acquisition or capital expenses
- Modernizing your software delivery environment to increase productivity and efficiency
In summary, I would say in this flat world, where the business value is generated at the intersection of borders of companies, countries, and time zones, a flexible, agile software development environment delivered from the cloud is indeed a game changing proposition. This is true not only for large enterprises, as mentioned in the example, but also for the software development service providers, and a new business model for the companies interested to provide software development platform as a service.
Collaborative Lifecycle Management on Jazz.net: Learn about the latest releases and features, participate in the forums, and watch recorded videos of the solution in action.
 Friedman, T.L. The World Is Flat: A Brief History of the Twenty-first Century, 1st ed.Farrar, Straus and Giroux, 2005