Best of DZone: Agile and Project Management

Getting Started

A Short Guide on How to Get Started With Agile Project Management by Evgen Domch: Get started with your first Agile project using this step-by-step guide that will walk you through every aspect of the process

Top 40 Project Management Terms and Concepts of 2019 by Fred Wilson: This large list of terms and jargon from project management can serve as a great reference for management and teams beginning their Agile journey.

CircleCI vs Jenkins: Choosing The Right CI/CD Tool

If you work in the software industry, you must have realized the never-ending demand for evolution at a particular stage. This is why modern SDLC has more emphasis on the Continuous Integration and Delivery as it helps the DevOps team deliver the software faster with good quality. Gone are the days when Jenkins was the only CI-CD tool that one could think of! Many new CI-CD tools have emerged with out-of-the-box features that make you wonder about which CI-CD should you choose. 

One such tool in the CI-CD tug of war is CircleCI which modernizes CI/CD practices by overcoming certain limitations of Jenkins. On the other hand, being one of the oldest players in the CI-CD market, Jenkins has a large user base with an easy learning curve as you get a lot of content & community forums around it. So which one should you use? Should you go for CircleCI or Jenkins? Well, that’s exactly what I would help you decide by the end of this article.

A Transformation Story: From Waterfall to Agile Software Development

Introduction

There exist several software development life-cycle (SDLC) models giving different trade-offs between implementation complexity and speed, scalability, software quality, cost, and adaptability. Addressing controllability and predictability in large software products, the waterfall model was introduced [1]. Similar to the evolution of societies using bureaucratic models, software development’s evolution has been affected by the bureaucratic nature of the waterfall model since the 60’s.

In a waterfall SDLC, requirements gathering, analysis and planning are performed as an initial phase. Architectural design is then followed by software development and testing whilst deployment is the last phase. Large planning and documentation efforts are usually necessary upfront, in order that all deliverables achieve the expected quality at predefined milestones. Requirements are key to the success of waterfall software development. Clear requirements at an early stage should be available with little or no changes at a late stage. The problem is that there are customers that realize what software products suit their needs only after using several draft versions, making clear requirements at an early stage impossible. Even if the requirements are clearly defined, a customer’s major change request at the release phase may result in redesigning the software product from the beginning.

SecureSDLC – The Next Gen SDLC

People with exposure to software development space will very well understand SDLC (Software Development Life Cycle). Still, let’s do a quick recap. The SDLC framework defines the processes used by organizations to build applications/products from inception to decommission. Organization and industry leaders have defined and implemented various SDLC models (like waterfall , agile ,etc ) over the years to fit organization needs. A typical SDLC has the requirements, design and architecture, development, testing, release and maintenance phases.

What Is SecureSDLC and Why Should We Care?

SecureSDLC is an SDLC variant with emphasis on security. Secure SDLC is taking SDLC model and embedding security into every phase starting from requirements. Security is paramount for organizations dealing in and responsible to safeguard the confidentiality, integrity, and availability of organization or user data.

Your Continuous Testing Capabilities and Challenges [4-minute survey]

Continuous testing isn’t just about automation or CI/CD pipelines — it's synonymous to testing throughout the SDLC. It's about automating those tests and about implementing the right policies and procedures to ensure testing is performed whenever necessary, whether automated or manual.

Our upcoming report will explore continuous testing capabilities, challenges, and emerging approaches in 2020 and beyond. For individuals who have a role in testing at their organization, your insights will be a key part of our research.

Why Is Automation the Only Way to Deliver Continuous Testing in Agile?

The use of agile methodologies for testing and development of software applications is growing rapidly. More and more businesses are adopting agile approaches in their application development cycle. That’s why most testing teams are focused on improving and enhancing their agile management.

Agile methodologies allow teams to carry out software development throughout SDLC so that bugs can be detected in the early stages of development, and developers can fix them immediately. It is being said that when agile development and testing come together, speed becomes the primary focus for both developers and testers. And it is true because for continuous delivery in agile development, implementing continuous testing in DevOps becomes critical.

Adding "Sec" Into the DevOps Mix

Just when we thought we knew what we were doing with DevOps, it’s time for an even longer — and more challenging — term, DevSecOps. DevSecOps is scaled, enterprise-level DevOps where security is baked into every step of the process, shifting the entire SDLC left and creating a culture where everyone has a stake in quality and security.

This is the right time to talk about adding “Sec” into the DevOps mix because security breaches are at an all-time high. In the first quarter of 2019, over 1900 breaches were reported involving 1.9 billion records, according to a report from Risk-Based Security. That’s an increase of more than 50% year-over-year. It’s never been more important to ensure code safety. But it’s also never been more important to release code quickly. The tension between these two competing demands is real, and reflects the distinct — and often contentious — divide between developers and security pros.

Shifting Left Is Not Enough: Why Starting Left Is Your Key to Software Security Excellence

appsec-trend-predictionsIn a digitally-driven world, we are at an ever-increasing risk of data theft. With large organizations acting as the gatekeepers of our precious information, many are recognizing the need to implement stringent security standards.

Much of the initiative around shifting left, that is, introducing security much earlier in the development process, simply doesn't move the needle far enough. There is an implication there that we are still beginning the process the wrong way, ultimately backpedaling to achieve the outcome of more secure software. We must start left, enacting a cultural shift that positively engages development teams and arms them with the knowledge they currently lack. However, all training and tools are not equal. In this article, we explain the ways you can truly empower the development team, transforming them into your defensive front-line against costly cyberattacks.

Publication Release: DevSecOps Trend Report

For years, security has been an afterthought — functionality that developers and product managers often address at the last minute, right before a build is about to ship. For some individuals and teams, this practice stems from a reactive approach to security, in which vulnerabilities are expected to be dealt with only once they’re discovered after a release. For others, this stems from prioritizing additional features and functionality (and immediate ROI) over security (and minimizing risk). For most, however, the cause of this issue is more systematic in nature.

Businesses today expect speed from development teams. Too often, the questions that leaders and managers ask concern the time of the next deployment or how soon a bug can be fixed, rather than how well a problem is addressed. This mindset is innately oppositional to ensuring the security of an application. Security, like any other part of software development, is iterative; it takes rounds of testing and attention to detail from all stakeholders involved in order to eliminate vulnerabilities.

Software Product Development Life Cycle — Ways to Pick Model for Your Project

Which model should you pick for your Software Product Development?

Similarly to any software development project, the job of implementing a software product is tiered and complex. To make things more difficult, these stages or tiers modify as per the repeatability and priority, thereby creating the models of software product development lifecycle.

Various existing SDLC models address the individual and diverse circumstances of the development vendors and product owners, but such a great pick might be confusing. Of course, a company that offers software development services can pick an SDLC model themselves.

13 Ways For Your Functional Testers To Do More Than Just ‘Testing’

Thirteen reasons why you should do more than just test.


Functional testing of a web application or a website is one of the most essential phases of the SDLC. Providing a scalable infrastructure for cross-browser testing on the cloud, we realize that offering a SaaS platform to our audience with even with a minor bug may lead to a devastating outcome, and not only for us, but also for our customers.

Deployment Matters

Is there something missing from the SDLC?


Why is software developed? There are many answers to that question. Just about any way you look at it, software is developed to serve a purpose. It might be an aid in business productivity, perform repetitive tasks, automate complex processes, for entertainment, or even improve the productivity of those writing software. Software may be written by engineers within an organization in support of the organization’s business objectives. Software is also written by vendors to be either sold as a product or offered as a service. It’s apparent that the reasons and purposes for developing software are vast.

9 Product Flavors That Fit the Security Needs of the Entire Software Lifecycle

Security needs to be adopted at every stage of the SDLC

Speed to market has been everything in the software development world. But, over time, we’ve discovered that speed alone cannot be the end all be all. The majority of data breaches have to do with web application security vulnerabilities; and therefore, security must become part of the software development equation.

The problem is that most organizations approach security at the end of the software development lifecycle, when it’s often too late or too complicated to fix vulnerabilities. To be effective, security must be integrated throughout each stage of the entire software development lifecycle.

Enterprise Architecture – Building a Robust Business IT Landscape

Simple or ornate, the enterprise architecture forms the structure for IT.
“The goal of enterprise architecture is boundary-less information flow where all systems, IT and non-IT, interoperate.” – Allen Brown

Today, when technology has proven its necessity amongst almost all industry segments around the globe, digitalization seems to be having a great influence on enterprise architecture (EA). Businesses are expanding beyond enterprise limits and IT solutions are encompassing enterprise, clients, stakeholder, ecologies and more. At such times, it is tough to manage a traditional monolithic framework. Now is the time to have a process that offers enough space for planning and managing the entire digital wave.

You may also enjoy: Role of Enterprise Architecture in DevOps Adoption

With this concept in mind, around the 1960s began the start of enterprise architecture. Initiated by Professor Dewey Walker and taken forward by his student John Zachmann, enterprise architecture found its entry into the tech world. Somewhere in the 1980s, enterprises realized that they would need a perfect planning approach to match pace with the fast-growing technological web. That gave further impetus to enterprise architecture, to extend beyond mere IT, trying to encompass all important ingredients of the business. The focus area was large organizations who are already in the digitization mode and need to have a seamless integration of legacy apps and processes.

DevSecOps and the Problem of Machine-Scale Data

Machine-scale data might overwhelm your DevSecOps implementation.

“Shifting Left” From DevOps to DevSecOps

When development teams using waterfall approaches couldn’t keep up with customer requirements, they adopted DevOps and Agile SDLCs. While these flexible approaches attempt to meet customer demands, security processes get left behind. You either skip security, or you aren’t really Agile. Either way, you’re losing the benefits of adapting rapidly to customer needs.

Now that new regulations and consumer awareness have made privacy and security a priority, the industry’s recognized that they need to be built into the SDLC. “Shift left” means integrating processes and testing that have traditionally happened at the end into the development process itself, and you often hear that term used to describe a transition from DevOps to DevSecOps.

Automated Root-Cause Analysis

When we look at the process of creating large-scale enterprise software projects, bugs are inevitable like the sun over the Sahara Desert.

The final stage of the Software Development Life Cycle (SDLC) is Post-Mortem, which includes the analysis of the process and the enhancements of the SDLC. In Russell Ovans' book, Lord of Files: Essays on the Social Aspects of Software Engineering, the author explains how the software development life cycle continues.