Build your professional network on facebook via our app Go to app
 
<< Prev  4 of 11 in Topic  Next >>
Topic : Software process improvement
  Rate : 
 
Started by : Sameer Joshi, Project Manager, ADP   05 20 2009 10:02:35 +0000
Industry : IT ServicesFunctional Area : Business Processes(Operations)
Activity:  215 views;  last activity : 07 06 2010 20:18:09 +0000

A software development process is a structure imposed on the development of a software product. Synonyms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.Software development has come a long way since the days of Binary, Cobol, etc.  There are still  the same mistakes as they made before, are still made today.Which is called as  “classic mistakes” as mistakes that have been made so often, by so many people, that the consequences of making these mistakes should be predictable and the mistakes should be avoidable.

So lets us formulate this , & discuss different ideas regarding mistakes of software development?

 
 Refer 117
Share
 
 
  Rate : 
 
 
 
 
  1 1 1 1 1
 
 
 
 
 
 
 
 
 
 
 
 
 
1 2 3 4 5
1 Overly optimistic schedules
2 Many Reasons
3 Project management
4 Overestimated savings from new tools or methods
5 Get the signed URS from client.
6 Less flexibility and low future expandability
7 Never create a Software by assuming the end users need
8 Not having clarity with requirements !!!
9 Unuseful, non-friedly, non-powerful, platform depend
10 Requirements
11 Scope, Estimation and Change Management
12 Insufficient Risk Management & Shortchanged quality assurance
13 Avoid Rigid development styles
14 Analyze the impacts before modifying the program
15 Software Development
16 I Agree!
17 Core level problems!!!

Overly optimistic schedules

idea posted by Sameer Joshi Project Manager, ADP

The challenges faced by someone building a three-month application are quite different than the challenges faced by someone building a one-year application. Setting an overly optimistic schedule sets a project up for failure by underscoping the project, undermining effective planning, and abbreviating critical upstream development activities such as requirements analysis and design. It also puts excessive pressure on developers, which hurts developer morale and productivity.

1
No supporting Arguments for this idea
Add your argument:

Many Reasons

idea posted by Mihir Jhaveri, PMP, CSCM Senior Manager/Pre Sales & Solution Lead/SCM/Strategy, Bristlecone India

Hi

Based on my experince in working in different types of technologies, the mistake may vary from each other.

 

1. Defining the scope

2. Review Process - REquirement Document, Functional Document, Techanical Document, Test Strategy, Test Cases

3. Setting the expectation and visibilty to all the team members

4. Regalur status updates with all the team members , the frequency based on the criticalness of the project to the comapny

5. Better interaction between the testing team and the development team (one view, one requirement)

6. Better interaction, process, audit checks by Qaulity assurance team

7. Define a realistic schedule and commit

8. Sometimes we need to say "no"

9. Knowledge transfer between onsite and offshore team members

10. Define and manage the risks (biggest problem lies here....)

11. Take the help of the senior management up front

12. Give visibilty to customer/client at all the milestone and have a informal understanding, so we do not have a shock at last moment

13. Comments on all the codes

14. Single source of truth (all the documents should be in one place with updated version) for everyone

15. Tools - Project Mangement Tool, Configuration Tool, Assest mangement tool, etc...

16. Have a proof of concept for imnportant design requirement or critical requirement

17. Product Development/In house product development - the best process/practise must be taken for the product development, avoid customization as much as possible\

18. Commuicate the understanding of the requirement, process, or important steps via - Use Case, Proof of Concepts, IDEF, Process Flow, High Level Test Case Flow, etc...

 

Many other attributes to are there as discussed by every one.

1
No supporting Arguments for this idea
Add your argument:

Project management

idea posted by Mallikarjuna reddy QA/QC Manager Barry-wehmiller

The basic problem that is seen with indian IT companies is not having a spent right amount of time for project management. If we do good project management we should be able to come up from these common mistakes.

1
No supporting Arguments for this idea
Add your argument:

Overestimated savings from new tools or methods

idea posted by Radhakrishna Marar Business Analyst, Oracle

According to me overestimated savings from new tools or methods is also a big mistake which one should avoid. As organizations seldom improve their productivity in giant leaps, no matter how good or how many new tools or methods they adopt. Benefits of new practices are partially offset by the learning curves associated with them, and learning to use new practices to their maximum advantage takes time. New practices also entail new risks, which are likely to discover only by using them. We are more likely to experience slow, steady improvement on the order of a few percent per project than you are to experience dramatic gains. A special case of overestimated savings arises when projects reuse code from previous projects. This can be a very effective approach, but the time savings is rarely as dramatic as expected.

1
No supporting Arguments for this idea
Add your argument:

Get the signed URS from client.

idea posted by prashant pamani Project Leader -(Technical), Sunbelt Outsourcing Pvt Ltd

If you not get the client approval URS (User Requirement Study) then the software development process going on and on.

You do some changes and client not approve it and you have to do it again.

1
No supporting Arguments for this idea
Add your argument:

Less flexibility and low future expandability

idea posted by Sujeet P. Student, MGM's CET Mumbai University

The programmers and software developers usually end up developing Ad-hoc applications and software.

This may be mainly due to the limited resources and less time deadlines which eventually allows programmers to only make Ad-hoc applications. Such applications result to have low flexibilty, and they seldom contain future expansion scopes.

This also results for the softwares to be less cost-efficient.

Programmers should work with the analysts of the firm for which they work and should come up with better flexible applications that can be greatly altered and modified according to the firm's future needs.

Such information can be better provided by analysts. The firms should also encourage the programmers and software developers make such cost efficient programs as it is greatly in the companies favor itself.

1
No supporting Arguments for this idea
Add your argument:

Never create a Software by assuming the end users need

idea posted by Teddy Jacob Freelance Designer, Teddy Jacob

Many companies that i have worked with have and still allow the developers to make most of decision, when it comes to adding features to a software App without consulting end user or client. Assuming that would be great feature. Like the saying goes Assumption is the mother of All F$%#@ :)

1
No supporting Arguments for this idea
Add your argument:

Not having clarity with requirements !!!

idea posted by Vinay Mudgil Sr. Application Developer, Computer Sciences Corporation

apart of the things already listed, a few more things that were on top of my mind :--

1) not having clarity about requirements [many a times i have seen this as the main culprit]

2) how the system that you are building is going to ineract with other systems [the analysis part is missing]

3) i think its also the lack of time spent during phase as it goes dierctly to the number of defects in the UAT phase

at times poor planning and insufficent funding by clients also adds to a devlpoes misery though

 

Vinay

1
1
  
by Dennis Aries, Owner, Arkro IT  | 06 02 2009 09:09:27 +0000

A lot of the time, development starts based on an idea of the requirements. More often than not, the customer has some idea of what he wants in the end but relies on you to tell how to get there. I see a fair number of projects started without anything more than a conceptual idea. By creating functional and technical descriptions, and having them approved by the customer, you create fixed requirements and targets. Any disagreements can be solved by referring back to that document. Any unclear situation you encounter can be added to the document with the proposed solution.

Add your argument:

Unuseful, non-friedly, non-powerful, platform depend

idea posted by Davind Morph Employee, Tani Co.

1. Unuseful: project should provide end user requirement, for example POP3 main access is not free in many mail systems but in GMAIL is free, well users use Gmail

2. non-friendly: may it's not important for a developer like you like me, but for a simple user it's really important how page is interactive?

3. non-powerful: system should be accessable and be ready all the time, never send any Error or exception, it's really important may with a very non-important exception or error, user will remove own account from systems

4. platform depend: the system should be platform independence, the C# won't be a cool platform for a enterprise project,...

in fact many factor is here but all of them point to a simple user, we should do any thing to stay users humor

0
No supporting Arguments for this idea
Add your argument:

Requirements

idea posted by Kannan Project Management Consultant

The project exists just because of the requirements. Projects need to ensure that they have a reliable, knowledgable and acknowledged expert team/person in charge of the requirements analysis and documentation. Most project I know of fail to gather the requirements in a usable form with clarity and continuous focus on removing ambiguity from the requirements. All work on the project must be eventually, clearly and unequivocally traceable to a requirement.

0
No supporting Arguments for this idea
Add your argument:

Scope, Estimation and Change Management

idea posted by Vijay Bhaskar COO, Divami Software Private Limited

I would consider the classical mistakes to be improper definition of Scope - based on which the estimation and project management are done.

Estimation - there is never an agreement even amongst the best estimators on what the actual estimation is - all due to improper training and limited understanding of the intent and lack of customer focus.

Change Management - it is natural that changes will occur. But improper management of these changes can prove to be very costly.

0
No supporting Arguments for this idea
Add your argument:

Insufficient Risk Management & Shortchanged quality assurance

idea posted by Kiran Kumar Reddy Business Analyst, SAP

I think due to excessive multi tasking they are not able to handle risk i.e.Insufficient risk management. If he is  not actively manage risks, only one thing has to go wrong "the project from a rapid-development project to a slow-development project". So, failure to manage risks is one of the most common classic mistakes.
Another mistake can be Shortchanged quality assurance :-Projects that are in a hurry often cut corners by eliminating design and code reviews, eliminating test planning, and performing only perfunctory testing.

0
No supporting Arguments for this idea
Add your argument:

Avoid Rigid development styles

idea posted by Raghu Kastury Principal Consultant & Head of Strategic Business Unit - Retail & Distribution, Sundaram Infotech Solutions Limited

It is inevitable that during large software developments that chnages keep coming till the very end, no matter how well it is planned. So some of the following care should be taken

1. Always parameterise whenever there are debatable options or choices or conflicting requirements are possible 

2. Always avoid hardcoding and deal with variables

3. Always test at every smallest runnable piece of code is completed

4. Document Judicicously - Avoid excess documentation and at the same time make sure required documentation is maintained at that moment 

0
No supporting Arguments for this idea
Add your argument:

Analyze the impacts before modifying the program

idea posted by venkataramanan Software Developer, Logic Soft

It is always better to analyse the full impact of the system. Changing /modifiying code in part will always lead to problems. So it is always better to take considerable amount of time  for analyzing the system before modifications.

0
No supporting Arguments for this idea
Add your argument:

Software Development

idea posted by Phillip.J.Gordon CEO/MD/Director, Square Designs

As I am still rather new at software development, I am using Microsoft Visual Studio 2009. I have found that although I have made a few mistakes, I have not found any other problems as yet?.. How can I help you?

0
0
  
by Phillip.J.Gordon , CEO/MD/Director, Square Designs  | 05 29 2009 06:28:44 +0000

Thanks so much. I try my best ok!

1
  
by Sameer Joshi, Project Manager, ADP  | 05 29 2009 05:12:15 +0000

Dear Philip...

This Idea Contest was just about sharing your experiences on S/W development...You have rightly done that.

And thanks a lot everyone for sharing their valuable comments.....

It is great to see so many ideas (mistakes pouring in), definitely many lessons to learn. I hope we will continue this kind of brainstorming here.........

Add your argument:

I Agree!

idea posted by Phillip.J.Gordon CEO/MD/Director, Square Designs

I agree... Totally!

0
No supporting Arguments for this idea
Add your argument:

Core level problems!!!

idea posted by Sumit Jayaswal Associate/Sr. Associate -(Technical), Cognizant Technologies Solutions

Mostly when the project is started, it has a tight schedule with client sitting on top and supported by the managers. Many a times, the management tries to put too many resources just to speed up the job which is getting done. The issue here is most of the resources that come in this kind of environment likely are developers with mid level or junior level experiences. Now they just start developing with a little time to think and reflect on the design aspects. The key here is to have a robust and scalable design ready for the application before really jumping into its realms. The design should be given extra effort than coding as it is the most crucial part. In fast paced development, almost all the times, this aspect remains neglected. I would suggest give at least 60-70 % of the total time in design, your development will be much smoother and will have less bugs. By design i Mean, Arch, HLD and LLD.

Once the design part is done, then comes the most critical issue. Too many people trying to get in charge of too many things. As rightly said, "too many cooks spoil the brew", thats excatly what happens here. During flat hierarchical development process, we tend to lose sight the product and try to get into "who's incharge" frame of mind. This is very crucial in the mid stages of the project. One has to continously keep a watch to it. 

Lastly i would say, lack of proper technical manager. Mostly these days we see more of people manager and less of technical managers. Their commitment to the client is not based on the feasibility of the solution. Rather it is more to do with figures. The commited dates might not be feasible for a developer to complete the assignment. but still the Dates remain commited. The developer stretches and somehow manages to give the code, whcih is less of quality and hence reliability. Instead, if the manager doesn;t have too much of hands on technical, he should discuss the feasibility with the technical architect and then give any commitments.

0
No supporting Arguments for this idea
Add your argument:

Add your Idea
Idea* : 
Add your argument:
edit in rich text ...
Could not find any idea interesting in: " What common mistakes one should avoid during Software development?" ? Click here to add a new idea...

Found the idea contest " What common mistakes one should avoid during Software development?"  interesting ?  Click here to refer to your connections and communities
People Matter,Results Count
People Matter,results Count
Viewers also viewed
Hi friends !!!                               We know, every company today requires a software to...
 
826 referals 29 arguments, 822 views
Tips for avoid sleepiness During the Day at work
 
371 referals 8 votes, 245 views
Mallick Software Solutions provides end-to-end web design and development solutions that enhance...
 
18 referals 3 arguments, 351 views
more...  
Recent Knowledge (4)
When we are watching news channels or any other channel or reading news papers you bump upon...
 
2022 referals 11 votes, 200 views
we all know the perils of talking on cell phones while driving. besides being hazourdous to...
 
290 referals 2 votes, 36 views
more...  
More From Author
According to the latest news, taking the attack of " inherent racism " seriously, software giant Hewlett-Packard (HP) has admitted that its new face-tracking webcam has some 'issues' with black users . This issue grabbed worldwide attention this...
I don't agree. Rather it make a user addicted. I've seen children addicted to video games are poor performers in their academics. And even if it increases the analytical skills, then also, what is the necessity of that skill which takes a child far...
This is really good improvement in the storage of energy for rapidly increasing population
more...