You got a call for a freelance web development project at a firm that’s using agile development practices. What does this approach tell you about their work environment?
Unlike waterfall project management practices, where dictates are passed down from management and carried out by developers, agile is a far more collaborative process. Meant to overcome the unpredictability of traditional development cycles, agile involves building software in incremental, iterative “sprints”.
If you’re working for a company that employs agile web development practices, you’re likely to encounter the following:
- Accelerated development pace. Don’t expect any lulls in development cycles. With agile, development teams strive for faster code iterations. Instead of working for months “in the shadows” to create a finished product as you might with a waterfall approach, you’ll typically produce smaller deliverables in shorter development cycles.
- Ongoing collaboration with peers. Agile methods emphasize face-to-face communication over written documentation. Most agile teams work together in an open area called a bullpen, which is meant to foster more open communication.
- Constant change. If you don’t adapt well to change, this probably isn’t the place for you. Agile methods seek to continually respond to change vs. following a set plan.
- One-on-one communication with executives. Business leaders and other stakeholders are fully engaged in the development process, collaborating with development teams through continual feedback loops.
- Greater degree of control. The development process is arguably more predictable with agile since there’s continual opportunity for resetting goals along the way.
- Opportunity for growth. Agile involves having frequent “scrums”—brief meetings to swiftly address and resolve obstacles. This empowers developers to voice their opinions, and strengthen communication skills at a higher level. This also means good communication skills are a necessity for getting hired for jobs in agile environments.
Some developers prefer the agile approach to spending weeks coding, only to discover the project needs to be changed midstream. Others find it just brings added complexity that gets in the way of coding.