One of the most unpleasant parts of a traditional software development process is Integration.
This is where the bugs decide to appear.
After the system is coded and designed, It needs to be integrated in a Waterfall process and everything seems to be falling apart after that because most of the times there is no possibility to afford the issues.
The development cycle is easier and It is pretty interesting. But then comes that part. The part that no one wants, integration and testing and it feels like you aged 1 or 2 years.
That’s not the way to keep a business sustainable.
That’s not the way to build an industry.
That’s not the way to construct virtual things.
If you want to be effective, you need to understand that.
A software have It’s unique nature and It’s different than almost everything in the world. The solution is obvious at least for me and for everyone that uses this methodology. You must integrate along the process. All the time.
In that way, instead of getting giant integration to do, that simply vanishes.
Working with a few integrations throughout the day instead of have to deal with a giant one that takes you a lot of time and energy trying to figure it out what went wrong and trying to fix it, It’s the best. If you do the integrations everyday, they are small and still fresh in our heads. It’s not a thing that you see days, weeks or even months after you have worked in, like happens with traditional software development. You’re not gonna remember every single line of the code that you have written, and the return to it It’s not a easy process, principally if the code you wrote is difficult to work.
Developers that are doing agile don’t have to pass for that process like that. That’s one of the main benefits that agile provides.
Feedback is critical, mostly when it comes to building software.
But the way we build software is different.
It’s impossible to assure a non-existence of bugs, even in a trivial program. All testing can do is find problems that are common (that the tester thinks to search for).
We need balances that make sense and support us, the goal is to be moving forward with good code, and many of the methodologies in XP (extreme programming) do that.
We don’t do a lot of upfront design, but we’re doing design throughout the all development process. Not like Waterfall. We come up with designs as we go. We pay attention to our code and designs.
“With great power comes great responsibility”.
It’s our responsibility to have discipline if we’re following an Agile process. We have to make sure we are creating software with good quality.