2 months to finish a website for the government agents to organise natural disaster investigation



  • I'm trying to figure out how normally a project is done.

    I just found out the project I was assigned to was started on 19th November, 2015.
    I checked the SVN history.

    The deadline is the end of January, 2016.

    To figure out how much time would be consumed, I should tell you what this website does.

    I think you can think of this as an intranet website for FEMA agents who go to the area where a natural disaster has struck and see how much the estimated damage will cost, what caused this, what types of gear you need, etc.

    The users(kind of FEMA investigation team members) should login and create an investigation case.

    You can set who the municipality head is at the scene, and like I described above, set who should go, what they should bring.

    The interface for creating a new case is divided into 4 steps.
    Each step has its own jsp page with a form.
    Each form has 3 -6 dropbox. There is an onchange event hooked to the first select tag so when the user select the first, the second will populated depending what the user chose from the options. Each page has more than 3, up to 6 of these. All has an event or two.

    Also a few controls that adds or removes attachment fields, or input fields that hold the PK of other records.

    How long would it take to finish this properly by your country's standards?



  • It depends on whether you're allowed to modify an opensource issue tracker for the project.

    If existing opensource is not an option... I can build it in C# in 1 month if no documentation is required. If full set of documentation is requested make it 3 months.

    EDIT: Note that the clock only start to click when full requirement is gathered. Noone should underestimate how many back-and-forward is caused by different view of upper (the bosses) and lower (those who do actual work and actually use the system) staffs on client side.


  • SockDev

    By my country's standards, properly, 12-18 months with a budget into the millions and still run late afterwards.

    Gov IT here is shocking.


  • SockDev

    @Arantor said:

    By my country's standards, properly, 12-18 months with a budget into the millions and still run late afterwards.

    Gov IT here is shocking.

    your Gov IT is still at least twice as fast and a four times cheaper than ours.



  • @accalia said:

    By my country's standards, properly, 12-18 months with a budget into the millions and still run late afterwards.
    Gov IT here is shocking.

    your Gov IT is still at least twice as fast and a four times cheaper than ours.

    Lucky you guys!



  • Btw, another project I was put in mid-project is a 8 million dollar project. I asked another senior dev how much that one was. 8 million dollars. It was the same though, no interface, no inheritance, no normalisation.



  • @Ascendant said:

    How long would it take to finish this properly by your country's standards?

    By the Government, or a private company?

    A Government agency wouldn't even be done getting bids in 2 months. They'd have barely started.

    A private company in a stodgy industry (think: banks, insurance companies, etc.) probably wouldn't be ready to hire/assign a project manager in only 2 months. They've been spending that entire 2 months writing up detailed plans while pretending the entire time to be "agile". (The insurance company I briefly contracted for did 3 months of yakking about a project approximately as simple before a single line of code was written. At the time I left, there were maybe 500 lines of code in the repo, all written by me because I got sick of meeting and Just Fucking Did It.)

    An IT company would probably have a working version done in time, but honestly that timeline is still short for any proper piece of software. That's the "ok it works in one language with no documentation or internationalization or usability studies..." kind of timeline, not the "ok we made something we can be proud of shipping" kind of timeline.



  • Oh yeah totally. But the website is only intended to be used for this specific client so no internationalisation of course.

    Btw, do you create a new project and start making tables from scratch for a contract?
    If you are selling your product then of course, your product will be already built.
    But when you get a contract to build a website for example, do you start from scratch?
    They literally click on "new project" in Eclipse.

    I just noticed, that these people don't even have a reusable simple forum module or the structures for simple predefined generic tables.

    Each time "USERS" table is recreated.

    I have no idea if this is normal since this type of development is my only experience.



  • @Ascendant said:

    Btw, do you create a new project and start making tables from scratch for a contract?

    I'd probably use WebForms for that. So, no.

    @Ascendant said:

    But when you get a contract to build a website for example, do you start from scratch?

    I'd start from what the WebForms framework offers. Nobody's starting "from scratch", you need to define what that means. Unless you're literally building a TCP/IP stack.

    @Ascendant said:

    They literally click on "new project" in Eclipse.

    Yeah well I guarantee I'd never fucking use Eclipse. What a piece of shit IDE.

    I don't know what "new project" gets you. If it's literally a blank project with nothing, then yes that's a bit of a WTF. If there's a Java equivalent to WebForms or whatever, it might not be too bad.

    @Ascendant said:

    Each time "USERS" table is recreated.

    That's not a big deal if it's just running a saved .sql script. It's stupid if they're actually reinventing it every time instead of just recreating it.



  • BTW it sounds like a Bay Area or Seattle developer with the proper language skills could swoop in to South Korea and just start kicking ass from day one. At least he'd have the self-awareness of actually, you know, measuring performance instead of just assuming the dead-tired guy working at 1:00 AM is producing quality code.

    Then again, I doubt they'd be able to get government contracts. If South Korea is anything like Japan, there's more than a little racism at work.



  • What does WebForms offer?

    By from scratch, I meant that they use Spring framework and they create all their business model classes from Account, User, Employee to whatever specific things they need like RegionalPrecipitationData.

    Checking if this http session has user login information is rewritten/reimplemented each project.

    The South Korean government will not buy MS Office suit because there is a Korean word processor.
    It will also buy Korean AV software.
    Basically, if your product is from abroad, forget it. You won't sell it.



  • @Ascendant said:

    What does WebForms offer?

    A bunch of pre-built controls, sessions (including ViewState sessions if you want to use postbacks, generally not recommended in 2016), templating system with live previews, there's a whole auth system included but I generally try to avoid it because it's way overengineered for most uses. (Unless you need SSO with a Windows domain, then you'd be an idiot not to use it.)

    @Ascendant said:

    By from scratch, I meant that they use Spring framework and they create all their business model classes from Account, User, Employee to whatever specific things they need like RegionalPrecipitationData.

    If you used it, the asp.net auth system would do most of that for you. You'd obviously still have to create tables relevant to your specific application. But it handles accounts, roles (user/employee), permissions grants, etc.

    @Ascendant said:

    Basically, if your product is from abroad, forget it. You won't sell it.

    Right; that's what I was saying. And if your software development house is headed by an American, they won't get shit for Government contracts. And since South Korea apparently has nobody capable of writing good software, you simply don't have any.

    Same as Japan. That's why Sony invariably ships some of the world's most advanced technology with some of the world's most awful software powering it.


  • BINNED

    @blakeyrat said:

    That's why Sony invariably ships some of the world's most advanced technology with some of the world's most awful software powering it.

    Still doesn't explain why otherwise sensible people think the XMB is a good UI


  • SockDev

    It works OK when you have a small number of options under each main item, but above about 10, it basically goes to :poop:. Especially as Sony gives you the option to sort by numerous fields, none of which are any sodding use to anyone sensible.



  • I was thinking more the UI to my parents' camera.

    The XMB isn't any worse than the awful UI the Xbox One shipped with. Fortunately, Microsoft's completely rewritten it to be less shit.



  • Don't underestimate simple CRUD applications, they can always grow to bite your face.

    Does the "login" form, has a "forgot your password" option? Great, now you've got to send emails.

    Are the same guys on the field allowed to administer this? No? An admin interface or define groups of users!

    I guess at some point someone somewhere would like to know people are using this thing they paid of. Some reports or some metrics.

    Are those dropdowns fixed or come from a database? How are users going to be able to change them? Admin interface!

    Is it, you know, mobile friendly? Not only responsive but also uses native controls (HTML5 datetime) or controls that don't break on mobile.

    Is it localized?

    And this is only on the frontend of things, haven't touched the system architecture.

    Anyway, I think two months is a pretty tight estimate for a two-three people team.



  • @blakeyrat said:

    What a piece of shit IDE.

    Better than NetBeans :V




  • BINNED

    @Eldelshell said:

    Is it, you know, mobile friendly? Not only responsive but also uses native controls (HTML5 datetime) or controls that don't break on mobile.

    HTML5 datetime is broken on any platform. It's completely locale unaware, sometimes it will give you a calendar control, other times it won't... ugh!



  • Yeah I know, but what's the alternative for mobile? All the calendar widgets I've seen are either broken or not tailored for mobile. At least with HTML5 datetime you get the "native" calendar widget you're used to.


  • SockDev

    I'm using this in an ASP.NET MVC site I'm working on:

    It's a bit meh, but it is mobile-friendly, and it gets the job done well enough.



  • Wait, they use the Spring Framework, but not Spring Security?



  • BTW report back when the project is actually finished (assuming that ever happens) and tell us how long it really took.


  • Impossible Mission Players - A

    @blakeyrat said:

    BTW report back when the project is actually finished (assuming that ever happens) and tell us how long it really took.

    Don't hold your bets...



  • Nome of the above features are implemented. I can see from who the code base looks, that they never even thought about it.

    For example, I had to put it some if clauses to check if this user can edit or delete this record.
    By the way, every developer involved seem to write his own code lines that check user priviliges.

    Uh, can we get some more boilerplates? Yes, lots more. Im sadistic this way.

    As for international isation, they have an excuse of the web app being only for internal personnels.



  • I just slept zero second last night. I am trying not to blame the guy who design the database but there is NO FOREIGN KEY at all so I am having a hard time figuring out how these tables are related.

    I have received no ERD either so all I have is the comments on the columbs and the tables. But he named those colums that are supposed to be referenced foreign keys, all differently.

    So in this table it is disaster_category and in another disaster_cause. And there are other culumns named similarly.

    Tomorrow ia Monday so I guess I see what happens. More fun stuff, I guess?



  • Nope. No AOP either. So no transaction management. Some seriese of inserts or delete can totally stop mid process, leaving half deleted pieces of information. What else don't they use? I should list them out. Haha


  • Impossible Mission Players - A

    @Ascendant said:

    NO FOREIGN KEY at all so I am having a hard time figuring out how these tables are related.

    Well, at least our tables have consistent naming. After all, everyone knows Acctno AccountNo LoanNumber Loan-Number Loan_Number Loan_Nbr ScACCT AcctNbr (21 more...) Are all the same thing, right? Even if half of those are integer types, some varchar(13) and a few decimal(15,2)!

    Edit: omg where is backtick on this keyboard?



  • @Tsaukpaetra said:

    Edit: omg where is backtick on this keyboard?

    Right here: `


  • Impossible Mission Players - A

    @loopback0 said:

    `

    E_MOBILE_KBD_GLYPH_NOT_FOUND


  • SockDev

    @Tsaukpaetra said:

    E_MOBILE_KBD_GLYPH_NOT_FOUND

    E_MOBILE_THAT_S_DIFFERENT


  • Impossible Mission Players - A

    @accalia said:

    E_MOBILE_THAT_S_DIFFERENT

    Yes. Yes it is. Literallyfiour button presses/swypes.

    https://what.thedailywtf.com/uploads/default/original/3X/3/e/3e55d84d502b151cff48925bab30f1e0c85ad77b.mp4



  • @Tsaukpaetra said:

    Literallyfiour button presses/swypes.

    :seye:


  • Impossible Mission Players - A

    No idea how that happened. It said "Literally four" in the editor when I hit save!

    Edit: Actually no, it said Five. HOWTF did that happen at all?


    Filed under: The editor lies on mobile.


  • SockDev

    Unless you're on iOS in which case it's not different but magical and revolutionary.

    Also, on iOS, you tap the .?123 key, then long-press apostrophe until you get the alt bindings to appear, then tap. OK for one, annoying for three.


  • Impossible Mission Players - A

    @Arantor said:

    OK for one, annoying for three.

    Ah. For three at least I'm provided with

    Apparently my browser width is great enough to trigger the mid-desktop experience, and the custom bar appears there.


  • SockDev

    @Arantor said:

    Unless you're on iOS in which case it's not different but magical and revolutionary.

    Also, on iOS, you tap the .?123 key, then long-press apostrophe until you get the alt bindings to appear, then tap. OK for one, annoying for three.

    It's a similar process for WinPhone too



  • Jesus shut up about your shitty keyboard, I wanna hear Ascendant's WTF. Christ you idiots are intolerable.


  • Impossible Mission Players - A



  • If your app was completed by now, I wonder if it would have been used for this disaster even though it was technically a man-made disaster.

    On Friday, management where I work were pulled into this for our mapping expertise. That was before it went Federal, though.



  • @powerlord said:

    this disaster

    That's horrible. Thinking about those children, babies and pregnant women, I can't even find words.



  • Wow... didn't something ugly happened on Flint some time ago? A school shooting maybe?



  • @Eldelshell said:

    Wow... didn't something ugly happened on Flint some time ago? A school shooting maybe?

    This time they literally pumped the kids full of lead.

    Seriously though, lead pipes? What is this, ancient Rome?



  • @Eldelshell said:

    Wow... didn't something ugly happened on Flint some time ago? A school shooting maybe?

    Probably.

    Also Michael Moore filmed a bunch of documentaries there.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.