by
Naif Al-Anazi , Retail Sales Lead Officer , Etihad Etisalat - Mobily
Possible goals for software production are :
•Product Quality
•Deterministic Defect Control
•Code Quality
•Optimizing team member interactions
•Traceability
•Velocity
•Maintainability
•Usability
The list goes on. Once you know what you want to optimize you can design a means to ensure these goals are met. To help you many processes have been created and used that address one or more of these but always to the detriment of another. A good process will identify what will be optimized AND what will be detrimentally affected. An excellent process will be able to quantify them.
For example Cleanroom Software Engineering will yields guaranteed levels of defects and closely control changes made to a system. BUT the costs of producing zero defects software will be prohibitive all but the most extreme situations where interventions when deployed are extremely difficult or impossible (deep space probes come to mind).
Some process will emphasize documentation, others will ensure regular incremental deliveries.
Process is Software
My best advice to this problem is to think of the process much as you think of a software system. Both attempt to solve a problem through algorithmic solutions. Just like software you need to create a model of the different actors and systems. You need to identify what the process must produce. Just like software you will need means to measure how this process is performing and carefully craft measure points in your system. And just like software you need to constantly analyse and evaluate these measurements keeping in mind that all forms of measurements will yield an incomplete picture of the whole and must constantly be adjusted and thus must never taken at face value.
Your biggest challenge is the fact that your actors are not deterministic algorithms or services but humans with different experience, educations and views as to what constitutes a good software.
This work is licensed under the Creative Commons Attribution 2.5 License (or at your option a greater version of it).
Revision History
Revision 1675 02 April 2007 shlomif
Forked the template from a previous work and working on it.
Revision 1871 04 May 2008 shlomif
Finalised the first draft. About to receive feedback.
Revision 1872 04 May 2008 shlomif
Fixed many spelling/grammar/etc. problems, trailing whitespace, etc.
Revision 1882 06 May 2008 shlomif
Fixed many spelling, grammar and syntax problems (thanks in part to Omer Zak). Added some bolds, and id=""'s, added the about section, reorganised the text a bit, and added the note about responsiveness and startup time.
Revision 1884 06 May 2008 shlomif
Changed "a software" to something more idiomatic, and fixed a bad phrasing towards the beginning.
Abstract
This document will discuss what makes an open source program (and by induction other programs) high-quality. It will cover the parameters that make software applications high-quality and ways to achieve them.
by
rizwan bhatti , Senior Elementary Teacher , Education Department
Abstract Thinker
problem Analyser and must understand what should customer demand and what is
un-necessary because customer don't know problem.
must be ethical and customer care
Top4 qualities of a good software developer
1. Analytical mind
2. Big-picture perception of a software
3. Business oriented approach to software development
4. Teamwork eagerness