re: Top 6 software development methodologies VIEW POST

FULL DISCUSSION
 

Awesome article. is Agile methodology being used most often at big companies or startup? Is it the responsibility of Program Manager to choose which methodology for the team? Can or should these methodologies be mixed together?

 

I'd hazard to say most "tech" companies (large or small) have gone "Agile" of some ilk: SCRUM, Kanban.

There's this monstrosity known as the Scaled Agile Framework that's sold to companies as a panacea for converting their engineering from Waterfall to Agile. It's not, but that's another discussion :)

Is it the responsibility of Program Manager to choose which methodology for the team?

The company defines the methodology, but I argue a good development team should influence up the organization on why Agile is a good fit, and accept that sometimes it's not.

Can or should these methodologies be mixed together?

Most people seem to try and take these methodologies and then try to wrap their business around them. That's not the right approach, IMO. They can mix, but you'd better have a bought-in Project Management Office (PMO) that understands how they join together.

Let's consider a large project that combines hardware and software, maybe an IoT rollout:

  • You're going to need to build something, on an assembly line likely in China. That will have a traditional work-back date from Start of Production (SoP) and Product availability. You'll likely have EE's trying to hit some big milestones there, like Development Verification Testing (DVT) and System Verification Test (SVT). For DVT, you don't need your whole system. for SVT, you do. This will likely be a waterfall development cycle. You need to control Bill of Materials cost and overall outlay of time. and you're desperate to hit your Start of Production Date.
    • Worth noting: Without that hardware gadget, you don't have a product.

  • Alongside, you need to build-out some Firmware to use the IoT gadget. that firmware needs to be ready but there are some unknowns. Spiral makes sense here and you can do a first cut that gets the hardware usable to test, and then a second or third spiral to get it ready for customers. Your PMO will need to make sure the spiral phases align with the hardware, but that's not too difficult.

  • Last, you need a web application as a dashboard. Agile of some ilk is a perfect fit, because you can change that up to and after SoP of the hardware. You'll need to make sure enough is done to allow System Verification test, but that's the only hard date in the above.

That's an example.

Now, if you imagine your ran the Hardware via Agile, you'll have 0% confidence that you can make SoP until a few weeks beforehand, and that just won't work for making production runs of real hardware.

 

Thank you for your comment! I had no research provided to compare where the Agile method is used more often, but I think that startup teams have more chances to provide face-to-face meetings (vital for Agile approach). So this method is likely more suitable for small companies or companies located near to the client.
The responsibility for choosing the right software development methodology is deligated to the person who usually takes decisions in the company. I'd say that it's more than just a decision on development, it's the strategy your company will grow.
Well, some of these methodologies are already combined (like Spiral as the mix of Waterfall and Rapid Prototyping). Combined for some reason, developed and proved. Maybe, there are more successful combinations you can develop from different methodologies, but you better not to test the new combinations on the new project you enter. That experiment might be not successful. So use what is already exist or at least use the combination you sure is working properly.
But these are my own considerations.

code of conduct - report abuse