⬆️ ⬇️

We evaluate projects



One of my main activities at work is project appraisal. And in this article I will try to share my experience in this area.





A lot of books and articles have been written on this topic, but often all the examples from them describe multimillion projects designed for several years, and it is quite problematic to adapt them for the needs of small projects up to 1000 hours, for such projects an “expert” assessment is needed - that is. appraisal of a person who is familiar with the technology and has developed or led the development of such projects. And so suppose that you are the same person who will have to evaluate the project.



In order not to beat around the bush, it would be best to give an example, so let's take an abstract project with the following muddy requirements:

')

“I want a site where users can write posts with pictures, leave comments, set ratings, exchange messages, as well as a store with books on the site, the site administrator will add books, he will also keep order on the site. The site must have a “lightweight” design and conform to web 2.0.



Let's start in order:
  1. Trying to understand the customer’s business idea, if you didn’t succeed - you need to achieve this understanding, looking at this description, you can assume 2 options for getting feedback from the site - the percentage of books sold and contextual advertising (about which not a word was said but very often assumed by default)
  2. Ask the following questions to the customer:
    • What are the load requirements for the system, how many registered users will there be, how many online (I doubt that the customer will adequately understand the phrase “competing requests”)?
    • Do you need multilingual support?
    • In which browsers should the site be displayed correctly?
    • What are the security requirements of the site (it is clear that we will not write a leaky application, but it is better to know in advance that the site will work on HTTPS and the URL will be unique for each user)
  3. Break the project into components - make up the project's feature list.
  4. We write down all the questions that arise and do not forget to ask them to the customer, it is advisable to accompany each question with explanations so as not to embarrass the customer, and it would not hurt to push him to the correct answer, which would minimize some of the risks (for example, the question of supporting various browsers, it is better to mention that the most popular ones today are IE6.0 +, FF 2.0+ and Safari 3.0+, otherwise there is a risk that you will have to customize the design for any fossil thread, such as Netscape 8.0)
  5. We send the final assessment with detailed comments and questions to the customer in XLS format - let him try to add / remove some items.
Drawing up a feature list



This item requires certain skills in order to decipher the requirements and do not miss anything, and here are some tips on drawing up a feature list:



  1. Each item should include 2 assessments - average and maximum (if all the risks work, it’s better to describe the risks immediately)
  2. Select the following parts into separate items.
    • development and implementation of design
    • system architecture development
    • database development
    • requirements analysis (in fact, what you will do before the start of the project, including writing documentation)
    • if you have a development team, then there should also be a “Knowledge Transfer” item - this is the time for meetings, and other similar work processes that eat the budget
    • management - includes communication with the customer and the management itself
    • testing - we need a “live” system
    • deployment of the system to the customer's server
  3. Highlight a separate item “free cheese” - what you would do, even if there were no such requirement, for example - integration of WYSIWYG editor or support for User Friendly URL, integration of Google Analytics and Google AdSense
And now we will try to isolate the main points from our “description”:

  1. The usual phenomenon for the site is the presence of pages with static information that can be changed by the administrator, according to personal experience - for 90% of the sites it was necessary to implement this functionality
  2. We have at least 3 roles on the site: a guest, a registered user, an administrator, and maybe there will still be a moderator?
  3. We have at least 5 entities besides users: books, posts, comments and ratings, as well as messages for private conversations, if you think a little bit, then there are more categories for books and tags for posts (in order to follow web 2.0), you need All assumptions check with the customer.
  4. The design of ala web 2.0 can also appear with a flash or the customer has seen somewhere, he wants something like that, so we continue to form a list of questions
  5. If we have an electronic store, is payment payment integration expected, if so, which ones?
  6. Messaging between users is also quite a slippery moment, maybe the customer has in mind a chat, or is it still a simple system of internal messages? Users can send messages to any other user, or there will be a list of friends?
Intermediate feature list includes the following items:



Further, it is best to split this list by roles (guest, user, administrator), and for such items as management, testing, requirements analysis and knowledge transfer, the assessment will be indicated as a percentage of the total development time, at the moment it is 10% for management, 30 % for basic testing and 5% for analysis and transfer of knowledge (such values ​​are derived from personal experience and common sense).



As a result, I got a fiche list with a very rough estimate, but the description is also not happy with the details. In fact, after finding out all the details, it may turn out that the customer wanted just something like Wordpress MU, and the store would represent everything — links to Amazon with an indication of a referral, although the customer might as well want a social network. , with all the relevant attributes ...



If you are interested in this topic, I can advise you to read another little article about the clone YouTube .



Crosspost: evaluate projects

Source: https://habr.com/ru/post/21278/



All Articles