Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We are a small development team of 3. We are responsible for the design, development, test, and publish of each software application. We also provide software support, and deal with any issues the users may have, as well as bug fixing.
At the moment, each developer is solely responsible for seeing a project through from start to finish. So they will discuss with the client the requirements for the software. They will plan, design, and develop the software (both front-end and back-end). And they are responsible for testing and bug fixing.
Is this a development process that is recommended or should each developer be designated a number of tasks on each project?
I have been thinking of applying SCRUM principles to our development process but not sure how effective they would be. From what we do I gether that we are already working in an agile methodology with short iterations, and requirement discussions with the client?
Would you recommend SCRUM for our environment? How do other small teams operate?
It depends what is your purpose: implementing Agile just because it is the newest 'fashion' might prove to be very costly for your existing business.
In my experience (almost 15 years, now) it is better to implement Agile all around the company, not only at Tech level (or DevOps as they are now calling it).
If you implement any Agile method in a development environment than you simply get a bit more efficiency in that environment, only! A coder can not write more than that number of lines a day. Than, because the rest of the business is still at 'waterfall' your development side becomes a bottleneck by having to lag because of the rest...
In your particular case, perhaps it would be a good idea to get together with the developers and ask them: Agile or status quo? Once ALL of you agree for Agile than just go for it - first do it by the book and after a few sprints just start adapting what you need to your given situation. Perhaps a bit of pair-programming, a bit of cross-collaboration etc At the end of the day you are only three people: how difficult can it be to obtain consensus? funny
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 10 months ago.
Improve this question
I know that software testing (ex: unit, integration) makes sure that my functionality is working as expected, but I do not know what is its benefit since I can test the flow myself and make sure it is working as I'm expecting it to. so I need to know what is the bigger picture of software testing
You say, you can test the flow yourself. Can you really do this, once you have a big number of usecases and you want to release your software e.g. once a day (or even if it's just once a week)? Also, you would need to repeat the manual tests for each release, which in the end is wasted developer time, that can be better spent on new features.
Additionally, as soon as you work in a developer team on a software, you get the increased complexity of different people possibly testing in different ways, which might result in a lack of proper manual test coverage and in the end overlooked bugs etc.
Manual testing might be ok for a private project, or a simple tool that's only used a few times and then discarded. However, for any commercial product, that needs to make money for the company, it will not be feasible in the long run.
The objective of software testing is all about ensuring that the ultimate purpose of the software is fulfilled offering desired functionalities to the end-users. Especially, when you are releasing a marketplace application or other service-based software, testing allows you to launch a solution that can compete in the market and meet the desired objectives of the users.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I need a lightweight issue tracker for a new project, with about 5 people on the project. Any recommendation? I read the two other threads on that topic, but it didn't seem satisfactory. I don't need to integrate with git. I just need something super simple, and very, very easy to setup, like a scrum board in the computer (other teams here have physical scream boards). I'm about to roll out an Excel spreadsheet in a shared directory on my Linux box...
I recommend a github account. Make a repo there and track issues using the native github issues that come with each git repository. Then use www.huboard.com to add an extremely lightweight agile/kanban view of your issues. It's easy to set up, but works well. Very simple and lightweight, and you can customize your kanban board view in huboard easily.
If you have a .edu email address github is free, and if not you can get an account that supports five commiters for only $7/month. Well worth it for the awesome infrastrucure.
Jira is nice, but it costs a little bit of money. If you're cash-strapped, you may want to consider Trac. It provides a lot of the same functionality as Jira, but there is no cost associated with it. However, if you decide you want to use a plugin to specifically track your project using Scrum and Kanban, then for your team size Jira/Greenhopper will be much less expensive than the Trac/Agilo combination. Additionally, the Jira University has a number of online-courses on how to use Jira and the Greenhopper plugin that is very inexpensive.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We have a huge debate in our organisation to use AGILE in ERP projects. Can anyone give an example of a successful implementation as such?
Here are some papers and websites that you might be interested in:
Agile Project Management Methods for ERP: How to Apply Agile Processes to Complex COTS Projects and Live to Tell About It
Agile ERP: "You don't know what you've got 'till it's gone!" (Requires IEEE Xplore Subscription or article purchase to view)
Agile Project Management Methods for ERP
Agile ERP
I'm not that familiar with building ERP software, but from what it seems, they appear to have a few things in common. ERP software is large in terms of features and scope and development often takes a long time. I believe that Agile principles might be of value here, even if you aren't using full-blown agile methodologies.
The central tenets of Agile are rapid delivery of working software, accepting late-changing requirements, and close cooperation between the business and users and developers. A highly iterative approach to building an ERP system and close collaboration between the users and the developers to continually add the features that add the most value seem like it will yield the most bang for your buck.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I've come across the phrase 'sustaining software engineering' but don't know exactly what it means. There seems to be some DoD connection? Is it related to Agile Development?
Many in the software world define sustaining engineering as the bug fix team. While this is a part of the duties involved the sustaining engineering group should also be looking at the overall defect trends to help identify areas needing re-factoring. The focus of the group should be to not just fix bugs as they come in but to be the conduit back into engineering to ELIMINATE needless calls from customers. That might involve "works as designed" issues as well as product areas the customers just have a hard time understanding.
I believe "sustaining" is another word for "maintenance": it's what happens after software is released, i.e. support, bug fixing, enhancements ...
Sustainable Software Engineering: Consideration of the social and environmental effects of software projects in managing the project. Managing a software project in order to maximize the positive and minimize the negative social and environmental effects of the project.
Alternative (Sustaining): Consideration of the long-term support requirements during the design and development of a software project. The process of conducting the long-term support required when development is complete.
It's just a fancy way of saying "Software Maintenance Team".
Sustaining Software Engineering, at least in the cases where I've come across it, is the department responsible for implementing hot-fixes for released products, and handling customer service issues that the tech-support guys can't resolve on their own.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
A few years ago I have worked on a green field project where we did Extreme Programming. I also see a lot of people mention the Scrum methodology.
Could someone tell me the main differences between Scrum and XP?
Scrum is a software development methodology, XP is a programming practice. Both are "agile" techniques and are often used together.
Scrum outlines a process for identifying and cataloging work that needs to be done, prioritizing that work by communicating with the customer or customer representative, and implementing that work using iterative releases.
When my team first started experimenting with Scrum I found the Implementing Scrum website to be helpful.
Scrum is lightweight framework for building a product where there is high levels of complexity and uncertainty. It is NOT a methodology, as methodologies and practices can be chosen and used in conjunction to Scrum. It is not purely aimed at software development and can be used by other types of projects too.
When it comes to software engineering, Scrum does not define what practices to follow or methods follow as it does not want to prescribe what is best for that particular product and environment.
Many Scrum teams use several XP practices such as Testing, Feedback, Pair Programming and Simplicity.
The core differences
Scrum plans for a sprint and does not encourage change. XP is more open to change.
XP solicits feedback immediately and Scrum at least at the Sprint Review, however Scrum does not reject early feedback if possible.
XP focuses on programming, Scrum can be used in non software products
Scrum does not define how to do development, but many Scrum teams implement many of the XP practices
I've worked on both. Some of the main differences are that SCRUM focuses on the shorter more structured sprints, and prioritizes back log items. Some of the focuses of XP are more on paired programming, prioritizing the tasks, and more test driven development. Both work in iterations and both are flexible enough to handle a volatile changing project.
Scrum is one component of the Agile development methodology concerning the daily meeting held to discuss progress and XP is a different methodology stressing pair programming and test first development.
Scrum's main goal is to get estimations of how long development will take. XP is more about helping developers get things done as quickly and maintainably as possible.