Do you employ any tools for managing technical debt? [closed] - resources

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
The site I work with on a day-to-day basis has its share of shortcomings and we often make design decisions to "get us by right now" with the intention of fixing those up later.
I've found that making the time to actually go back and fix them, let alone remembering what the full list of to-do items is can be challenging at best.
Can you recommend any tools, resources or tricks that help you effectively manage your technical debt?

You could use any bug/task tracking software, eg see this stack overflow question: https://stackoverflow.com/questions/101774/what-is-your-bug-task-tracking-tool.
Of course, a simple solution is just to have a text file called TODO or similar. It's low maintenance, and particularly appropriate if it's a WORN file (write once, read never).

Unit testing
Refactoring
Continuous Integration
Planning (XP, Kanban, etc.) to avoid adding more technical debt
Standards
Code reviews
Project retrospectives
Static analysis tools (like FxCop) integrated with the CI build or check in process
I'd say TODO comments in the code, but my experience has been that developers generally ignore these.

I would suggest you add an item in your product backlog whenever you deliberately incur technical debt. This way, it is possible to consciously spend time during each iteration.

There is a plug-in for Sonar that you can use to find potential problems in your code base.
/Roger

Related

What software to use for Event Storming? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
With regard to Event Sourcing and Domain Driven Design, I'm looking for a good software solution to help my team model our Aggregates electronically during an Event Storming session.
I have considered simple sticky note applications but they leave a lot to be desired such as the ability to save and share.
So what would you recommend as a good Event Storming software?
I think you only get opinionated answers. Tools that you really need to consider:
Paper roll, preferably plotter roll since it is dense enough and wide enough. For more vertical space put two strips, one below the other. Take a photo when you are done, share it with others. It is OK to scrap the roll since for the next session it would be beneficial to re-create the picture again and it will be better (see WET - write everything twice)
Online tools that have sticky notes of different colours and sizes. These should only be used if you have a distributed online session. I know two online tools that allow real-time collaboration, we use one and tried another, which is also very good. You choose yourself. I do not work for any of those.
Miro
Conceptboard
Mural
How about a "whiteboard"? I found it actually quite easier to create a very large image with a very dark gray background and simply use Paint to draw on top of it. Other devs were able to add their ideas to it and Save As... so that the original file was not overwritten.
Does it make sense?

Requirements gathering and specification writing [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
The last time I wrote a specification was years ago, using a waterfall method.
I am now about to gather the requirements for my first Laravel project, I am working as a lone developer.
How is everyone else doing this?
I was thinking of getting an overview of the requirements, writing a spec, then communicating with the customer iteratively to refine the document to something I can start working with.
Then I was going to do a prototype and gets some feedback.
Then I would work on "chunks" of the project and present to the customer for feedback and refining after every stage.
How does that sound? Any recommended reading?
Mick
The Scrum approach is to put requirements in the format of 'user stories' in to a backlog (effectively a prioritised list).
Rather than gathering all the detailed requirements up front we aim to gather just enough requirements to start development (perhaps sufficient to keep the team busy for 2-4 weeks). In Scrum we work in what we call 'sprints' that are regular sized iterations of work (much like the "chunks" you describe).
Then, the requirements are continuously refined and added to as the team progresses. The team does the highest priority requirements first and then demonstrates progress to the customer (the 'Product Owner' in Scrum terminology) and stakeholders (other interested parties). Based on the feedback the team gets they either carry on as before or they may adapt. For example they may take the feedback and add it as new user stories to the backlog and prioritise them against the existing stories. This differs from the prototype approach in that we try to have production-ready working software at the end of each iteration.
If you are interested in using this agile approach I would highly recommend reading 'Agile Estimating and Planning' by Mike Cohn.

How do I write a bot (for 500px.com) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I want to write a bot for 500px.com which automatically likes pictures and follows random people. Sadly I don't have a clue where to start, are there any good tutorials or something? I googled, but could't find anything useful really!
I work at 500px. We'd really rather you didn't try to game the system, it hurts the community when you do and isn't fair to other users.
I mean, I'm a developer, I get that this might just be a curiosity thing for you. Maybe you just want to see what you can do. But maybe your efforts would be better spent, say, playing with our REST API.
But if it is that you're just trying to get more exposure, I hope that you'll reconsider your strategy. Focus your efforts instead on contributing meaningful content, engaging with your fellow users, working on your craft. When you game the system, you're advancing yourself on the backs of other photographers. The more people that engage in this sort of behaviour, the harder it becomes to find meaningful content, and over time everyone suffers.
No
Your problem is concept -- you want to write a automatic function that acts as if it is a human entity. This means that even if this is desired by the company behind the http://www.500px.com website, this does come across as something impersonating a valid human user, and as such will need to face and overcome the usual challenges of such thing as filling in online forms, logins and verification methods automatically and reliably without being detected as a 'bot .
This is potentially a very significant undertaking, and not to be underestimated. By posting this question on stack overflow you're pretty much giving away that you've very likely not got the basic skill-sets required for carrying out this task.
If this task is however in partnership or for the company behind the 500px.com website, then you will have access to very specific and first hand information about the details and website code and structure they use.
Both of the above conclusions - to me - imply that you're far below the very-probably required level of knowledge and you're going about finding that knowledge in entirely the wrong way.
Instead, find a programming language of your choice and learn it inside out and upside down, then you'll have (slightly) more chance at doing something like this.

Check list of agile eligibility criterias [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Does anyone have any good documents talking about agile eligibility criterias of a project ? maybe a checklist to identify opportunities and risks before the beginning of the project.
Thanks :)
The short answer is this: If your project is all of the following:
Short (no longer than a month, as a rule of thumb)
Simple (everything there will be to know about the project is presently known)
Straight Forward (After delivery, there will be no future development / maintenance)
Then you may consider not doing agile!
In all other cases, you will be well served by developing your project in an agile manner.
From small start ups to large multinational companies (Microsoft, for example) more and more companies are implementing agile mindsets and methodologies.
From small clients to middle-sized financial institutes to gigantic ones (United States Department of Defense, for example), more and more are accepting, encouraging or even demanding a flexible and incremental delivery and an open visible development project.
The important thing to understand, though is that perceptions of what agile is and isn't are often wrong. not planning, for example, or not documenting are, despite popular belief not agile.
What I would suggest, is to first make sure you understand what agile really is. Here are a few good resources:
The agile manifesto (Important note: while the things on the left are more important, we still value the things on the right).
Scrum.org's Scrum Guide
Lyssa Adkins' Blog
If you pardon my own shameless plug, you can read my blog, too.
Here are they:
http://pm.versionone.com/AgileChecklist.html
http://standard-data-systems.net/Project_Checklist/Agile%20Audit.pdf
Also, you can google it for: agile project checklists.
Good luck.

What is "Boeing Agile Software Process?" [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I was surfing the web, and I came across the term "Boeing Agile Software Process," but I was unable to find a definition or any details. Presumably, this is the software process used at Boeing and it's Agile, but could anyone explain what the Boeing Agile Software process is/was?
You can read the first several pages of the paper:
"A Tail of Two Projects: How 'Agile'
Methods Succeeded After 'Traditional'
Methods Had Failed in a Critical
System-Development Project"
that Robert Bedoll wrote about agile methods at Boeing and published for XP/Agile Universe 2003 here, on Google Books. Here's a summary:
We adopted the following principles:
Rapid prototyping of designs, with immediate customer feedback
Continuous involvement of the customer Weekly production releases:
Follow our standard development cycle
(requirements - design – code – test -
release) but compress it from formal
releases every three months to formal
releases every week.
Start simple and keep it simple
Evolve the tool to follow the evolving business process
Provide a one to three week cycle time for new feature introduction
Maintain a small development team
Produce abbreviated versions of our standard design documents.Let the
prototyping drive the design
documentation.
Retain our SEI (Software Engineering Institute) Level 2 rating.
It looks like there's a draft "not yet been formally approved by Boeing for publication" in .doc format here, that explains the principles in more detail. I'm not not a lawyer and don't know if there are legal implications if one were to read that draft. You can buy the whole published paper as a .pdf here and probably other places.

Resources