Cara membuat tugas teknis yang sederhana dan tidak kehilangan uang dan saraf

Halo, Habr! Saya membahas artikel ini untuk diri saya yang lebih muda dan tidak berpengalaman, serta kepada siapa pun yang merasa tidak pasti tentang pendekatan dokumentasi teknis. Meskipun jika dia membantu seseorang dari bison bisnis desain, saya akan sangat senang.

Ada banyak standar dan spesifikasi untuk penyusunan TK , tetapi jika studio muda, saat mengembangkan toko online sederhana, mencoba mematuhinya, maka mereka tidak akan punya waktu untuk mengimplementasikan beberapa proyek, karena mereka akan bangkrut, menggali ke dalam kumpulan dokumen yang tidak dapat dipahami.



Apa yang sebelumnya


Kami adalah perusahaan regional kecil yang bergerak dalam pengembangan web khusus, yang, seperti banyak perusahaan lainnya, pada awalnya mengambil proyek, tidak benar-benar tahu cara melakukannya. Tetapi "pertumbuhan paksa" seperti itu memiliki efek yang sangat positif pada anggota tim, berkat keinginan besar untuk berkembang, dan membantu memompa baik keterampilan maupun kepala. Pembangunan menjadi lebih baik, tetapi kerangka acuan tetap pada tingkat terendah. Seperti kebanyakan studio pemula, kami menggunakan pendekatan deskriptif biasa untuk TK: halaman mana, apa yang harus ditampilkan, beberapa poin teknis, dan mungkin itu saja.



Pada banyak proyek, ini menghasilkan masalah berikut:

  1. Penampilannya dijelaskan, tetapi bukan prinsip operasinya. Contoh sederhana dengan keranjang belanja online. Dalam pernyataan kerja, tombol "Tempatkan pesanan" ditulis. Tetapi apa yang harus terjadi ketika pengguna mengklik tombol ini? Dengan aturan apa nomor pesanan terbentuk? Status apa yang diberikan kepadanya? Kemana perginya forwarding? Dan jika salah satu barang terjual saat pengguna melakukan pemesanan? Tidak ada jawaban untuk ini dan banyak pertanyaan lain dalam Kerangka Acuan, tetapi ini hanya satu elemen kecil. Saat-saat yang tidak terdeskripsikan seperti itu menyebabkan perselisihan dengan Pelanggan, jalan keluar yang kuat dari anggaran dan konsekuensi tidak menyenangkan lainnya.
  2. Kurangnya blok yang dapat digunakan kembali. Banyak situs memiliki blok yang sama dengan yang digunakan di tempat yang berbeda, misalnya, pratinjau produk. Tapi blok ini sebagai hasilnya dijelaskan di setiap halaman. Ini sangat buruk karena beberapa alasan. Pertama, jika perlu, perubahan harus dilakukan di beberapa tempat sekaligus, Anda dapat kehilangan sesuatu dan akan ada perbedaan. Kedua, bahkan dengan elemen yang sama dalam pratinjau, pelanggan mungkin perlu membuatnya secara berbeda, yang memerlukan biaya tambahan.
  3. TK tidak berkorelasi dengan tugas untuk tim. Semakin jauh perumusan masalah dari kenyataan, semakin rendah kualitas output. Ini adalah masalah lain yang ingin saya pecahkan.

Pendekatan baru


Setelah menentukan tujuan, kami mengembangkan konsep baru, cukup sederhana, tetapi efektif.

TK terdiri dari bagian berikut:

  1. Pendahuluan
  2. Statika
  3. Dinamika
  4. Tugasnya
  5. Panel admin
  6. Persyaratan teknis umum

Dari proyek ke proyek, komposisi bagian-bagian ini dapat bervariasi, tetapi struktur dasarnya tetap. Mari kita lihat lebih dekat.

Pengantar dan persiapan untuk implementasi

  • Kami menjelaskan secara singkat proyek, tujuannya, CA, meninggalkan tautan ke analitik pra-proyek.
  • Kami menggambarkan proses inisialisasi proyek: menyiapkan lingkungan untuk pengembang dan pendekatan untuk mengembangkan konsep desain untuk desainer.
  • Prinsip-prinsip adaptasi atau versi. Baru-baru ini, dalam pekerjaan kami, kami mematuhi prinsip berikut - "sesuaikan semua yang beradaptasi". Dengan kata lain, pada awal pengerjaan TK, kami memahami fungsionalitas kompleks apa yang kami butuhkan (atau mungkin dibutuhkan dalam waktu dekat) dan, bersama dengan perancang dan pengembang front-end, menemukan cara untuk mengadaptasinya. Dengan pendekatan baru, tidak ada hasil negatif, oleh karena itu, versi yang terpisah tidak harus dijelaskan.

Bagian ini bertujuan untuk memberi informasi terbaru kepada tim dan menetapkan tahapan untuk pengembangan proyek yang segera.

Statika

Seperti kita ketahui, halaman dapat berisi informasi statis atau informasi dinamis yang dikirim dari server. Subbagian statis - halaman proyek. Kami memecah setiap halaman menjadi blok. Jika bloknya statis, maka kami uraikan esensinya dan jenis kontennya. Misalnya, deskripsi salah satu blok pada halaman Tentang Perusahaan mungkin terlihat seperti ini. “Keunggulan utama perusahaan. 5-6 ikon deskriptif. " Ini sangat singkat, tetapi cukup untuk penilaian yang akurat, deskripsi blok. Saat menggambarkan statika, tujuan utamanya adalah untuk menetapkan kerangka kerja yang jelas. Membuat ikon adaptif tidak sulit, tetapi dengan grafik atau tabel, semuanya tidak begitu sederhana dan tidak ambigu. Tetapi pada saat yang sama, tidak masalah ikon dan tanda tangan seperti apa yang akan ada.

Jika halaman berisi blok yang dapat "dikeluarkan dari kurung", maka di tempat integrasinya kita menulis "Fungsionalitas NAME sedang terintegrasi, dan fungsionalitas itu sendiri dijelaskan di bagian Dynamics.

Selain halaman, Statika mencakup deskripsi pop-up dan huruf. Menurut pendapat saya, tidak masuk akal untuk menempatkan mereka di bagian besar yang terpisah dan mengembang struktur.

Dinamika

Segala sesuatu yang berhubungan dengan dinamika yang kita sebut fungsional. Mungkin beberapa divisi lain akan muncul nanti, karena Sudah ada di sini berbagai jenis tugas termasuk:

  1. Blokir Kami membuat dinamika:
    • Blok yang digunakan di berbagai bagian situs.
    • Blok yang masuk akal untuk dievaluasi secara terpisah. Pertama, ini menyederhanakan proses evaluasi itu sendiri dan pemahaman pelanggan tentang kompleksitas elemen individu. Kedua, blok yang tidak vital untuk suatu proyek sering masuk dalam kategori ini, dan dengan pendekatan ini lebih mudah untuk mengeluarkan mereka dari anggaran.
    • Proses yang terjadi selama tindakan pengguna tertentu. Pertama-tama, ini termasuk tindakan yang terjadi ketika melakukan pemesanan, membayar, menambah keranjang, dll. Fungsionalitas seperti itu selama pengembangan proyek sering diselesaikan, dan dengan demikian perbaikan ini jauh lebih mudah untuk digambarkan.
    • Integrasi layanan pihak ketiga. Bergantung pada kompleksitas integrasi, ini dapat digambarkan sebagai satu fungsional, atau sebaliknya dibagi menjadi banyak yang berbeda untuk menggambarkan permintaan individual.

Tugasnya

Bagian ini digunakan untuk pekerjaan yang tidak dapat dikaitkan dengan bagian lain mana pun: menggambar spanduk, mengatur penghitung metrik, barang parse, dll.

Panel admin

Di sini kami menjelaskan struktur, model, dan bidang. Rincian dibagi menjadi beberapa bagian, misalnya, "Produk", "Katalog", "Pesanan", dll. Kami menjelaskan bahwa peran pengguna yang berbeda dapat melihat apa yang akan diedit.

Persyaratan teknis umum

Ini mencakup beberapa subbagian, tidak semuanya merupakan persyaratan teknis, tetapi sekali lagi tidak masuk akal untuk memisahkannya:

  1. Tag SEO dan persyaratan markup mikro
  2. Aturan Transliterasi
  3. Pengujian manual dan otomatis
  4. Browser yang Didukung
  5. ...

Versi baru


Saat menjelaskan versi baru, perlu untuk membuat perubahan pada elemen yang ada. Kami mempertimbangkan cara-cara berikut untuk menggambarkan perbaikan: pada awal setiap bagian (Statika, Dinamika, AP) tulis "Peningkatan fungsional" NAMA ", atau buatlah bagian terpisah" Perbaikan "di mana semua tugas yang berubah akan dibuang sekaligus. Sejauh ini kami telah menentukan pilihan kedua, tetapi ini agak terhubung dengan kenyamanan pada proyek tertentu. Dalam kondisi lain, metode pertama lebih baik.

Setelah menulis spesifikasi teknis untuk versi baru, kami menggabungkannya menjadi satu sehingga selanjutnya dapat ditulis berdasarkan satu dokumen.

Contoh


Untuk lebih jelasnya, mari kita menganalisis struktur TK berdasarkan halaman yang disederhanakan di bagian katalog.

Statika


Direktori Bagian Halaman

Digunakan untuk menampilkan barang-barang milik bagian katalog dari tingkat apa pun kecuali root.

Fungsi berikut terintegrasi:

  1. "Remah roti"
  2. "Pohon Direktori"
  3. "Penyaringan. Ketentuan Umum ”
  4. "Penyaringan. Teks ”
  5. "Penyaringan. Teks dan Gambar ”
  6. "Penyaringan. Rentang "
  7. “Sortir. Secara default ”
  8. “Sortir. Harga naik “
  9. “Sortir. Harga Turun ”
  10. "Pratinjau produk. Tile ”
  11. “Pagination. Halaman ”
  12. "Blok teks". Terintegrasi sebagai blok untuk teks SEO di depan ruang bawah tanah

URL: / c / 1745-name, di mana 1745 adalah id dari kategori direktori saat ini, dan nama adalah nama transliterasi dari kategori ini.

Dinamika


Karena halaman berisi banyak integrasi, saya akan memberikan contoh untuk dua yang paling menarik dari mereka.

Fungsi “Penyaringan. Ketentuan Umum ”

Secara eksternal, pemfilteran adalah serangkaian (atau beberapa baris) tombol dengan nama filter. Ketika Anda mengklik tombol, daftar drop-down terbuka dengan kotak centang dengan nilai filter (nilai dari karakteristik produk yang sesuai). Lebar daftar drop-down tergantung pada panjang maksimum nilai dalam daftar ini. Di area daftar drop-down yang terlihat, tidak lebih dari 10 item ditampilkan. Jika ada lebih banyak nilai filter, bilah gulir muncul. Di bawah nilai filter adalah tombol Terapkan. Jika setidaknya satu nilai dipilih dan pengguna mengklik tombol Terapkan, di luar area filter atau tombol dengan nama filter, maka:

  • daftar drop-down ditutup dan filter diterapkan. Hanya produk yang sesuai dengan filter aktif saat ini yang tersisa di bagian saat ini
  • nama tombol filter mengambil bentuk: "Nama filter: K", di mana K adalah jumlah nilai filter yang dipilih, jika ada 2 atau lebih, atau "Nama filter: nilai" jika satu nilai dipilih.
  • warna tombol filter berubah menjadi tipe filter yang digunakan
  • dalam nilai filter lain, hanya opsi yang memenuhi filter aktif saat ini tetap. Jika satu nilai tetap di salah satu filter tidak aktif, tombolnya menjadi tidak aktif, dan namanya ditampilkan dalam format "Nama filter: nilai"
  • untuk semua filter aktif, tanda silang ditambahkan setelah nama, saat diklik, hanya filter ini yang diatur ulang
  • pagination diatur ulang

Jika setidaknya satu filter aktif, setelah semua tombol dengan filter, tombol "reset filter" muncul, ketika diklik, nilai semua filter diatur ulang.

Saat beralih dari kategori saat ini ke yang lain, pemeriksaan dilakukan untuk kebetulan filter aktif dan nilai-nilai yang dipilih di dalamnya dengan filter yang sesuai dan nilai-nilai kategori yang digunakan untuk transisi. Dalam kategori yang baru dipilih, filter tersebut dan nilai yang dipilih di dalamnya yang sama tetap aktif.

Penyaringan dapat diintegrasikan dalam 2 cara: dinamis dan statis. Integrasi dinamis memungkinkan Anda mengatur karakteristik penyaringan yang dilakukan di panel administratif. Integrasi tersebut ditunjukkan tanpa parameter tambahan. Integrasi statis diterapkan ke halaman secara default. Saat menjelaskan integrasi, parameter tambahan diindikasikan - karakteristik yang digunakan penyaringan.

Filter yang dipilih ditambahkan ke URL melalui parameter kueri.

Fungsionalitas “Pratinjau produk. Tile ”

Ini adalah ubin (persegi panjang) dengan informasi produk paling penting bagi pengguna. Dalam versi ubin, informasi utama adalah gambar produk. Pratinjau berisi:

  1. Harga (bilangan bulat dalam rubel Rusia)
  2. Nama produk
  3. Label "Di toko" atau "Dari jendela"
  4. Gambar
  5. Ukuran
  6. Tombol "Ke Troli" (Integrasi fungsi "Tambahkan ke Troli")
  7. Tombol “Tambah ke Favorit” (Integrasi fungsi “Tambahkan ke Favorit”)

Ketika Anda mengklik area mana pun dari pratinjau, selain tombol "Tambahkan ke Troli", Anda akan dibawa ke halaman produk.

Pada satu baris harus ditempatkan 3-4 ubin dengan pratinjau produk.

Seperti yang Anda lihat, fungsi lain terintegrasi ke dalam fungsional ini, yang memungkinkan Anda untuk membuat partisi yang sangat nyaman. Misalnya, "Tambahkan ke Troli" dan "Tambahkan ke Favorit" juga digunakan di peta produk.

Panel admin


Satu halaman membutuhkan sejumlah besar bagian dari AP, saya akan menjelaskan salah satunya.

Produk

Daftar semua produk dengan penyaringan. Saat mengedit / menambahkan item, bidang-bidang berikut tersedia:

  1. Judul (teks)
  2. Merek (radio)
  3. Gambar
  4. Harga (bilangan bulat)
  5. Deskripsi (blok teks)
  6. Jenis (toko / showcase, radio)
  7. Ketentuan Artinya meliputi Judul (teks) dan Penjelasan (teks).
  8. Status Opsinya adalah:
    1. dijual
    2. pada moderasi
    3. dalam revisi
    4. ditolak
    5. terjual habis
    6. pemeriksaan gagal
    7. dibatalkan oleh penjual
  9. Ukuran tag (opsional). Bidang teks tanpa validasi
  10. ...

Ada lebih dari 30 bidang dan, agar tidak mengembang artikel, kami mengabaikannya.

Kesimpulan


Keuntungan dari pendekatan baru:

  1. Kelengkapan . TK ini memungkinkan Anda untuk dengan jelas menggambarkan persyaratan, yang merupakan parameter utama dan perlu dari setiap TK.
  2. Kejelasan . Sekitar setengah dari pelanggan kami tidak memiliki spesialis teknis di pihak mereka dan dihadapkan dengan pengembangan untuk pertama kalinya. Karena itu, sangat penting untuk membuat TK sejelas dan semudah mungkin dibaca. Dan kami berhasil! Bahkan pelanggan yang mengerti teknologi tidak mengerti cara kerjanya, mereka dapat dengan mudah membacanya dan memberikan umpan balik yang sangat baik.
  3. Molekul TK sepenuhnya mematuhi persyaratan kami untuk membagi menjadi elemen-elemen individual, yang sangat menyederhanakan dan menyelesaikan masalah yang dijelaskan di atas. Blok TK secara langsung sesuai dengan tugas-tugas yang dilakukan oleh pengembang, yang disambut dengan keras. TK juga sangat cocok dengan sistem desain (artikel tentang itu akan dirilis minggu depan).
  4. Kemudahan estimasi dan konfigurasi biaya . Tugas yang digambarkan dengan baik dan rusak telah menjadi sederhana dan menyenangkan untuk dievaluasi. Jika selama penilaian kami memahami bahwa persyaratannya tidak lengkap, maka kami menambahkannya. Untuk setiap proyek (tahap), kami membuat tabel Google di mana pelanggan dapat mencoba konfigurasi proyek yang berbeda dan menentukan opsi yang paling cocok untuk dirinya sendiri dengan harga / fungsionalitas.
  5. Interaksi pelanggan telah meningkat ke tingkat yang baru . Perubahan yang dibuat memungkinkan Anda untuk dengan jelas menentukan batas-batas proyek. Jika diperlukan perubahan terkait TK, ini dinilai sebagai tugas baru, meskipun dengan pendekatan lama ini menimbulkan banyak kontroversi.
  6. Profitabilitas . Karena ini terutama bisnis, indikator ini, bersama dengan yang sebelumnya, adalah salah satu yang paling penting. Sebuah studi terperinci memungkinkan untuk meminimalkan jumlah tugas yang dinilai buruk. Tak satu pun dari proyek yang dilaksanakan dengan pendekatan baru memiliki kelebihan anggaran.

Cons:

  1. Melakukan perbaikan . Di salah satu proyek itu perlu untuk memperkenalkan status barang. Akibatnya, sejumlah besar perbaikan 2-3 baris ternyata. Ini tidak bisa disebut minus yang jelas, karena kelengkapan persyaratan adalah prioritas, tetapi pendekatan data yang ideal tidak bisa disebut.
  2. Kompleksitas persepsi dalam otomatisasi proses bisnis . Jika Anda mengambil proses bisnis dari beberapa perusahaan dari saat penjualan hingga penerimaan barang oleh pembeli, tidak selalu ada kemungkinan (atau kebutuhan pada tahap pertama) untuk mencakup keseluruhan proses dengan mengorbankan Statika, Dinamika dan AP, karena banyak tugas dilakukan secara manual, dibahas dengan pelanggan melalui telepon, dll. Ini sedikit mempersulit persepsi TK dalam bentuk murni, dan memerlukan deskripsi tambahan dari proses.
  3. Biaya dan waktu pengembangan . Menjual TK, tentu saja, menjadi lebih sulit, karena tidak semua orang pada kontak pertama dengan pengembangan bersedia membayar 10-20% dari proyek untuk itu, sementara banyak dari pesaing kami mengenakan biaya 10-20 ribu untuk itu. Tetapi pekerjaan seperti itu sepenuhnya terbayar selama implementasi, mengurangi risiko proyek dan peningkatan kualitas.

Keuntungan dari pendekatan baru ini memiliki efek yang sangat positif pada semua aspek pekerjaan kami dan membantu mengidentifikasi kelemahan yang sebelumnya tidak kami perhatikan. Kontra, meskipun ada, tidak signifikan, terutama dibandingkan dengan pro.
Setiap proyek membawa sesuatu yang baru, memoles sudut dan memungkinkan Anda untuk mengubahnya menjadi lebih baik.

Kami sangat senang dengan hasilnya sehingga kami memutuskan untuk meninggalkan tasktracker standar demi menyelesaikan Google Documents untuk sepenuhnya bekerja dengan tugas berdasarkan TK. Jika percobaan berhasil, kami akan menulis artikel terpisah tentang itu. Sementara itu, kami sedang menunggu kritik dan saran yang objektif dari Anda, dengan harapan artikel ini telah membantu seseorang).

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


All Articles