|
Text Blocks Make Java More Agile A Java architect has often posed the dilemma of whether to revise existing code around a new feature. Revising code involves a lot of code review and code rewriting. Revising existing Java code is justified only if the benefits of a new feature outweigh the effort needed to revise the code.
|
|
|
Embedding Security in a DevOps World Faster DevOps processes also create new challenges. It was difficult enough to add security into a traditional waterfall software development lifecycle with monthly or quarterly releases, but now software updates are released several times a day! What can developers do to build and maintain more secure applications? Here are some ways to encourage better security practices throughout the DevOps lifecycle.
|
|
|
Infrastructure as Code: The Foundation of Effective DevOps The absence of versioned infrastructure as code (IaC) and automated provisioning undermines one of the most important benefits of DevOps: the ability to version, manage, and control the servers and networking required to run software applications in development, testing, and production. Automating infrastructure setup and continuous monitoring helps keep system environments stable and less susceptible to outages.
|
|
|
Cultivating Sustainable Agile Development In agile development, we want to support a sustainable pace because we recognize that when we overwork ourselves, we tend to introduce defects that are more costly to repair than can be offset by any efficiencies we gain by putting in massive amounts of overtime. We should encourage a set of common standards and practices to help us build solutions that are more maintainable and extendable.
|
|
|
Learning the Skills of a Professional Software Developer We hire for programming language skills or framework experience, but these are the kinds of things that any developer should be able to pick up quickly. David Bernstein says we should be hiring based on talent instead, and mentoring developers to write code that can be maintained and extended more easily. These critical skills are best learned on the job, which is why mentoring is so valuable.
|
|
|
6 Steps for Succeeding with Test Automation in Agile Lots of test automation efforts in agile software development fail, or at least do not maximize their potential. This article looks at two main reasons test automation may not live up to the expectations that testers and other stakeholders in the agile development process have, then outlines six steps to avoid falling into these traps. Here's how to succeed with test automation in an agile environment.
|
|
|
5 Ways to Tackle Mobile Development Problems Early with Scrum Using Scrum for mobile application development can be difficult due to various challenges inherent to building mobile applications. Environmental dependencies, platform limitations, service outages, ownership and access issues, and short sprints can all derail your agile development. Here are some tips for overcoming these five common mobile application development issues early by using Scrum.
|
|
|
Build Just Enough of a Feature with ATDD Developers have a tendency to overbuild their code. This is frequently due to not knowing exactly when they're done and not knowing how robust a feature needs to be. Acceptance test-driven development (ATDD) is a great way to avoid this practice because when the acceptance test passes, the developer knows they're done building that particular feature.
|
|
|
Agile Development: Focusing on the Health of Your Code In Scrum, the product owner and the ScrumMaster are supposed to drive sustainable development. But there's a third force missing from the formula: the health of the code itself. We often forget that our code is also a member of our team, and we have to be concerned about its health and well-being as much as any other team member. That means using practices to develop good code from the beginning.
|
|
|
Picking the Right Branch-Merge Strategy A good branch-merge strategy facilitates processes among multiple developers and is the basis for any well-functioning DevOps pipeline that uses continuous integration. Let’s explore branching strategies, merging strategies, and how you can put them together in a way that’s right for your team in order to bring quality features to production faster.
|
|