We use cookies on this website to make it function correctly and to achieve the purposes illustrated in the cookie policy. By continuing to browse, you agree to the use of cookies. Cookie Policy

Methodologies + Requirements Gathering

Advance your career by using the best agile methodology for your team and gathering optimal requirements from your stakeholders and customers.

Course Overview

Agile software development puts a strong emphasis on the iterative and organic growth of software to meet the most pressing needs of the marketplace. Every agile software development process identifies that good requirements are the start of healthy software development. However, the industry has lost most of its diversity with respect to how software is made. While Scrum has become the industry standard for agile transformation, it is likely not the best process to use in every case. Methodologies + Requirements Gathering provides a survey and practice of multiple agile software development methodologies and requirements gathering frameworks to help you accelerate increases in productivity and transparency.

video poster

How do these two subjects fit together?

Creating robust records of how the software should behave is the fuel for the engine of software development. Without adequate fuel, the engine sputters, misfires, stops working. This course helps prevent that by giving you and your team the correct way to create that fuel. There are more ways to build software than with Scrum and User Stories. You can mix and match different frameworks, but only if you know how they complement one another.

Aren’t User Stories the best way to gather requirements?

Yes. No. It depends on your customer and your team. What is a User Story? There is no real standard definition of that term in the industry. For over twenty years, developers following agile principles have developed other ways to describe working software that does not devolve into “big upfront design”. Using the Connextra format, business use cases, or design packets can help you optimize your software development practice in a safe, scalable, and sustainable way.

If Scrum isn’t the best methodology, why do so many companies use it?

Scrum identifies itself as a framework from which you can build your own agile software development methodology. This can lead to some very bad implementations of Scrum. Many other shops turn to methodologies that have stronger practices, such as XP, FDD, and AUP. Using an alternative to Scrum can make everyone happier: customers, developers, product managers, and C-level executives.

video poster
Background Image

What you'll learn

Practice different certified agile software development methodologies through implementation of each process, as well as using well-defined frameworks to gather and document software requirements. See our week-by-week schedule for more information.

Background Image

Course Projects

In each class session, you’ll get to practice portions of different agile software development methodologies. This will give you a way to evaluate them for yourself, your team, and your company. Using different methodologies, such as the unified process, feature-driven development, lean software development, Kanban, and more, you’ll discover the strengths and weaknesses inherent to each of the processes. With that knowledge, you can lend your expertise to refining your team’s methodology, or for assisting in the agile transformation of your organization.

Background Image


You have deployed and maintained a Web application in production.

Upcoming Courses

June 21st - August 2nd

Methodologies + Requirements Gathering

| Live Online


Course Design

radar graph Requirements gathering and Methodologies


Go beyond Scrum to survey the other certified agile software development methodologies. Find out how each one expresses the Agile Manifesto in a different way.

  • Explore the evolution of agile software development methodologies

  • Compare and contrast the major categories of agile software methodologies with respect to the twelve principles of agile software development

Start writing great requirements using two of the most common methods, diving into the strengths and weaknesses of each method. Use those requirements to perform mini-iterations for two different agile software development implementations.

  • Write user stories to document requirements 

  • Use the Unified Modeling Language to document requirements

  • Perform the management and ceremonies of two agile software development methodologies

Once you have requirements, it’s important to be able to anticipate how long each will take. Explore the different ways that modern agile software development methodologies

  • Estimate software development tasks using various methods

  • Calculate software development velocities

  • Perform the management and ceremonies of two agile software development methodologies

Managing software development processes is a multibillion-dollar business because building software can be a complex undertaking. Explore the so-called Agile Ecosystem to determine what kinds of process management solutions exist, and how they fit different kinds of agile software development. 

  • Use tools to manage agile software development methodologies

  • Use tools used for data and systems modeling

  • Perform the management and ceremonies of two agile software development methodologies

Some agile software development methodologies advertise that they’re a framework on which you can build your own process. Some methodologies are very prescriptive about how a team should practice them. Explore the risks and rewards of partial implementation of methodologies.

  • Use aspects of Domain-Driven Design to build comprehensible requirements.

  • Perform the management and ceremonies of two agile software development methodologies.

It’s time to go beyond just one team. What happens to your methodology when you have a geographically dispersed team? What happens to your methodology when you have multiple teams around the globe? What happens to your methodology when the government regulates your business or lives are on the lines?

  • Compare and contrast the applicability of agile software development methodologies for distributed teams

  • Determine best practices for using agile software development methodologies in regulated environments

  • Perform the management and ceremonies of two agile software development methodologies

Instructor Spotlight

Background Image

Curtis Schlak, VP, Professional Development

Curtis Schlak’s software development career spans more than two decades in software, energy, finance, legal, and education. He has worked as an individual contributor and has led teams of nearly 200 people. He has worked or consulted at Barclays Capital, Bank of America Merrill Lynch, British Petroleum, CITGO Petroleum, Ernst & Young, and Microsoft. He has led software teams at startups like KickFire and DataCert. His consulting firm leads the training and adoption of Feature-Driven Development in the US. He has created and delivered consumer and enterprise training for hundreds of people through The Iron Yard, Hack Reactor, App Academy, and Galvanize. He has a BS in Mathematics, BA in English, and MS in Computer Science. He is currently working on his PhD in Computer Science.

Background Image

Daniel Billotte, Principal Instructor

Daniel Billotte’s career as a software engineer began in the mid 90’s, as the Internet was coming of age. He’s worked at large companies like Netscape, AOL, and Canon, as well as smaller companies and entrepreneurial ventures of his own. He has also worked extensively in the printing industry at every level from cleaning floors to building a globally deployed print-shop workflow tool. He helped start the first coding bootcamp in Phoenix in 2014. Daniel enjoys frontend web, but his passion is for building scalable backend systems that use cool technologies like neural networks. When he isn’t working or playing with his family, he’s riding his mountain bike, learning DSP/audio programming and audio circuit engineering, or breathing new life into an old truck. Daniel has a BS in Computer Science from Arizona State University.

Our Professional Development Students Work at Great Companies

Many of these companies reimburse tuition for our courses. Please click here for more information.

Hack Reactor alumni work at google
Hack Reactor Professional Development Students work at Airmeet
Hack Reactor Professional Development Students work at Citadel
Hack Reactor Professional Development Students work at Elsevier
Hack Reactor Professional Development Students work at IAC
Hack Reactor Professional Development Students work at Nisum
Hack Reactor Professional Development Students work at Pivotal
Hack Reactor Professional Development Students work at Splunk
Hack Reactor Professional Development Students work at Visa
Hack Reactor Professional Development Students work at Vmware


Our favorite applicant is someone who enjoys learning and participating in a dynamic learning community. We look for learners that are curious and motivated to further their craft. A learner who has grown tired of either unfocused or inefficient courses that have failed to take them to the next level.

Our application process is simple. Your application will help us learn more about you and should only take five minutes to complete. The application includes information about your educational background, programming experience, employment, and motivations for taking this course. We will review your application and either email any follow-up questions or accept you into the course. Once you’re accepted, you’ll sign an enrollment agreement and pay for the course.

Our typical course is six weeks long and consists of two evening classes per week. Our evening classes are 90 minutes long. Classes are recorded in case you are not able to attend them live. You can expect four to six hours per week outside of class for work on prepping for the next class and/or working on focused projects.

Some of our courses require prerequisite skills or knowledge. If applicable, we ask about this in the application process.

Yes, you can. The live classes, homework, and projects are optional. We encourage you to participate in all to get the most out of your investment in the course. To receive a certificate, you must score 70% or higher on the course project(s).

Yes. If your employer reimburses for education or professional development, we will make it easy for them to reimburse your participation in our courses. 

Universities typically only focus on computer science theory. We blend computer science theory with practical programming practices and thought leadership strategies to create more relevant courses. This format has more real-world applications that will help you advance your career.