Özellik ve İşlev [kapalı]


16

Genelde PM'lerin (Proje Yöneticileri) özellik ve işlev hakkında konuştuğunu duyuyorum. Ve onları ayırt etmek için çok şaşkınım. Bazen bir özelliğin bir kullanıcı hikayesine eşdeğer olduğunu düşünüyorum. "Bir kullanıcı olarak, Bob ödemelerinin bir listesini görebilmeli" gibi bir şey ve buna bir özellik diyorlar. Bazen "web uygulaması üzerinden SMS gönderme yeteneği" gibi bir alt sistem kadar büyür. Öte yandan işlev bazen bir görev kadar küçük olur, "sayı girişleri için rakam gruplaması uygulamak", bir bütün CRUD operasyonu kadar büyüdüğü durumlar vardır.

Benim sorum, özelliği fonksiyondan nasıl ayırabiliriz?


9
Bu kadar takıntılı olmazdım. Her ikisi de 'programın şu ya da bu şeyi yapabilmesi' anlamına gelir; bir proje yöneticisi bir ayrım yaparsa, muhtemelen kişiseldir ve sadece niyeti çıkarmak için satırları okumalısınız.
tdammers

8
Veya sadece her birinin tanımını isteyin. Muhtemelen ikisini gevşek eşanlamlılar olarak kullanıyorlar.
Péter Török

Mermi puanları ve değer
Erik Reppen

Yanıtlar:


35

Özellikler satış insanlar tarafından satılan öğelerdir.
Fonksiyonlar programcıların geliştirdiği şeydir.


4
İyi, akılda kalıcı, ayırt edilebilir cevap.
Saeed Neamati

@RobertHarvey Bu yanıta karşı özel bir tartışmanız var mı?
Zibbobz

@Zibbobz: Yani genel olarak bilgi vermiyor mu? Ayrıca, soruya uygulanan yakın oylara dikkat edin.
Robert Harvey

8

İşlevler, bir kullanıcı hikayesinin içeriğine tam olarak uymaz ve çoğunlukla bir kullanıcı için şeffaftır. Bir arka uç işlemi veya başka özelliklerin veya muhtemelen diğer işlevlerin uygun şekilde uygulanmasını sağlayan bir tür benzersiz veya ortak uygulama işlevselliği olabilir.

Öte yandan görevler, bir özellik veya işlev sunmak için tamamlanması gereken ayrı çalışma birimleridir.

Projelerimde bir Özellik ile İşlev arasında ayrım yapmama eğilimindeyim ve özellikler için kullanıcı hikayeleri yazıyorum ve tek bir özelliği tamamlamak için Görevler olarak işlevler veya yeniden düzenleme çabaları ekliyorum.

Bu bazen belirli özelliklerin proje planında gereksiz yere şişirilmiş görünmesini sağlar, ancak bu tamamdır, çünkü İşlev 1 ve 2 ve İşlev 3'ün Özellik 1'i düzgün bir şekilde sunmak için yeniden düzenlenmesi gerekiyorsa, belki de bu sprint için tek çıktım Özellik 1 olacaktır veya muhtemelen hiç teslim edilebilir.

Sprint sonunda hala çalışan bir yazılımım olduğu sürece projem Agile.


6

Programınızın yapabileceği özelliklerdir. Özellikler, kullanıcı gereksinimlerinin ve iş hedeflerinin doğrudan bir sonucudur. Bu nedenle, bir programın özellikleri esas olarak kullanıcı taleplerini karşılamak için mevcuttur .

Diğer yandan işlevsellik, yukarıda bahsedilen özelliklerin gerçekte nasıl uygulandığıdır .


2

Bir PM için "İşlev" amaçtır ve "Özellik", kullanıcının etkileşimde bulunabileceği bir ürün davranışıdır. Ancak insanlar genellikle ikisini geriye doğru alırlar (ki bence sorunuzda bu durum söz konusudur).

Beni A noktasından B noktasına götürmek bir arabanın temel işlevidir. Var olmasının nedeni (amacı). Direksiyon simidi, vites kolu gibi bir özelliktir. Sürücü, bir yere gitme işlevini elde etmek için çoklu özelliklerle etkileşime girer.

Burada "İşlev" should not bir programlama dili fonksiyonu (yöntemi) bir özellik yazılımın uygulanması konusunda görüşmeler ile karıştırılmamalıdır. Büyük olasılıkla bir PM'nin "Özellikler ve İşlevler" den bahsettikleri şeyden bahsetmemesi muhtemeldir.

Birden fazla ürün işlevini desteklemek için bir özellik kullanılabileceğinden, işlevler ve özellikler için hoş bir hiyerarşi yoktur.


0

Belirli bir metodoloji veya belirli bir gereksinim kültürü için doğru bir ayrım yapılması gerektiğine inanıyorum. Aşağıdaki benim kendi yorumum.

İşlev: Yazılımın değerini önemli ölçüde etkileyen, kullanıcının belirli bir sürümde olması gereken temel gereksinim. Örnek: Metin düzenleyicide kaydetme işlevi.

Özellik: Yazılıma değer katan ancak yazılımın düzgün çalışması ve işlevlerini yerine getirmesi için mutlak bir zorunluluk olmayan bir yazılım yeteneğine sahip olmak güzel. Örneğin, veri giriş formunda geri alma özelliğine sahip olun veya bir belgeyi bir metin düzenleyici (kablolu!) İçin gif dosyası olarak kaydedin.


1
Bunları nereden aldığınızı bilmiyorum, ancak IMHO'nun işlev ve özelliklerin en olağan tanımları önem üzerinde bir ayrım yapmıyor .
Doc Brown

Yorumunuz için cevap verdim.
NoChance

-1

Her özelliğin arkasında, kullanıcıya özelliğin amaçlanan amacını sağlamak için gereken işlevler bulunur.

Örnek: Bir üniversitenin kayıt sistemi "derslere öğrenci kayıtları" özelliğine sahip olacaktır. Bu görev, bir veritabanına erişimin yanı sıra oldukça fazla işlevsellik gerektirir. Özelliğin tasarımı, kullanıcının asıl görevini anlamayı içerecektir - sınıflara kaydolma. Bu, kullanıcıların görevini kolaylaştırmak için gerekli olan "etkileşim tasarımı" için bir önkoşuldur. Bu işlevsellik, etkileşim gereksinimlerini uygulamak için tasarlanacaktır.

Programcılar kodlanacak işlevleri arıyor. Etkileşim tasarımcıları, yazılımın kullanıcı ile etkileşiminin tasarımı yoluyla bu gerekli işlevselliği sağlamanın en iyi yolunu arıyorlar. Kullanıcının amacına en iyi şekilde nasıl ulaşabileceğini anlamak önce gelir. Gerekli işlevselliğin tanımlanması aşağıdadır.

Yukarıdakiler bilimsel değil, sadece benim düşüncem.


2
Stack Exchange Programmers'a ilk yazınızı eklediğiniz için teşekkür ederiz. Nasıl oy alacak ve itibarınızı artıracak soru ve cevapları nasıl yazacağınız konusunda fikir edinmek için lütfen SSS programmers.stackexchange.com/faq adresine bakın .
DeveloperDon

-1

Ürün fonksiyonları ile ürün özellikleri arasındaki ayrımı hatırlamak önemlidir. Fonksiyonlar “ürünün kullanıcı görevleri setine cevabıdır”; özellikleri, işlevleri yerine getirmek için kullanılan üründe bulunan "kullanıcı araçları" dır. Telefon görüşmesi yapmak bir işlevdir; çevir sesi ve dokunma tonlu tuş takımı işlevi gerçekleştirmek için kullanılan özelliklerdir.


-2

Terimler genellikle bazı bağlamlarda birbirinin yerine kullanıldığından takıntı yapmaya değmeyeceğine katılıyorum. Yine de daha geniş yönetim bağlamında bazı önemli noktalar olduğunu düşünüyorum. İlk olarak, PM aynı zamanda ürün yöneticisi anlamına da gelebilir. Pazarın fiyat, teslim tarihi ve özelliklerinde neyi destekleyeceğine karar vermekle yükümlü olmak gerekir. Genelde bu özelliğin pazarlama bağlamında tercih edildiğini görüyorum. Proje yöneticisinin rolü, projeyi istenen ürünün zamanında ve bütçe dahilinde teslim edileceği şekilde yönetmektir. Mimar ve tasarımcılara bu özellik verilir ve veri organizasyonunda veri dönüşümü ve depolaması sunan teslim edilen işlevler olarak düşünülebilir, ancak tasarım geliştiricilere atanabilecek temsilci özellikli iş birimlerine indirilene kadar yeniden birleştirilmelidir. . Genellikle bir özelliğin makine sistemindeki bir dizi işleve temiz bir şekilde eşleşmemesi söz konusudur. Örneğin, hızlı ve güvenli tüketiciler tarafından istenen özelliklerdir, ancak kodda ayrılamazlar. Bu ortaya çıkan özellikler, fonksiyonel olmayan gereksinimleri karşılamayı zorlaştıran özelliklerdir.


bu yazıyı okumak oldukça zor (metnin duvarı). Sakıncası var düzenleyebilir daha iyi bir şekle ing?
gnat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.