• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Agile storys and sprints

 
Ranch Hand
Posts: 681
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I feel or find myself in a battle with the BAs, , we discuss storys bit purely from a functional perspective, it seems to be get a story out there and have something to deliver at the end of the sprint. But I feel ignored when I try to point out that we need to ensure that the code just does not meet the story, but is extandble and maintainable.

Its lets gop for the quickest option , if we need to change the code we can furter down in another story, but w have all been there that never happens, we just build more maki that story work code on the existing cose base, unless I lie and say sorry this new story will mean changing / refoctoring the underlying code.

And refactoring to Project managers and BAs is a dirt word, ony to be done when we have no choice.

I am sure Agile and storys should cater for non functional as well as functional.
 
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This is why I never ask for permission to refactor -- I make that part of the design/development process. So far, I've found that TDD is the best way to do this. TDD allows me to incorporate refactoring into every increment of code that I write. True, there never is time to go back and refactor if you wait until all the functionality is done before refactoring. Therefore, don't wait until it's too late to refactor. Refactor as early as possible. When you demo, you should be showing off code that not only works but is also refactored to a state of "good enough as a start for the next increment". Adjust your estimates accordingly.
 
Tony Evans
Ranch Hand
Posts: 681
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The problem is with short sprints, where timelines are very tight, also with agile everyone is supposed to be involved. so in sprint 1 we got something out the door, sprint 2 I want to make changes refactor as we learn more about the business functionality and any new technology we are using. This is where the tight dead lines and dont break existing code comes in.
 
Junilu Lacar
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I doubt the problem is really with short sprints and tight timelines. Refactoring cannot be done in isolation. At a minimum, you should also have good coverage with automated tests: unit tests, integration tests, etc. Automated tests provide the safety net for refactoring so that you know immediately when you've broken something. Refactoring is also best done in small increments. Make a small change, run the tests. Make another small change, run the tests. Another practice that supports refactoring is continuous integration (CI). This allows multiple members of your team to perform refactoring in different parts of the code base and be quickly made aware of anything that breaks. CI is not only a set of tools but a very disciplined practice. If this is not the case for you, then you will feel more pain when you try to refactor and resistance from stakeholders will be harder to overcome.
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I agree with Junilu. I don't ask for permission to refactor or write unit tests. Those are part of the process.

I also don't "ask for permission" to write code that works or to touch type instead of hunt and peck or.... Wait. That sounds silly; it is expected isn't it? Of course, writing working code is expected. Refactoring and unit tests help make that happen. As long as I am delivering over the long run, the PM and BA shouldn't be telling me how to do my job.

Incidentally, I had a task to modify a template and upload it to the server. I had to do this three times this week. (I'm the first one on the team who has done this - it is harder than it sounds.) The first time, I did it wrong and caused 30 minutes of re-work. I documented the correct way all proud that we had a procedure. The second time, I did it wrong and caused 45 minutes of re-work. (What I did wrong was more subtle the second time since I didn't make the obvious errors.) Today was the third time I needed to make yet another modification to this template. i wrote a script to incorporate the changes and do the update. It took me almost an hour to write and junit test the script. The script then worked on the first attempt.

Note that nowhere in this description was "ask the PM for permission to write a script." I did it because it was the right thing to do. I believe it will save time in the long run. (Or next week based on my rate of success in doing it by hand.) I believe it will save my teammates time by preventing them from having to deal with all the error prone details. In a nutshell, it was the right thing to do. It is our job to look out for the future and not just the present.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic