Does using Extreme Programming have a negative impact on your ability to win new customers? [closed] - extreme-programming

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 3 years ago.
Improve this question
I've recently been looking at Extreme Programming and wondering if it would be realistic to implement it where I work.
My question is, if you're pitching to a potential new client and you tell them that you're using XP, and you explain what their responsibilities are as the customer, are they likely to be put off selecting your company if they've never worked within an XP environment before?
What are peoples experiences of selling XP to a client given that it seems to me to be a very customer intensive software development methodology? The context here is selling medium to large websites to a a wide variety of clients.

I usually try to explain it to my clients in non-technical terms, and focus on the benefits of my business model. With XP, you'll always have a higher degree of communication with your clients. This is always a plus for them. They like to know what's going on. Focus on that. Also, focus on the idea that they are able to discuss business requirements with you as the process moves along, so they don't get tied down into doing something the way they first envisioned it 6 months ago when they didn't really know what they wanted. This will also allow your contracts to extend their lifetimes when your clients get comfortable working with you and want to continue improving their products.

I'm working on a project that uses XP. The weekly meeting with our customer and the outcome of these meetings was that good, that our customer decided do try to implement an 'agile like' process as well.
Additionally I think that agile is getting more and more common in IT projects and that more customers are satisfied by the outcome of these projects. So I think that in a couple of years it will be harder to sell a non-agige project than an agile one.

Related

Is Erlang a good choice for a booking system backend? [closed]

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 8 years ago.
Improve this question
I need to write the backend for an event ticket selling system. Some companies would connect to the service in order to check for ticket availability in certain venues, book tickets and so on.
Reading about Erlang I though it could be a good choice since the system will have to support high concurrency, high availability but I don't know If it's a good choice for this problem domain.
Any help would be really appreciated. Thanks!
Erlang could be a good choice, yes, it sounds like something it would do a very good job.
But it's going to be hard for anyone here to be of much value for your decision, as you should also consider the knowledge level of the team, time & budget constraints, etc.
Ultimately, the best people to help you make this decision are the people in your team.
I suggest you take a look at OTP's finite state machines as I think it suits perfectly a ticket booking system.
I believe you can find a lot of examples either in the doc or on the web.

How to organize projects in TFS? [closed]

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 2 developers that are working on 8 applications. Should I split them in separate projects or keep all in one project? If i should split them, than how can I work with aggregated agile board? Keeping separate agile boards is not very useful because since there will be much more agile boards then developers.
My personal preference is to keep TFS projects for a group of related applications. For example, if you have a website, an app, a webservice, and a scheduled task all working on essentially the same data but for different scenarios, I would group those as a single TFS project.
However, if two applications are fundamentally different they should be segregated from each other. For example, one is a mobile eCommerce application, another is a video game about elephants fighting zombies armed only with a canoe paddle.
That way, the task board makes sense from a logical perspective. With related applications, you'll have stories that cut across all of the projects. You may have a common data layer service, or perhaps they all use a common engine that you want to be able to maintain on the same cadence.

What approach/methodology are you using for one-man software development [closed]

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 9 years ago.
Improve this question
You can find thousands of questions out there about how you develop software and which methodology is the best one. But mainly these are targeting medium to large teams, with people having different roles and responsibilities.
What I'm interested in is what methodology are you using for your one-man-shows? What steps are you doing, what documents are you creating to get the things you want to develop clear and document it well, to share it with the community?
Especially, I’m interested in the following questions:
_Are you using a structured approach even you’re developing on your own or no at all?
_What phases are you using?
_Which documents are you writing before and after coding?
And if you have “your” standardized approach, can you share templates which you are using?
Thanks in advance,
cheers
Gerry
Personally I think it is a matter of making decisions when it comes to the development process (solo). In my case I wouldn't recommend setting up a massive development process but I would pick elements which prevent problems that I have earlier had. My approach for small applications (in the right order):
Always write down what you are going to make and what you are not going to make (define a scope) - Think of functional requirements (Functional Design)
(OO only) Make a class diagram that displays relations between classes. (Technical Design - Sequence diagrams, while usefull, take up massive amounts of time to make)
Write your program according to what you have just written down (or part of it).
Refactor and redesign your application (once in every X hours, write this one down)
Repeat step 3 to 4 until the result is what you wrote in the Functional Design.
Walk through every corner of your application to find every single path and write this down in a testdocument. Identify possible problems in the paths and test them.
When it comes to big applications however (or assignments for someone else) I prefer using the "medium to large teams" approach. Which almost brings a guarantee that you will not be meeting most problems.

Communication with Management, realistic expectations, growth pains for a small software team - need advice [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 work for a mid sized Architecture and Engineering firm, our sub group focusses on developing tech solutions for engineers, mappers and technical managers. So we're heavy on desktop based apps for GIS and Civil/Env Engineering (some web). The company sells the services that our Engineers and mappers produce and our team develops tools that aids in them being more productive, efficient and help in adding value to their decesions and products, we DONOT sell the technology.
We are going through growing pains where initally we used to be extremely responsive and could rapidly prototype apps for engineers which immediately brought budgetary savings. That mindset has worked for us in the past. But this year we won a huge contract and our client base has basically quintupled (5 times?). What we are finding is that this rapid prototyping culture is hurting us, where project managers have started to expect short response times for tool development and robust production ready tools for all our engineers and gis analysts. We've grown organically and now it seems that we are running into these issues were it appears we have to scale back our speed for more stability.
Is this a legitimate tradeoff? Is there a win-win?
How does one push back the engineer, project manager and analyst when they are our clients, they fund us and yet we need to be able to push back and tell them that if they want stability they have to be realistic about time frames?
This isnt Microsoft Word, these are specialized GIS software and Engineering models with a ton of interop components for other industry standard models, they arent idiot proof tools, they need informed inputs and we can only test things so much.
Has anyone dealt with similar growing pains? Recommendations/advice on a communication stance, books, blogs?
Appreciate the time!
The best thing to do here is to start to be honest about the strain and show, in writing, what exactly is happening and who all has demands on your team. You need to show the hours that all of your tasks are taking and who is doing them and be able to show that level of status.
This merely give you some sort of proof about what's happening. At that point you can start to do the re-organization you need to do in order to start to support growth.

how to get more involvement from employees? [closed]

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 3 years ago.
Improve this question
Once a week we have a half hour session where we talk about a few features in our application or explain a customer question to our employees(sales, support, technical services, and development). This session is to teach our employees the application we sell and to help them improve the service to our customers. Once every two weeks, this session is mandatory. Unfortunately, some of our employees do not take this too seriously.
How can we, as developers, gain more involvement from the rest of the company? And make them understand the application we're building, selling and supporting more?
Ask them to present the topic in front of you after some days from the session day.
Another good way is to make them suggest new features and modifications in the project.
If you have any hidden "tricks" or "easter eggs" in your application then start showing them one every week.
Make it interesting and tell them how a trick can help a customer.
Couple of points:
Make them feel important. Give them direct input using proper questions, even if you need to resort to analogies.
Speak with them, not at them. When people are being lectured there's a natural instinct to not take any notice.
Use analogies for things they do not understand, and again, give them direct input.
The main goal is giving the person a stake in the project. If they do not have anything valuable in the project (even an opinion that led to a feature classes in here), they will not care.
You can't get any more involvement from your employees because subconsciously they know they will not get any more benefits through exercise of extra involvement.
Reasons?
They may not agree with your development strategy or with your customer relationship model. So they feel as they don't really belong here.
Their work will not profit from any extra insight, so for them it's a waste of time
They don't get paid enough so they are at a minimum accepted performance
They have other personal problems in mind and don't want to take extra mental burden during their working hours
They long since learned the company does not care about their opinion and improvement ideas, so they shut down their involvement service
They're that kind of people that are not interested in being involved (hire strategy issue)
Recognized anything? Then you know what to fix.
The important thing to understand that you should not just cure the disease but the reasons of its emergence. You may threaten people with some punishment actions if they don't get involved. You may play to emulate the need for their involvement. It will work for a brief time then fade out. Until you get to the origin of the problem, nothing will help.

Resources