automate your software development life cycle using the right tools

24

Upload: info-tech-research-group

Post on 20-Aug-2015

589 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Automate Your Software Development Life Cycle Using the Right Tools
Page 2: Automate Your Software Development Life Cycle Using the Right Tools
Page 3: Automate Your Software Development Life Cycle Using the Right Tools

Automate Your Software Development Life Cycle (SDLC) Using the Right ToolsDigitize your repetitive development processes to gain additional productivity and improve quality and costs.• Development teams are increasingly under pressure to release applications quickly; reduce development, operations, and maintenance costs; and remain relevant to business objectives. • Using a purely manual software development process can be useful when starting out and processes are not yet concrete. At a certain point, you will hit scalability limits around traceability and throughput. This will affect overall product quality. Some examples of this issue occur in the testing domain:◦ Regression tests will increase over time as applications become larger and more complex, causing testing capacities to reach an upper bound, slowing testing throughout. The urgency of release to market means a product may not be fully regression tested.◦ Functional tests that are repetitive will consume significant time during test cycles and will grow linearly with the number of new functional tests. As with regression testing, pressure to release could cause deployment of a product that is not yet fully tested for end use.Focus on instrumentation and integration when implementing your automated application development (AAD) tools to reduce maintenance costs, increase product quality, and improve project productivity. Instrumentation focuses on the tool’s execution and integration refers to the movement and acceptance of development artifacts. Drivers:Distributed applications: managing and incorporating data and operational dependencies of a single app is painful in a highly distributed environment, such as SOA. To reduce the risk that newly developed applications pose to existing systems and minimize the time needed to inject integration (e.g. APIs), leverage commonly used libraries and integration patterns. Distributed development: organizations are reaching out to offshore companies to build, test, deploy, and maintain applications, often with a follow-the-sun approach. Integration of multiple inputs is a significant pain point, leading to a reduction of throughput due to the need to verify quality, stability, and compliance to standards. Scalability: ensuring high quality applications requires significant testing with high volumes of test data. Testers need to be able to quickly spin up and down environments for all cases without compromising normal business operations. Deployment teams need to be able to provision the necessary infrastructure to ensure acceptable performance and availability.Innovation: in a recent Vanson Bourne survey, the vast majority of organizations indicated their app support as “reactive and focused on firefighting, as opposed to delivering real business value.” Developers want to be able to shift some of their focus from support to taking on additional projects, undertaking innovation tasks, and accommodating business requests.Measurable value: IT wants the ability to monitor and track the performance of its development tools and processes to identify pain points for optimization projects. Value metrics are difficult to measure and assess if standards are not upheld across all projects.Evaluate - Assess the value and optimize the use of your current development tools and processes before considering the use of AAD tools. Current tools and processes may not have adequate capacity to support the need for automation; thereby, limiting the amount of benefits that can be realized. Automated Build – Integration of code from multiple developers into a source code management system, which is then used to create an executable build or library.Automated Testing – Automatic execution of test scripts of various business scenarios and app functionalities. Automated Deployment – Deploy applications to multiple environments which are configured for the application’s specifications. Don't try to automate if you don't have a good foundation based on quality and traceability first. Otherwise, automation will make matters worse by amplifying gaps in your foundation.Metrics are the glue that bind business and technical domains together. Create metrics that can be traceable from technical measurements to useful business KPIs.Automation requirements collisions mean ambiguity in interpretation. These need to be resolved before a target state is produced to avoid expensive post-implementation workarounds and an unclear definition of quality.Map the selection of your AAD tools to high priority IT drivers and development pain points to realize what tools will not contribute value to the business in terms of quality and throughput.When deploying your AAD tools, be careful not to break the traceability gap within a toolchain. Otherwise, reporting could inadvertently provide misleading information.Contextualize your metrics before trying to optimize. Not doing so could accelerate bad behavior and negatively influence metrics.

Page 4: Automate Your Software Development Life Cycle Using the Right Tools
Page 5: Automate Your Software Development Life Cycle Using the Right Tools
Page 6: Automate Your Software Development Life Cycle Using the Right Tools
Page 7: Automate Your Software Development Life Cycle Using the Right Tools
Page 8: Automate Your Software Development Life Cycle Using the Right Tools
Page 9: Automate Your Software Development Life Cycle Using the Right Tools
Page 10: Automate Your Software Development Life Cycle Using the Right Tools
Page 11: Automate Your Software Development Life Cycle Using the Right Tools
Page 12: Automate Your Software Development Life Cycle Using the Right Tools
Page 13: Automate Your Software Development Life Cycle Using the Right Tools
Page 14: Automate Your Software Development Life Cycle Using the Right Tools
Page 15: Automate Your Software Development Life Cycle Using the Right Tools
Page 16: Automate Your Software Development Life Cycle Using the Right Tools
Page 17: Automate Your Software Development Life Cycle Using the Right Tools
Page 18: Automate Your Software Development Life Cycle Using the Right Tools
Page 19: Automate Your Software Development Life Cycle Using the Right Tools
Page 20: Automate Your Software Development Life Cycle Using the Right Tools
Page 21: Automate Your Software Development Life Cycle Using the Right Tools
Page 22: Automate Your Software Development Life Cycle Using the Right Tools
Page 23: Automate Your Software Development Life Cycle Using the Right Tools