79

The skill isn't to write software without requirements. It is instead to elicit requirements from the project owner regardless of whether there is a formal requirements documentation or not. Gathering requirements is definitely your first priority, but you don't necessarily need to get all of the customer's needs noted up front. The risk is of course is ...


36

This is very ambiguous … Two things I can say: There are a lot of very gifted technical people whose careers get halted because they wait for perfect requirements. Or they play the, "Sorry, can't do it, wasn't in the requirements." The reality is requirements writing is very difficulty. The precision required for good requirements is unlike anything ...


17

V-model is an extension of Waterfall model, so don't expect it to be hugely different. Basically, you follow V-model from left to right, just like in Waterfall model. In Waterfall, you do requirements, design, implementation, verification and finally maintenance. In the same way, in V-model, you do requirements, design, implementation, verification and ...


14

Waterfall model is a software development process consisting of a sequence of phases (requirements, design, construction, testing, deployment, maintenance), followed from first to last one, without going back and without using iterations (unlike in Agile models). Waterfall model helps modeling project management. Object-oriented model is a representation of ...


12

Requirements are the steps in the journey, a vision is the direction For many applications a highly detailed technical specification is just too much up front since a quick discussion could render their carefully typeset document useless. Instead, start with a vision. If everyone understands the overall picture then the requirements can get filled in along ...


10

Steve Jobs believed that customers cannot describe exactly what they want the future products to look like, so it is your job to deliver them. So, unless you deliver custom software all the time, forget formal specs and start by creating prototypes and letting the customers play with them and tell you what they think. You have got to put the right person ...


8

I've been assured that I have complete buy-in from the devs and the business team [...] I have no access to the end users [...] One thing to be quite clear on is the difference between being verbally assured that you "have buy-in", on one hand, and on the other hand the actual commitment from whoever is sponsoring your work. My best advice to you is to set ...


7

Gather better, more specific customer requirements. When you refine the requirements to the point where each requirement can be satisfied with a handful of classes, and you have a pretty good idea what those classes will look like in code, it will become much clearer how long things are going to take, and it will be much easier to declare success on each ...


7

I'm not familiar with NQA-1, but I read the overview for federal project directors that the Department of Energy provides. I also found an IAEA slide deck about NQA-1. From what I can tell, NQA-1 is somewhat similar to other quality management standards that I am familiar with. It tells you that you must do certain things and that you must provide certain ...


6

Typically, a systems requirements specification contains the top-level requirements for a system. A system is a set of software and/or hardware subsystems. Typically, this includes the functional and non-functional (performance, safety, security, quality, business, governance and regulatory, and so on) requirements for the system as a whole. Each subsystem ...


6

If I understand your question, you're interested in SDLC that were before the emergence of the Agile, i.e. not only the agile manifesto 2001, but also the agile methods that were promoted individually by the authors of the manifesto (e.g. XP, Crystal, etc...). SDLC time travelling Before Agile, in late 90's, the most popular SDLC was probably the Unified ...


5

These are completely different beasts. The waterfall model is one of the ways to organize software development process dividing it into sequential stages known as Requirements, Design, Implementation, Verification, Maintenance. For example, your boss told you you have to develop an online shop. According to the waterfall model you first have to analyze the ...


5

Scrum is a complete project management methodology that addresses all aspects of the project lifecycle. Unlike projects managed using a sequential process where things generally happen once and then are revisited if necessary as the project progresses, Scrum embraces a more iterative approach - everything is addressed during each iteration. Of the list of ...


5

As pointed out by Bart van Ingen Schenau: The Kanban development method might work well for you. Kanban is a fairly "minimal" method; in particular, it prescribes much less than Scrum. The basic principles are: Visualize the workflow - typically by having (physical or virtual) cards for each task, that move across a board with different phases/steps ...


5

You are absolutely right. A burndown chart tracks the completion of an expected amount of work in a set amount of time (hence why it is often used for sprints) and burnup charts are more open-ended, so are frequently used in releases and projects. There is nothing stopping a waterfall project from using one. However you will encounter two problems: 1) ...


4

I had to do this, once. The Team wanted to do Agile, the Client wanted (and understood Agile), a external 3rd Party (call them "Auditors"), wanted to see Waterfall reports. An important reason why we could Lie was because the 3rd Party didn't actually care, they just wanted to check boxes. If the Client was happy and the Team was happy the "Auditors" would ...


4

It's impossible to generate large enough data sets in a research lab, let alone all by yourself, for validating development processes. Your options are: Partnering with industry. For starters, you'll need to coach them on BDD at the onset of the project and they must be willing to adopt it -- a tall order! You'll also need a few years to run your ...


4

Water-Scrum-Fall is essentially when agile/scrum development processes are only applied to the development team's work(usually the implementation step in waterfall), and most of the previous project management 'waterfall' system remains in place. Those articles are primarily listing it as the reality for most shops where the development team does not have ...


4

If you call "Waterfall" a methodology, or if you only call something like SSADM a methodology, depends mainly on the level of detail and the context of your discussion. Same holds for "Agile" (though I guess the latter term is not very often considered to be a methodology on its own). So my advice is: whenever you want to talk about those things, just ...


4

Agile did start as purely software development methodology, meant to fully replace waterfall and other process-heavy methodologies. All people who created Agile Manifesto were either SW developers or managed software development projects. It even says "Working Software over comprehensive documentation". And it's Agile Principles are clearly concerned with ...


3

In order to get better at providing the list of tasks and the time they will take, you need to practice and record your results. So first make every estimate fairly detailed (don't forget to include communications and meetings, requirements development, designing, tests, qa, deployment, documentation (always needed in waterfall), research and other non-...


3

If you want to work as a software developer at a startup, it's a skill to possess. If you want to work at a consulting company then it's a situation to avoid at all costs. This is because your firm gets paid according to how well you implement the spec/requirements and not how well you solved the customer's problem. If you are coding for fun in your ...


3

I've often found that in some situations I need to act as a business analyst, discovering exactly how the business currently works, how people think it works (often very different things), and how they would like it to work. I've found success by always being clear about the decisions I'm being forced to make in order to build the software. I explain my ...


3

Before the Manifesto for Agile Software Development, you had people using Scrum, DSDM, Extreme Programming, Lean Software Development, Adaptive Software Development, the Crystal methodologies, and more. Key people from several of these methods (before the Manifesto, they were calling them "lightweight" or "adaptive" methods) were meeting at different ...


3

Like Christoph already explained SDLC is independent from a software development methodology which is still not what agile practices bring to the table. Agile is primarily process oriented. For the sake of the argument let's go with development processes. The most popular method was, and to my estimate still is, none. At most of the places I worked any ...


2

It is not possible to write a program without requirements. Even the 'Hello World' has the requirement: to produce output. So, I think you're asking about formal requirements, in form of some big stack of something UML-like. And regarding those, I've met 2 kinds of people: 1) People that need formal requirements. They need to be exactly told what to do, and ...


2

A bit of both. You need to satisfy your clients, which means that you need to know what they want. On the other hand, clients are notoriously bad at communicating what they really want. So you want to avoid scenarios where you don't know what clients want, but you will inevitably run into a scenario where the requirements are 'squishy' at best, and ...


2

Since then, they've asked why we don't have all the requirements for all the sprints, why I haven't started working on stuff for the third sprint (which they consider more important but is based off of the deliverables of the first 2 sprints) and are pressing for even more documentation that my entire IT team considers busy-work or un-related to us (such as ...


Only top voted, non community-wiki answers of a minimum length are eligible