Most of us are working in a very different environment right now. In our previous article, we looked at why our previous experiences and intuition won’t serve us well in a different environment and introduced a few techniques to help you. In this article, we look at the first technique to help you make better decisions in this new working environment.
Our Working from Home series of articles will give you techniques and practical things to think about to help make the decision-making process easier in a different working environment. In this first article, Peter Cronin explains why our previous experience and intuition won’t serve us well in a different working environment, and what to do about it.
Two sprint planning mistakes that wreak havoc in software development teams
In an ideal world, your development team gets all their planned work done in a sprint without too much stress or chaos. In the real world, however, things don’t always go that smoothly. Sometimes, the decision has to be made whether the unfinished work will flow over to the next sprint, or whether the team does a few late nights near the end of the sprint to get it done.
Developing a software product or solution is an ongoing challenge. Some of the issues slowing down your software team are complex and require solutions you won’t read in a blog post. However, there are three easy fix issues that are slowing down your software team, that you can start implementing solutions for today!
It’s very easy to jump to conclusions and say, “Yes, Waterfall is dead!” But if you take a step back, it’s not so simple.
Pace is an approach to software development that has emerged as a solution to the negative side effects of the Agile approach. It’s not a radically, out-of-nowhere, different approach from Agile. Rather, it’s much like the previous 'evolutions' of methodologies in the software engineering industry, where it seeks to address unresolved challenges.
While Agile has largely replaced Waterfall as the most popular, most used software development approach, that doesn’t mean that Waterfall isn’t, or shouldn’t be, used anymore. Waterfall was originally so popular because it was better than essentially using no project management at all.
Before the creation of Waterfall, all large projects were executed like heavy infrastructure-based projects – there wasn’t another known way to manage large projects at the time.
Since the specifications and designs of initial software projects didn’t change very much, this approach worked well. But, as software started to become commercialised, with more software being developed for business, and eventually end-users, the Waterfall approach began to cause issues. Consequently, the Agile software development approach was born.
The use of the Agile methodology has rapidly grown in popularity, largely replacing the use of Waterfall in the software industry. The Agile principles stated in the Agile Manifesto favour a more iterative and incremental approach to software development that is more… well, agile, and adaptive than the traditional Waterfall approach. The use of these Agile principles to guide the software development process addresses the issues modern software companies faced when using the Waterfall approach for more commercial and end-user product development. However, Agile does have its own limitations and issues to be aware of.
The Waterfall Software Development Process is a linear, sequential approach to the Software Development Life Cycle (SDLC). It is often referred to as the traditional approach, as it was the first established approach to software development. Over the years, Agile has surpassed Waterfall in terms of popularity, however, Waterfall is not dead. Let’s look at some common elements of Waterfall, what it looks like, and the specific stages that make up the core process.
Under the Waterfall methodology, the software development process is chunked into phases, which can only be completed in chronological order. The output of each phase must be completed and signed off before the next can start, so progress is seen as a flowing downward stream through the line of handovers, like a waterfall. The only way to return to a previous phase is to start over at the beginning of the SDLC. The completion of each phase marks key milestones in the SDLC, and the lead time to completion of the final product can be predicted based on the estimated time to complete the remaining phases.
Agile is an incremental and iterative approach to software development that has become widely used in the software industry. Although you will have most likely heard people talk about ‘being Agile,’ and ‘doing Agile,’ it’s important to understand that Agile is a framework, a set of principles, rather than an exact method. So, then what is Agile software development?