How this project Management paradigm could benefit your development team.
Everyone’s brain works differently. This makes it possible for us as individuals to view things from different perspectives, have our own views and opinions, and approach problems with unique ways to solve them. Just as one opinion may hold more truth than another, some problem-practices are more efficient than others. Agile methodologies typically consist of a disciplined project management process that encourages constant review and optimization, and a leadership philosophy that encourages constant collaboration. The combination of strict project management with flexible and ever-changing planning may seem strange, but it actually makes perfect sense in the world of software development. This week we sat down with our product manager Ariel Martinez to talk about everything Agile.
- How were you introduced to agile methodologies?
- Ariel: I heard about it through the grapevine initially, professors at school would lecture about Agile software development. Though it wasn’t until I joined the product team here at CampaignDrive that I was introduced to it. Even though the software development team here wasn’t yet using agile at the time, several of my teammates were familiar with the methodology. Over time I grew interested and got my agile certification. The rest was history.
- What benefit could a software development team stand to gain from adapting an agile methodology?
- Ariel: Oftentimes software development teams would encounter difficulties with the waterfall methodology (another project management paradigm where long-term projects are planned in advance), because projects were simply taking too long. Change is rapid and imminent in the software development industry, and waterfall is not as flexible as agile; At any given time customer requests may change and the functionality you’re working on may no longer be necessary. When utilizing an agile methodology, the team’s workload is broken into smaller increments, making it more manageable and flexible as processes can be improved each time.
- So what is exactly is SCRUM?
- Ariel: Agile software development refers to a group of software development methodologies based on iterative development; a way for developers to think about the software development process. Within agile there are multiple subsets that could be used, though the scrum methodology is the most popular. Scrum is popular because it is fairly straightforward and flexible, and most commonly used when transitioning from waterfall to agile.
- Could you explain the SCRUM process?
- Ariel: A scrum team typically consists of 3-9 people, including developers, a scrummaster (an elected team leader that facilitates meetings), and the product owner. Initially, the scrum team will hold a “sprint planning” meeting, in which the team plans what they will work on from the product backlog, and how they will get the work done. A sprint cycle which can range from 1-4 weeks, 2 weeks in our case, during which the software development team focuses on the workload increment chosen during the sprint planning meeting. At the end of the 2 weeks the team holds a sprint demo to showcase the work to shareholders, as well as a Sprint retrospective, during which the scrum team internally reviews previous sprint processes and curates a plan to make the next sprint more effective.
- What advice would you give a software development team, in regards to choosing and adopting an agile methodology?
- Ariel: In my experience, development teams typically have a difficult time transitioning from waterfall to agile. Everybody involved needs to buy in; the entire team must commit to the agile methodology in order for it to work. Executive sponsorship is an effective way to prevent non-participation; It’s important that a higher-up within the organization is vocally supporting the software development team and promoting the adaptation of agile methodologies. While this is easy for a small company, I recommend a larger company start with a smaller team or perhaps a smaller project, in order to scale your project efforts once you’re more comfortable with the Scrum process.
Is your development team currently utilizing a classic “waterfall” process? Are they functioning without a project management methodology at all? If you’re interested in increasing your teams productivity as well as reducing relative time-to-benefits, perhaps scum is the ideal subset of agile methodologies for you! Thanks Ariel!