Why You, the Client, Should Care About Agile Product Development: Producing Better Software for Research
You’ve probably heard Scrum and Agile methods brought up in conversations about technology, but what do they mean for you and why has Prometheus adopted them?
Imagine toiling away at an important large-scale project, spending anywhere from a couple of months to an entire year or more ensuring your product comes out perfect. Now imagine finding out at the end of your hard work that the fruits of your labor are either superfluous or in need of dramatic alteration. Unanticipated changes in internal or external factors such as client needs, company strategy, or technological development have rendered your project incomplete or even obsolete. Or imagine that you’re a client or manager who has invested time and resources into something that’s ultimately unsuitable for your needs.
Anyone who has ever undertaken a time-consuming project, whether it relates to research, client services, or otherwise, has probably experienced this. In our fast-paced world, it has become vital for businesses to adapt swiftly to ever-changing technological and scientific landscapes. But how does one make the lengthy and complex process of product development more agile? At Prometheus, we’ve embraced the Agile software development methodology and adopted Scrum, a leading Agile framework, in order to better serve our clients and their evolving data management needs.
What are Agile and Scrum?
As its name might suggest, Agile is a lightweight software development methodology that was created in response to the failings of traditional project management methods. Written and published by a group of 17 software developers, The Manifesto for Agile Software Development established the guiding principles of the Agile methodology in 2001.
At the time, the primary model of software development was the waterfall method, a sequential method that divides the process of software development into phases that cascade from top to bottom. The sequence might be made up of the following steps: documentation of requirements, analysis and design, software development, and testing the product. According to the waterfall method, each phase of the process must be completed and reviewed before developers could move to the next phase. For instance, the team must determine and record all project requirements before creating any software architecture or writing any code. Proponents of the waterfall method value its simplicity and discipline, while critics argue that its emphasis on sequential order discourages flexibility.
In contrast, the Agile methodology encourages collaboration and adaptability by working in small increments of time and scope. Agile has quickly become a tried-and-true method of developing software. These days, approximately 60% of all software development projects utilize Agile, and a number of frameworks that follow Agile principles have arisen. As one of the leading Agile frameworks, Scrum offers techniques such as a team structure, a work process, and documents that allow teams to incorporate Agile principles and values into project management.
How is Scrum implemented?
The Scrum framework specifies team roles, such as Product Owner, ScrumMaster, and Development team and divides a project into short “sprints,” or small increments of the product that are completed one at a time. In order to deliver a product increment, the Development Team goes through an entire product development sequence within each “sprint.” This means that the entire Scrum Team–Product Owner, Scrum Master, and Development Team–must meet to determine the requirements of each sprint. Traditionally, the client is part of this team as well, so that requirements are prioritized appropriately!
Since the determination of requirements is the first phase in the waterfall product development sequence, the waterfall method can result in a product that no longer matches client needs, especially if subsequent phases take up long periods of time. Furthermore, because different members of the team independently complete each phase of the sequence, product development can devolve into a game of telephone, with each subsequent phase distorting the initial idea for the product. Have you ever experienced something like this? It feels like ordering a hamburger from the drive-through, and getting a side salad at the window.
On the other hand, the Scrum framework puts the client and product developers on the same team (think: order taker and order placer), ensuring that they are openly communicative through every step of the project. When client expectations change, the product development team can adjust their process accordingly in the next sprint.
What does it mean for you, the client?
Prometheus’s adoption of the Scrum framework and focus on collaboration, flexibility, and product creation over documentation (which comes later) and strict adherence to an established plan provide the following benefits to our clients:
- Greater client involvement in project. Client involvement is vital to the success of an agile project. Regular consultations between Prometheus and our clients ensure that their needs are heard regularly and that changes can be implemented earlier.
- The development of products and documentation from the viewpoint of the client, throughout the project. We keep comprehensive lists of requirements, or “user stories.” User stories are short, simple descriptions of a feature told from the perspective of the client (e.g. “As a hungry and hurried user of the drive-thru, I’d like to be able to order a hamburger and have a hamburger provided to me at the window.”) Additionally, actively keeping the client in discussions throughout a project rather than merely revisiting client interests at the end means that essential pieces of functionality will never be neglected or forgotten.
- Fulfillment of client needs from highest to lowest priority. Documentation of product requirements from the client’s point of view means that the latter gets a system that most closely matches their needs and quickly provides value.
- A dedicated project team from us. The Scrum Team will meet daily to discuss goals and potential blockers for the project, contributing to greater project transparency and more predictable progress.
- Quickest turnaround time to app development.This means that budgets stay within their original scope. Also, two-week sprints allow developers to focus all energy on executing predefined “user stories.”
- Clear reporting. We maintain weekly work charts and product backlogs to report on development progress. This allows clients and managers to make accurate forecasts and relay updates to stakeholders in a timely manner.
Is Scrum just used for software development?
No! Even if you’re not developing software, the general guiding principle behind the Agile methodology and Scrum framework–to complete projects in small modules for the purpose of enhancing team and client engagement and better meeting client expectations as they change–is applicable to most kinds of team projects, regardless of department or industry. Increasing communication and engagement between clients and service providers as well as within teams and maintaining flexibility is vital to executing shared visions and adding value to the world.
For more information on Agile and Scrum, try visiting the following websites: