Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

Sorry, you do not have permission to ask a question, You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please type your username.

Please type your E-Mail.

Please choose an appropriate title for the post.

Please choose the appropriate section so your post can be easily searched.

Please choose suitable Keywords Ex: post, video.

Browse

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Logo

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Navigation

  • Home
  • About Us
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • About Us
  • Contact Us
Home/ Questions/Q 1369

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise Latest Questions

Author
  • 62k
Author
Asked: November 25, 20242024-11-25T07:32:08+00:00 2024-11-25T07:32:08+00:00

Comparing “Agile” to the scientific process

  • 62k

If you are a Software Engineer or are involved in any kind of software development you probably heard something about “Agile”.
Also, you probably noticed there are about as many opinions on what “Agile” is as there are people, and some more.

In this article, I'll argue that the agile process is in fact (or at least should be) the same as the scientific process.

The scientific process

The scientific process in its basic form is pretty simple and includes the following steps:

  • Formulate a hypothesis
  • Design an experiment
  • Build the experiment
  • Perform the experiment
  • Gather the data
  • Analyze the data and draw conclusions
  • Rinse and repeat

Of course, there might be substeps. For instance to formulate a proper hypothesis you'd have to start with a question and do some preliminary research. But we are looking at the main idea of the process here.

The agile process

The agile process looks quite similar:

  • Define the iteration's (also called a sprint) goal
  • Write the stories, requirements and acceptance criteria
  • Develop the defined features
  • Deploy the feature
  • Gather data and feedback
  • Analyze the data and draw conclusions
  • Rinse and repeat

I think you start to see the similarities. Let's take a look at the steps of the scientific process and see how they translate to the agile process.

Formulate a hypothesis

Formulating a hypothesis means you start with a question, gather existing information and research, and come up with an idea you want to test. The same should be true for this iteration's goal: See where you stand in the project, retrieve information about the stakeholders' needs, and define a goal.

Design an experiment

Designing an experiment means you take your hypothesis and think about the consequences if it were true. What testable predictions can you make? How can you test it? What do you need to build and how can you make sure you are really testing your hypothesis and not something else? This is one of the hardest parts of the scientific process. Getting an experiment right is notoriously hard and you have to be precise. Not only do you need to build the experiment itself but you also need to know what data you might need to collect and how to collect it.

This is pretty similar to defining the requirements of a feature (story, task, or whatever you want to call it). It is very important to exactly know what you want to achieve, and be specific. You have to define acceptance criteria. At the end of this, you should know exactly what the feature does, and how to measure if the feature is successful (in contrast to 'it is just working').

Build the experiment

Building an experiment can be as simple as printing some questionnaires or as hard as having to build a machine like the LHC at CERN. The most important thing is to know what you are building based on the design of the experiment.

This is the step where the software gets built. Based on the specifications and acceptance criteria your team builds the features. Similar to the science experiment this can be as simple as adding a button or as complex as implementing a new ML/AI algorithm.

Run the experiment

This step does not need many words. Conduct the experiment and make sure you receive all the data you defined in the design.

The same is true in the agile process: Deploy it and make sure you receive the feedback and data you need to measure the impact and success of the feature.

Gather the data

After running the experiment you should have a bunch of data to compile. Collecting and organising the data to be able to conclude later is a critical step. Based on the experiment's design you have to make sure everything is there and prepared to be analysed.

This is the same you have to do in an agile process. Gather the data which will inform you about the outcome of the feature development. Get feedback from stakeholders and retrieve analytics data you hopefully deployed with the feature. After all, you defined those in the requirements, right?

Analyze the data and draw conclusions

The data needs to be analyzed and based on what you learn you try to come to conclusions. There is the review step of the agile process, and to be frank, this is what makes 'Agile' agile. Only when you have good data, and carefully draw conclusions based on the facts you can make sure you stay on track. In the scientific process, this step makes or breaks your hypothesis. You learn if your hypothesis is (or at least might) be true and if you need to try something different. Maybe you will have to decide if this experiment was not providing you with the data you needed and you have to get back to the drawing board. This is the same you should do in your agile development.

Rinse and repeat

After you went through all the steps you are ready to go back to the start and do the same thing all over again. This way you'll experience incremental improvement of knowledge, collaboration and the outcome of whatever you are working on.

What steps are skipped quite often?

In my experience companies seem to skip some of the most crucial steps. Requirements are often quite vague and it often feels like they see 'Agile' as a way to just move the responsibility of the project's design down to the developers. There is never only one way to approach a new feature, so there will probably be as many expectations as there are people involved. Without defining the requirements it's pretty much a given that at least one important stakeholder will not be happy with the result.

Also, without detailed requirements and acceptance criteria, there is no way to say if a feature is finished, if it works correctly or if we even retrieve enough information to measure the impact of that feature.

The other steps I saw missing a lot of time in a project are deployment and when something has been deployed, gathering information was neglected.

Quite often the sprint review just consists of a sprint demo and review, and nothing else. It seems not to be unusual to not see any actions taken based on the sprint review. So, what is agile about that process then?

I think it would be important to gather information – which also requires you to build an environment and culture allowing everyone to speak up freely – analyze the data and take action based on that.


Image: Photo by Hans Reniers on Unsplash

agilediscussproductivitywebdev
  • 0 0 Answers
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

Sidebar

Ask A Question

Stats

  • Questions 4k
  • Answers 0
  • Best Answers 0
  • Users 1k
  • Popular
  • Answers
  • Author

    How to ensure that all the routes on my Symfony ...

    • 0 Answers
  • Author

    Insights into Forms in Flask

    • 0 Answers
  • Author

    Kick Start Your Next Project With Holo Theme

    • 0 Answers

Top Members

Samantha Carter

Samantha Carter

  • 0 Questions
  • 20 Points
Begginer
Ella Lewis

Ella Lewis

  • 0 Questions
  • 20 Points
Begginer
Isaac Anderson

Isaac Anderson

  • 0 Questions
  • 20 Points
Begginer

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

Querify Question Shop: Explore Expert Solutions and Unique Q&A Merchandise

Querify Question Shop: Explore, ask, and connect. Join our vibrant Q&A community today!

About Us

  • About Us
  • Contact Us
  • All Users

Legal Stuff

  • Terms of Use
  • Privacy Policy
  • Cookie Policy

Help

  • Knowledge Base
  • Support

Follow

© 2022 Querify Question. All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.