Δεν είναι κάθε πρόβλημαμια ιστοσελίδα.
Ο υπόλοιπος ιστότοπος κοστολογεί δουλειά web, όπου το σχήμα είναι αρκετά προβλέψιμο ώστε να δημοσιεύεται κλίμακα. Αυτή η σελίδα είναι για όλα τα άλλα που φτιάχνουμε — το εσωτερικό εργαλείο πάνω στο οποίο δουλεύει μια εταιρεία και δεν το έχει κοστολογήσει ποτέ, αλλά εξίσου και τη δουλειά που δεν είναι καν επιχειρησιακό σύστημα: λογισμικό που πρέπει να είναι αρκετά γρήγορο πάνω στο υλικό για να χρησιμοποιείται, ή αριθμητικά σωστό, ή να μιλάει με μια συσκευή. Δεν υπάρχει νούμερο εδώ γιατί το ορίζει το πρόβλημα, και ένα κατώτατο ποσό δημοσιευμένο πριν καταλάβουμε το πρόβλημα είναι εικασία με σύμβολο ευρώ μπροστά.
Τι καλύπτει
Γραμμένο όπως έρχεται πραγματικά η δουλειά, όχι σαν κατάλογος. Ένα μέρος του είναι συνηθισμένο επιχειρησιακό λογισμικό και ένα μέρος δεν είναι· ο λόγος που βρίσκονται στην ίδια σελίδα είναι ότι από κάτω τους υπάρχει η ίδια πειθαρχία.
Το εργαλείο πάνω στο οποίο δουλεύει η επιχείρηση
Η εσωτερική εφαρμογή που ανοίγουν οι άνθρωποί σας κάθε πρωί: οι εγγραφές, οι καταστάσεις από τις οποίες περνούν, ποιος επιτρέπεται να αλλάξει τι, και η αναφορά που κάποιος την ξαναφτιάχνει στο χέρι κάθε μήνα. Χτισμένη γύρω από τη διαδικασία όπως γίνεται στην πράξη, όχι γύρω από ένα διάγραμμα βάσης. Επιφάνεια εργασίας ή browser, ό,τι είναι πραγματικά σωστό — και όπου ο browser είναι λάθος, το λέμε αντί να σας τον σπρώξουμε.
Το σύστημα που ξεπέρασε το λογιστικό φύλλο
Δούλευε μέχρι να χρειαστεί να είναι ανοιχτό σε δύο σημεία ταυτόχρονα, μέχρι να σπάσει σιωπηλά ένας τύπος, μέχρι να μην μπορεί κανείς να πει ποιο αντίγραφο ισχύει. Ίδιοι κανόνες και ίδια νούμερα, τώρα με λογαριασμούς, ιστορικό και μια έκδοση που δεν σβήνεται κατά λάθος — μαζί με τις συνδέσεις προς ό,τι άλλο ήδη τρέχετε, ώστε μια παραγγελία να πάψει να ξαναγράφεται από το ένα σύστημα στο άλλο.
Δουλειά που πρέπει να είναι γρήγορη
Υπολογισμοί που παίρνουν ώρες στον επεξεργαστή και λεπτά στην κάρτα γραφικών που ήδη κάθεται μέσα στο μηχάνημα. Γραμμένοι για τη συσκευή και όχι για την ιδέα που έχει ένα framework γι’ αυτήν: η κίνηση της μνήμης σχεδιασμένη, η δουλειά κομμένη στο μέγεθος του υλικού, και οι χρόνοι μετρημένοι αντί για υποτιθέμενοι. Η ταχύτητα είναι αποτέλεσμα μηχανικής, όχι ρύθμιση που ξέχασε κάποιος να ανοίξει.
Δουλειά που πρέπει να είναι σωστή
Λογισμικό που υπολογίζει αντί να καταγράφει — προσομοίωση, μοντελοποίηση, ανάλυση, οτιδήποτε βγάζει έναν αριθμό πάνω στον οποίο θα ενεργήσει κάποιος. Αυτό που μετράει δεν είναι ποτέ η εικόνα από πάνω: είναι να ξέρεις πού χάνει ακρίβεια η μέθοδος, να ελέγχεις τη γρήγορη υλοποίηση απέναντι σε μια αργή που είναι γνωστό ότι είναι σωστή, και να μπορείς να πεις γιατί η απάντηση είναι η απάντηση.
Προβλήματα χωρίς προφανή απάντηση
Χρονοπρογραμματισμός, δρομολόγηση, διάταξη, κατανομή, σχεδιασμός με περιορισμούς — εκεί όπου η καλή απάντηση δεν βρίσκεται δοκιμάζοντας τα πάντα και η προφανής προσέγγιση επιστρέφει σιωπηλά μια κακή. Είναι λυμένα πεδία με πραγματική βιβλιογραφία από πίσω, και η διαφορά ανάμεσα σε εργαλείο και επίδειξη είναι αν οι δύσκολες περιπτώσεις αντιμετωπίστηκαν ή απλώς θεωρήθηκαν απίθανες.
Κοντά στο μηχάνημα
Λογισμικό σε επίπεδο συστήματος, εκεί όπου ένα runtime και ένας συλλέκτης σκουπιδιών είναι το πρόβλημα και όχι η ευκολία: εργαλεία γραμμής εντολών, υπηρεσίες που τρέχουν συνεχώς, διεργασίες και σωληνώσεις και μνήμη που τα χειρίζεσαι επίτηδες. Το ίδιο έδαφος καλύπτει και υλικό που στέλνει δεδομένα — έναν αισθητήρα, ένα όργανο, μια συσκευή σε μια θύρα — να διαβάζεται, να αποκωδικοποιείται και να φτάνει μπροστά σε άνθρωπο όσο ακόμη ισχύει.
Πώς τρέχει
Η σειρά μετράει εδώ περισσότερο από οπουδήποτε αλλού σε αυτόν τον ιστότοπο. Κάθε αποτυχημένο έργο λογισμικού που μας ζητήθηκε να σώσουμε είχε κοστολογηθεί πριν προδιαγραφεί.
- [ 01 ]
Ανάλυση
Καθόμαστε με τη δουλειά όπως γίνεται σήμερα — τα πραγματικά κλικ, τις πραγματικές εξαιρέσεις, το βήμα που όλοι το παρακάμπτουν. Πληρωμένη, και σύντομη. Ό,τι βγει είναι δικό σας είτε χτίσουμε κάτι είτε όχι, μαζί με το ενδεχόμενο συμπέρασμα ότι δεν πρέπει.
- [ 02 ]
Προδιαγραφή, και η μέθοδος
Γραπτό αντικείμενο: τι κάνει, τι σκόπιμα δεν κάνει, τι συμβαίνει όταν το καθένα αποτύχει, και τι πρέπει να ισχύει για να θεωρηθεί τελειωμένο — που σε τέτοια δουλειά περιλαμβάνει και την ίδια την προσέγγιση, ονομασμένη και αιτιολογημένη, γιατί η επιλογή μεθόδου είναι απόφαση με συνέπειες και όχι λεπτομέρεια υλοποίησης. Το ποσό βγαίνει από αυτό το έγγραφο, και βγαίνει μετά από αυτό. Ό,τι προστεθεί αργότερα κοστολογείται πάνω του αντί να απορροφηθεί σιωπηλά.
- [ 03 ]
Παράδοση σε στάδια, ελεγμένη απέναντι σε κάτι γνωστό
Παραδίδεται σε στάδια που τα ανοίγετε και τα χρησιμοποιείτε, με σειρά που βάζει πρώτο στα χέρια σας το επώδυνο κομμάτι. Όπου η δουλειά έχει σωστή απάντηση, ελέγχεται απέναντι σε κάτι που ήδη ξέρουμε ότι είναι σωστό, στις δύσκολες περιπτώσεις και όχι στις βολικές. Ποτέ δεν σας ζητείται να εγκρίνετε την περιγραφή κάποιου που δεν έχετε δει να τρέχει.
- [ 04 ]
Παράδοση και συντήρηση
Ο κώδικας, η εγκατάσταση, τα διαπιστευτήρια και ένας γραπτός χάρτης του τι τρέχει πού — παραδοτέα με την παράδοση, όχι κρατημένα ως μοχλός πίεσης. Μετά συντηρείται: το ίδιο συμβόλαιο που κρατάει έναν ιστότοπο κρατάει και αυτό, γιατί λογισμικό που δεν το ενημερώνει κανείς είναι λογισμικό που σταματάει.
Ισχύει για κάθε έργο
Προδιαγραφή πριν από ποσό
Δεν δίνουμε νούμερο για δουλειά που δεν έχει περιγράψει κανείς από τους δύο μας ακόμη. Μια προσφορά πριν από την ανάλυση είναι είτε φουσκωμένη έναντι του αγνώστου είτε έτοιμη να γίνει αίτημα αλλαγής, και τα δύο τα πληρώνετε εσείς.
Ο κώδικας είναι δικός σας
Πηγαίος κώδικας, αποθετήριο, εγκατάσταση και δεδομένα. Κανένα κομμάτι δεν σας παραχωρείται με άδεια χρήσης, και τίποτα δεν σχεδιάζεται ώστε η αποχώρηση να κοστίζει περισσότερο από την παραμονή. Αν το πάτε αλλού τον τρίτο χρόνο, φεύγει μαζί σας.
Τα δεδομένα σας βγαίνουν
Εξαγώγιμα σε μορφή που τη διαβάζει και κάτι άλλο, από την πρώτη μέρα, χωρίς να μας ρωτήσετε. Ένα σύστημα από το οποίο βγαίνεις μόνο με το χέρι είναι σύστημα εγκλωβισμού, ό,τι κι αν λέει το συμβόλαιο.
Γραμμένο, όχι θυμημένο
Πώς δουλεύει, πώς εγκαθίσταται, από τι εξαρτάται και τι κάνεις όταν μια εργασία αποτύχει — μέσα στο αποθετήριο, όχι στο κεφάλι κάποιου. Αυτή είναι η διαφορά ανάμεσα σε λογισμικό που έχετε και λογισμικό για το οποίο νοικιάζετε έναν άνθρωπο.
Επιλεγμένο ώστε ο δεύτερος χρόνος να μην είναι ξαναγράψιμο
Βαρετά, καλά υποστηριγμένα θεμέλια αντί για ό,τι είναι της μόδας, και οι αρμοί εκεί όπου είναι πιθανότερο να αλλάξει η επιχείρηση. Τα περισσότερα ξαναγραψίματα δεν τα προκαλεί η ανάπτυξη· τα προκαλεί μια συντόμευση του δεύτερου μήνα.
Συντηρείται από τα ίδια χέρια
Όσοι το έχτισαν είναι όσοι απαντούν όταν στραβώσει. Τίποτα δεν παραδίδεται σε ένα τμήμα υποστήριξης που δεν το έχει διαβάσει ποτέ, και δεν υπάρχει άλλη ομάδα να την ενημερώνετε με δικά σας έξοδα.
Ερωτήσεις
Γιατί δεν υπάρχει τιμή σε αυτή τη σελίδα;
Επειδή κάθε άλλη σελίδα εδώ δημοσιεύει ένα ποσό που το στηρίζουμε πριν καν σας γνωρίσουμε, και αυτή είναι η μία όπου δεν μπορούμε. Δύο έργα που περιγράφονται με την ίδια πρόταση διαφέρουν κατά δέκα φορές, ανάλογα με το πόσες εξαιρέσεις έχει η διαδικασία και με τι πρέπει να μιλήσει. Αντ’ αυτού βάζουμε μπροστά μια μικρή, σταθερή, πληρωμένη ανάλυση, και το νούμερο που βγαίνει από την άλλη μεριά είναι πάνω σε γραπτή προδιαγραφή αντί για ευχή.
Σε τι διαφέρει από τη web εφαρμογή της κλίμακας;
Η κλίμακα είναι για λογισμικό που η μπροστινή του πόρτα είναι ιστότοπος — δημόσιο site με λογαριασμούς, περιεχόμενο και εγγραφές από πίσω, και τα σκαλιά της τιμής είναι προβλέψιμα επειδή είναι προβλέψιμο και το σχήμα. Αυτό εδώ είναι για λογισμικό που η μπροστινή του πόρτα είναι η ίδια η δουλειά: εσωτερικό εργαλείο, σύστημα ανάμεσα σε συστήματα, κάτι χωρίς επισκέπτη. Όταν το έργο σας είναι στην πραγματικότητα το πρώτο, θα σας το πούμε, και θα πληρώσετε τη δημοσιευμένη τιμή αντί για τιμή κατά παραγγελία.
Μας ανήκει αυτό που φτιάχνετε;
Ναι, εξ ολοκλήρου, και αυτό περιλαμβάνει τον πηγαίο κώδικα, την εγκατάσταση και τα δεδομένα. Δεν σας παραχωρούμε τίποτα με άδεια χρήσης και δεν κρατάμε κομμάτι που μόνο εμείς μπορούμε να συντηρήσουμε. Η παράδοση είναι μέρος του έργου, όχι κάτι που διαπραγματεύεστε στο τέλος — και ο λόγος να μας κρατήσετε μετά πρέπει να είναι ότι είμαστε καλοί σε αυτό, όχι ότι η αποχώρηση κοστίζει.
Πώς ξέρετε ότι είναι σωστό;
Μη δεχόμενοι τον λόγο του ίδιου του λογισμικού. Όπου ένα πρόβλημα έχει σωστή απάντηση, η γρήγορη υλοποίηση ελέγχεται απέναντι σε μια πιο αργή που είναι προφανώς σωστή, με δεδομένα επιλεγμένα ώστε να περιλαμβάνουν τις εκφυλισμένες περιπτώσεις και όχι τις τακτοποιημένες. Όπου δεν υπάρχει μία σωστή απάντηση — σε ό,τι εκτιμά ή βελτιστοποιεί — υπάρχει μόνο μετρημένο ποσοστό σφάλματος πάνω σε δεδομένα που δεν χρησιμοποιήθηκαν για να φτιαχτεί, και γραπτή δήλωση του τι συμβαίνει όταν κάνει λάθος. Λογισμικό που δεν του έχει πει ποτέ κανείς τι κοστίζει το λάθος είναι συναρμολογημένο, όχι σχεδιασμένο.
Πόσο διαρκεί;
Η ανάλυση συνήθως μία με δύο εβδομάδες. Μετά, η ειλικρινής απάντηση είναι ότι μας το λέει η προδιαγραφή, ακριβώς γι’ αυτό υπάρχει — αλλά το πρώτο χρησιμοποιήσιμο στάδιο είναι σκόπιμα νωρίς, γιατί ένα έργο όπου τίποτα δεν χρησιμοποιείται για τρεις μήνες είναι ένα έργο όπου κανείς δεν καταλαβαίνει ότι κάτι πήγε στραβά πριν τον τρίτο μήνα.
Έχουμε ήδη κάτι και μισοδουλεύει. Από την αρχή;
Συνήθως όχι εξ ολοκλήρου. Διαβάζουμε πρώτα τι υπάρχει, γιατί ένα σύστημα σε παραγωγή κουβαλάει χρόνια αποφάσεων που δεν τις έγραψε κανείς, και πετώντας το πετάς και αυτές. Άλλοτε η απάντηση είναι ξαναγράψιμο, συχνά είναι διάσωση — τεστ γύρω από ό,τι μετράει, αντικατάσταση του χειρότερου αρμού, την τεκμηρίωση που δεν υπήρξε ποτέ. Θα σας πούμε ποιο από τα δύο, με λόγους, πριν ξοδέψετε το πρώτο ευρώ σε χτίσιμο.
Ποιος το κρατάει σε λειτουργία μετά;
Εμείς, με τα ίδια δημοσιευμένα συμβόλαια όπως όλα τα άλλα και τους ίδιους χρόνους απόκρισης. Λογισμικό που δεν ενημερώνεται ποτέ δεν μένει ακίνητο: οι εξαρτήσεις του παλιώνουν, τα πιστοποιητικά του λήγουν, και η βλάβη έρχεται τη μέρα που το χρειαζόσασταν. Αν προτιμάτε να το κρατήσετε μέσα στην εταιρεία, η γραπτή παράδοση είναι φτιαγμένη ακριβώς γι’ αυτό, και θα το παραδώσουμε σωστά στους ανθρώπους σας αντί να το θεωρήσουμε απώλεια.
Ξεκινήστε από τη διαδικασία που σας κοστίζει μια μέρα την εβδομάδα.
Χωρίς πίεση πώλησης και χωρίς τυποποιημένη προσφορά. Πείτε μας τι θέλετε να φτιάξετε και θα πάρετε μια ειλικρινή τεχνική εκτίμηση και ένα ξεκάθαρο επόμενο βήμα.